Text-based requirements management using version control.
Project description
Introduction
Doorstop is a tool to manage the storage of textual requirements alongside source code in version control.
Each requirement item is stored as a YAML file in a designated directory. The items in each designated directory form a document. Document items can be linked to one another to form a document hierarchy. Doorstop provides mechanisms for modifying this hierarchy, checking the tree for consistency, and publishing documents in several formats.
Getting Started
Requirements
Python 3
Git or Veracity (for requirements storage)
Installation
Doorstop can be installed with pip or easy_install:
$ pip install Doorstop
After installation, Doorstop is available on the command-line:
$ doorstop --help
And the package is available under the name doorstop:
$ python >>> import doorstop >>> doorstop.__version__
Document Creation
Parent Document
After configuring version control, a new parent document can be created:
$ doorstop new REQ ./reqs created document: REQ (@/reqs)
Items can be added to the document and edited:
$ doorstop add REQ added item: REQ001 (@/reqs/REQ001.yml) $ doorstop edit REQ1 opened item: REQ001 (@/reqs/REQ001.yml)
Child Documents
Additional documents can be created that link to other documents:
$ doorstop new TST ./reqs/tests --parent REQ created document: TST (@/reqs/tests)
Items can be added and linked to parent items:
$ doorstop add TST added item: TST001 (@/reqs/tests/TST001.yml) $ doorstop link TST1 REQ1 linked item: TST001 (@/reqs/tests/TST001.yml) -> REQ001 (@/reqs/REQ001.yml)
Document Validation
To check a document hierarchy for consistency, run the main command:
$ doorstop valid tree: REQ <- [ TST ]
Document Publishing
A text report of a document can be displayed:
$ doorstop publish TST 1 TST001 Verify the foobar will foo and bar. Links: REQ001
Other formats are also supported:
$ doorstop publish TST --html <!DOCTYPE html> ... <body> <h1>1 (TST001)</h1> <p>Verify the foobar will foo and bar.</p> <p><em>Links: REQ001</em></p> </body> </html>
Or a file can be created using one of the supported extensions:
$ doorstop publish TST path/to/tst.md publishing TST to path/to/tst.md...
Supported formats:
Text: .txt
Markdown: .md
HTML: .html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Doorstop-0.0.13.tar.gz
.
File metadata
- Download URL: Doorstop-0.0.13.tar.gz
- Upload date:
- Size: 37.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 534bd97705f1082c1fe758ab913722d1f235debff82b883ba941b4bc7761ae2b |
|
MD5 | 78d640f42a1a100c53dcac2cf986d3a2 |
|
BLAKE2b-256 | 441c851a2742e437955d363ca74504ac40ce46b61a2c0ba988d5924ec552c2ee |
File details
Details for the file Doorstop-0.0.13-py33-none-any.whl
.
File metadata
- Download URL: Doorstop-0.0.13-py33-none-any.whl
- Upload date:
- Size: 49.3 kB
- Tags: Python 3.3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c69dd7e61abfab7259d4b395047d3f251bbfb6f4241e8c141d7a0719510b13aa |
|
MD5 | 5aea5743e578b566b661ebb1a4471e40 |
|
BLAKE2b-256 | 9571b70ca85f91fe95bfc9b2868c836a91626c6bf12213c167ffd6874140fa1e |