Metadata-Version: 1.1
Name: Doorstop
Version: 1.5
Summary: "Requirements management using version control."
Home-page: http://doorstop.readthedocs.io/
Author: Jace Browning
Author-email: jacebrowning@gmail.com
License: LGPL
Description-Content-Type: UNKNOWN
Description: | |Build Status|
        | |Coverage Status|
        | |Scrutinizer Code Quality|
        | |PyPI Version|
        | |Best Practices|
        | |Gitter|
        
        Overview
        ========
        
        Doorstop is a `requirements
        management <http://alternativeto.net/software/doorstop/>`__ tool that
        facilitates the storage of textual requirements alongside source code in
        version control.
        
        When a project utilizes this tool, each linkable item (requirement, test
        case, etc.) is stored as a YAML file in a designated directory. The
        items in each directory form a document. The relationship between
        documents forms a tree hierarchy. Doorstop provides mechanisms for
        modifying this tree, validating item traceability, and publishing
        documents in several formats.
        
        Doorstop is under active development and we welcome contributions.
        
        The project is licensed as GPLv3.
        
        To report a problem or a security vulnerability please `raise an
        issue <https://github.com/jacebrowning/doorstop/issues>`__.
        
        Additional reading:
        
        -  publication: `JSEA
           Paper <http://www.scirp.org/journal/PaperInformation.aspx?PaperID=44268#.UzYtfWRdXEZ>`__
        -  talks:
           `GRDevDay <https://speakerdeck.com/jacebrowning/doorstop-requirements-management-using-python-and-version-control>`__,
           `BarCamp <https://speakerdeck.com/jacebrowning/strip-searched-a-rough-introduction-to-requirements-management>`__
        -  sample: `Generated
           HTML <http://jacebrowning.github.io/doorstop/index.html>`__
        
        Setup
        =====
        
        Requirements
        ------------
        
        -  Python 3.4+
        -  A version control system for requirements storage
        
        Installation
        ------------
        
        Install Doorstop with pip:
        
        .. code:: sh
        
            $ pip install doorstop
        
        or directly from source:
        
        .. code:: sh
        
            $ git clone https://github.com/jacebrowning/doorstop.git
            $ cd doorstop
            $ python setup.py install
        
        After installation, Doorstop is available on the command-line:
        
        .. code:: sh
        
            $ doorstop --help
        
        And the package is available under the name 'doorstop':
        
        .. code:: sh
        
            $ python
            >>> import doorstop
            >>> doorstop.__version__
        
        Usage
        =====
        
        Switch to an existing version control working directory, or create one:
        
        .. code:: sh
        
            $ git init .
        
        Create documents
        ----------------
        
        Create a new parent requirements document:
        
        .. code:: sh
        
            $ doorstop create SRD ./reqs/srd
        
        Add a few items to that document:
        
        .. code:: sh
        
            $ doorstop add SRD
            $ doorstop add SRD
            $ doorstop add SRD
        
        Link items
        ----------
        
        Create a child document to link to the parent:
        
        .. code:: sh
        
            $ doorstop create HLTC ./tests/hl --parent SRD
            $ doorstop add HLTC
        
        Link items between documents:
        
        .. code:: sh
        
            $ doorstop link HLTC001 SRD002
        
        Publish reports
        ---------------
        
        Run integrity checks on the document tree:
        
        .. code:: sh
        
            $ doorstop
        
        Publish the documents as HTML:
        
        .. code:: sh
        
            $ doorstop publish all ./public
        
        .. |Build Status| image:: http://img.shields.io/travis/jacebrowning/doorstop/master.svg
           :target: https://travis-ci.org/jacebrowning/doorstop
        .. |Coverage Status| image:: http://img.shields.io/coveralls/jacebrowning/doorstop/master.svg
           :target: https://coveralls.io/r/jacebrowning/doorstop
        .. |Scrutinizer Code Quality| image:: http://img.shields.io/scrutinizer/g/jacebrowning/doorstop.svg
           :target: https://scrutinizer-ci.com/g/jacebrowning/doorstop/?branch=master
        .. |PyPI Version| image:: http://img.shields.io/pypi/v/Doorstop.svg
           :target: https://pypi.org/project/Doorstop
        .. |Best Practices| image:: https://bestpractices.coreinfrastructure.org/projects/754/badge
           :target: https://bestpractices.coreinfrastructure.org/projects/754
        .. |Gitter| image:: https://badges.gitter.im/jacebrowning/doorstop.svg
           :target: https://gitter.im/jacebrowning/doorstop?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
        
        Revision History
        ================
        
        1.5 (2018-09-19)
        ----------------
        
        -  Added preliminary support for item headers
           (`@rickeywang <https://github.com/jacebrowning/doorstop/pull/285>`__
        -  Added major enhancements to the Desktop GUI.
           (`@elarivie <https://github.com/jacebrowning/doorstop/pull/290>`__)
        
           -  Converted document outline to a tree view.
           -  Made documents navigable via clicking links.
           -  Added an icon for Linux and Windows.
        
        -  Fixed duplicate headings when publishing.
           (`@guille-r <https://github.com/jacebrowning/doorstop/pull/302>`__)
        -  Added Python 3.7 support.
        
        1.4 (2017-10-22)
        ----------------
        
        -  Fixed issue running doorstop on CI.
           (`@ojohnny <https://github.com/jacebrowning/doorstop/pull/281>`__)
        
        1.3.1 (2017-08-26)
        ------------------
        
        -  Fixed templates location for installation issue.
        
        1.3 (2017-07-29)
        ----------------
        
        -  Updated HTML templates.
        -  Bug fixes.
        
        1.2.1 (2017-02-25)
        ------------------
        
        -  Fixed issue where could ``doorstop create`` deleting the whole
           project.
        
        1.2 (2017-02-11)
        ----------------
        
        -  Disabled excessive text cleanup in items.
           (`@michaelnt <https://github.com/michaelnt>`__)
        
           -  Running ``doorstop review all`` will be required due to whitespace
              changes.
        
        -  Added ``--no-levels={all,body}`` publishing options.
           (`@michaelnt <https://github.com/michaelnt>`__)
        -  Removed unnecessary line breaks (``<br>``) in generated HTML.
           (`@michaelnt <https://github.com/michaelnt>`__)
        -  **DEPRECATION WARNING:** ``--no-body-levels`` will not be supported
           in a future release.
        
        1.1 (2017-01-09)
        ----------------
        
        -  Added '--strict-child-check' option to ensure links from every child
           document.
        
        1.0.2 (2016-06-08)
        ------------------
        
        -  Moved the documentation to
           `ReadTheDocs <http://doorstop.readthedocs.io>`__.
        
        1.0 (2016-04-17)
        ----------------
        
        -  Fixed a bug checking levels across inactive items.
        -  Added error message for all IO errors.
        -  Added '--skip' options to disable documents during validation.
        -  Added Mercurial support. (`@tjasz <https://github.com/tjasz>`__)
        
        0.8.4 (2015-03-12)
        ------------------
        
        -  Restrict ``openpyxl < 2.2`` (there appears to be a breaking change).
        
        0.8.3 (2014-10-10)
        ------------------
        
        -  Fixed a bug running VCS commands in subdirectories.
        -  Excluded ``openpyxl == 2.1.0`` as a dependency version.
        
        0.8.2 (2014-09-29)
        ------------------
        
        -  Limit the maximum version of ``openpyxl`` to 2.1.0 due to deprecation
           bug.
        
        0.8.1 (2014-09-04)
        ------------------
        
        -  Fixed a bug requesting new item numbers from the server.
        
        0.8 (2014-08-28)
        ----------------
        
        -  Added ``doorstop clear ...`` to absolve items of their suspect link
           status.
        -  Added ``doorstop review ...`` to absolve items of their unreviewed
           status.
        -  Added ``Item.clear()`` to save stamps (hashes) of linked items.
        -  Added ``Item.review()`` to save stamps (hashes) of reviewed items.
        -  Added ``doorstop reorder ...`` to organize a document's structure.
        -  Renamed ``Item.id`` and ``identifer`` arguments to ``uid``
        -  Added '--no-body-levels' to ``doorstop publish`` to hide levels on
           non-headings.
        -  Added ``doorstop-server`` to launch a REST API for UID reservation.
        -  Added '--server' argument to ``doorstop add`` to specify the server
           address.
        -  Added '--warn-all' and '--error-all' options promote warnings to
           errors.
        
        0.7.1 (2014-08-18)
        ------------------
        
        -  Fixed bug importing items with empty attributes.
        
        0.7 (2014-07-08)
        ----------------
        
        -  Added ``doorstop delete ...`` to delete document directories.
        -  Added ``doorstop export ...`` to export content for external tools.
        -  Fixed ``doorstop publish ...`` handling of unknown formats.
        -  Added tree structure and traceability to ``index.html``.
        -  Added clickable links using Item IDs in HTML header tags.
        -  Fixed bug publishing a document to a directory.
        -  Fixed bug publishing a document without an extension or type
           specified.
        -  Updated ``doorstop import ...`` to import from document export
           formats.
        -  Updated ``doorstop edit ...`` to support document export/import.
        -  Renamed ``doorstop new ...`` to ``doorstop create ...``.
        -  Made 'all' a reserved word, which cannot be used as a prefix.
        
        0.6 (2014-05-15)
        ----------------
        
        -  Refactored ``Item`` levels into a ``Level`` class.
        -  Refactored ``Item`` identifiers into an ``ID`` class.
        -  Refactored ``Item`` text into a ``Text`` class (behaves like
           ``str``).
        -  Methods no longer require nor accept 'document' and 'tree' arguments.
        -  Renamed ``Item.find_rlinks()`` to ``Item.find_child_links()``.
        -  Changed '--no-rlink-check' to '--no-child-check'.
        -  Added ``Item.find_child_items()`` and
           ``Item.find_child_documents()``.
        -  Added aliases to Item: parent\_links, child\_links/items/documents.
        -  Added '--with-child-links' to ``doorstop publish`` to publish child
           links.
        -  Added ``doorstop import ...`` CLI to import documents and items.
        -  Refactored ``Document`` prefixes in a ``Prefix`` class.
        -  Added '--no-level-check' to disable document level validation.
        -  Added '--reorder' option to ``doorstop`` to enable reordering.
        
        0.5 (2014-04-25)
        ----------------
        
        -  Converted ``Item.issues()`` to a property and added
           ``Item.get_issues()``.
        -  Added '--level' option to ``doorstop add`` to force an item level.
        -  Added warnings for duplicate item levels in a document.
        -  Added warnings for skipped item levels in a document.
        -  Renamed ``Item`` methods: add\_link -> link, remove\_link -> unlink,
           valid -> validate.
        -  Renamed ``Document`` methods: add -> add\_item, remove ->
           remove\_item, valid -> validate.
        -  Renamed ``Tree`` methods: new -> new\_document, add -> add\_item,
           remove -> remove\_item, link -> link\_items, unlink -> unlink\_items,
           edit -> edit\_item, valid -> validate.
        -  Added ``doorstop.importer`` functions to add exiting documents and
           items.
        
        0.4.3 (2014-03-18)
        ------------------
        
        -  Fixed storage of 2-part levels ending in a multiple of 10.
        
        0.4.2 (2014-03-17)
        ------------------
        
        -  Fixed a case where ``Item.root`` was not set.
        
        0.4.1 (2014-03-16)
        ------------------
        
        -  Fixed auto save/load decorator order.
        
        0.4 (2014-03-16)
        ----------------
        
        -  Added ``Tree.delete()`` to delete all document directories and item
           files.
        -  Added ``doorstop publish all <directory>`` to publish trees and
           ``index.html``.
        
        0.3 (2014-03-12)
        ----------------
        
        -  Added find\_document and find\_item convenience functions.
        -  Added ``Document.delete()`` to delete a document directory and its
           item files.
        
        0.2 (2014-03-05)
        ----------------
        
        -  All ``Item`` text attributes are now be split by sentences and
           line-wrapped.
        -  Added ``Tree.load()`` for cases when lazy loading is too slow.
        -  Added caching to ``Tree.find_item()`` and ``Tree.find_document()``.
        
        0.1 (2014-02-17)
        ----------------
        
        -  Top-level items are no longer required to have a level ending in
           zero.
        -  Added ``Item/Document.extended`` to get a list of extended attribute
           names.
        
        0.0.21 (2014-02-14)
        -------------------
        
        -  Documents can now have item files in sub-folders.
        
        0.0.20 (2014-02-13)
        -------------------
        
        -  Updated ``doorstop.core.report`` to support lists of items.
        
        0.0.19 (2014-02-13)
        -------------------
        
        -  Updated doorstop.core.report to support items or documents.
        -  Removed the 'iter\_' prefix from all generators.
        
        0.0.18 (2014-02-12)
        -------------------
        
        -  Fixed CSS bullets indent.
        
        0.0.17 (2014-01-31)
        -------------------
        
        -  Added caching of ``Item`` in the ``Document`` class.
        -  Added ``Document.remove()`` to delete an item by its ID.
        -  ``Item.find_rlinks()`` will now search the entire tree for links.
        
        0.0.16 (2014-01-28)
        -------------------
        
        -  Added ``Item.find_rlinks()`` to return reverse links and child
           documents.
        -  Changed the logging format.
        -  Added a '--project' argument to provide a path to the root of the
           project.
        
        0.0.15 (2014-01-27)
        -------------------
        
        -  Fixed a mutable default argument bug in ``Item`` creation.
        
        0.0.14 (2014-01-27)
        -------------------
        
        -  Added ``Tree/Document/Item.iter_issues()`` method to yield all
           issues.
        -  ``Tree/Document/Item.check()`` now logs all issues rather than
           failing fast.
        -  Renamed ``Tree/Document/Item.check()`` to ``valid()``.
        
        0.0.13 (2014-01-25)
        -------------------
        
        -  Added ``Document.sep`` to separate prefix and item numbers.
        
        0.0.12 (2014-01-24)
        -------------------
        
        -  Fixed missing package data.
        
        0.0.11 (2014-01-23)
        -------------------
        
        -  Added ``Item.active`` property to disable certain items.
        -  Added ``Item.derived`` property to disable link checking on certain
           items.
        
        0.0.10 (2014-01-22)
        -------------------
        
        -  Switched to embedded CSS in generated HTML.
        -  Shortened default ``Item`` and ``Document`` string formatting.
        
        0.0.9 (2014-01-21)
        ------------------
        
        -  Added top-down link checking.
        -  Non-normative items with a zero-ended level are now headings.
        -  Added a CSS for generated HTML.
        -  The 'publish' command now accepts an output file path.
        
        0.0.8 (2014-01-16)
        ------------------
        
        -  Searching for 'ref' will now also find filenames.
        -  Item files can now contain arbitrary fields.
        -  Document prefixes can now contain numbers, dashes, and periods.
        -  Added a 'normative' attribute to the Item class.
        
        0.0.7 (2013-12-09)
        ------------------
        
        -  Always showing 'ref' in items.
        -  Reloading item attributes after a save.
        -  Inserting lines breaks after sentences in item 'text'.
        
        0.0.6 (2013-12-04)
        ------------------
        
        -  Added basic report creation via ``doorstop publish ...``.
        
        0.0.5 (2013-11-20)
        ------------------
        
        -  Added item link and reference validation.
        -  Added cached of loaded items.
        -  Added preliminary VCS support for Git and Veracity.
        
        0.0.4 (2013-11-04)
        ------------------
        
        -  Implemented ``add``, ``remove``, ``link``, and ``unlink`` commands.
        -  Added basic tree validation.
        
        0.0.3 (2013-10-17)
        ------------------
        
        -  Added the initial ``Document`` class.
        -  Items can now be ordered by 'level' in a document.
        -  Initial tutorial created.
        
        0.0.2 (2013-09-25)
        ------------------
        
        -  Changed ``doorstop init`` to ``doorstop new``.
        -  Added the initial ``Item`` class.
        -  Added stubs for the ``Document`` class.
        
        0.0.1 (2013-09-11)
        ------------------
        
        -  Initial release of Doorstop.
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Text Editors :: Documentation
Classifier: Topic :: Text Processing :: Markup
