Skip to main content

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

Doorstop-0.0.12.zip (56.3 kB view details)

Uploaded Source

Built Distribution

Doorstop-0.0.12-py33-none-any.whl (122.4 kB view details)

Uploaded Python 3.3

File details

Details for the file Doorstop-0.0.12.zip.

File metadata

  • Download URL: Doorstop-0.0.12.zip
  • Upload date:
  • Size: 56.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Doorstop-0.0.12.zip
Algorithm Hash digest
SHA256 80a8d64e539678501e5d3b4e0cbdaf8a6c7970ec77883d0e8762fc7d58b544e7
MD5 8c6d058df3cc89825c0b7795a0ee7b6c
BLAKE2b-256 89a67bd380eaff2d3f7ca0e320a93d17e1578ff7451611bc6925fe92c7f8393b

See more details on using hashes here.

File details

Details for the file Doorstop-0.0.12-py33-none-any.whl.

File metadata

File hashes

Hashes for Doorstop-0.0.12-py33-none-any.whl
Algorithm Hash digest
SHA256 568784283e732d7a39910c64b27568e02c6b11e327b2c6925cc809b5e522a325
MD5 c00e6a316be7f81fcf9a959b71f66097
BLAKE2b-256 f8e35172c101a3e4a4d3b5d5ba8e594bb6949b8ec66bbdc0940a2a14533c63e5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page