Skip to main content

Text-based requirements management using version control.

Project description

Introduction

Doorstop is a tool to manage the storage of texual 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 hiearchy. Doorstop provides mechanisms for modifying this hiearchy, checking the tree for consistency, and publishing documents in serveral 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: REQ (@/reqs)

Items can be added to the document and edited:

$ doorstop add REQ
added: REQ001 (@/reqs/REQ001.yml)

$ doorstop edit REQ1
opened: REQ001 (@/reqs/REQ001.yml)

Child Documents

Additional documents can be created that link to other documents:

$ doorstop new TST ./reqs/tests --parent REQ
created: TST (@/reqs/tests)

Items can be added and linked to parent items:

$ doorstop add TST
added: TST001 (@/reqs/tests/TST001.yml)

$ doorstop link TST1 REQ1
linked: TST001 (@/reqs/tests/TST001.yml) -> REQ001 (@/reqs/REQ001.yml)

Document Validation

To check a document hiearchy for consistency, run the main command:

$ doorstop
validated: REQ <- [ TST ]

Document Publishing

A text report of a document can be created:

$ doorstop publish TST
1       TST001

        Verify the foobar will foo and bar.

        Links: REQ001

Other formats are also supported:

$ doorstop publish TST --html
    <h1>1 (TST001)</h1>
    <p>Verify the foobar will foo and bar.</p>
    <p><em>Links: REQ001</em></p>

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.7.tar.gz (28.4 kB view details)

Uploaded Source

Built Distribution

Doorstop-0.0.7-py2.py3-none-any.whl (38.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Doorstop-0.0.7.tar.gz.

File metadata

  • Download URL: Doorstop-0.0.7.tar.gz
  • Upload date:
  • Size: 28.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Doorstop-0.0.7.tar.gz
Algorithm Hash digest
SHA256 b48e5b49b863d35beff784b01ce885b04e5e7373a53bca7dfb89e11e0d85d4d4
MD5 9316f4cde1744354be98fe15ea905914
BLAKE2b-256 8dc8d6cd50eeac30f671c5b0afd70ceb75344d27bf6c290243115ed5179151b2

See more details on using hashes here.

File details

Details for the file Doorstop-0.0.7-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for Doorstop-0.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0c0552d322ffe7c1eadeeb1fce26f4b82ed6d64268688093b16b43a6eebe2ac7
MD5 4a3681ed3b8105634deaad3854d605b1
BLAKE2b-256 329222bd3ab33e307e47fd9bdc19b852e87875789358fb08d9b8ffce61faded7

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