'Sphinx-Graph' is a plain-text, VCS-friendly, requirements management tool.
Project description
Sphinx Graph
'Sphinx-Graph' is a plain-text, VCS-friendly, requirements management tool.
With Sphinx-Graph you define relationships between items in a document. These items form a directed acyclic graph (DAG). The extension-
- checks for cyclic references
- populates items with links to their 'neighbours'
- (optionally) tracks a hash of each item to trigger reviews when any parents change
Sphinx Graph is heavily inspired by Sphinx-Needs. Sphinx-Graph started life as a proof of concept refactor of Sphinx-Needs using modern python and strict type checking.
- Sphinx-Needs is the full-featured, grand-daddy of Sphinx-Graph
- By comparison, Sphinx-Graph is streamlined, and focuses on a much smaller feature set
Vertices
The core sphinx directive provided by this extension is a 'Vertex'. A Vertex directive can be used to define relationships between text elements.
.. vertex:: USR-001
this is a user requirement.
This user requirement forms the basis of derived system requirements. When it is rendered in a
sphinx document it will be augmented with links to any child vertices.
.. vertex:: SYS-001
:parents: USR-001
this is system requirement of some sort.
It is derived from a higher-level user requirement (USR-001).
When it is rendered in a sphinx document, it will be augmented with links to its parent as well
as any 'children'.
.. vertex:: SYS-002
:parents: USR-001:iG91
this is another system requirement. This time the link to USR-001 is tracking the 'fingerprint'
of its parent.
The fingerprint is a 4-character hash. If USR-001 is modified, then SYS-002 will fail the build
until the fingerprint is updated (the build error provides the new fingerprint). This means that
changing a Vertex will trigger a review of all dependent vertices.
For more information, see the docs.
or, build the local docs-
cd docs
poetry run make html
Was this useful? Buy me a coffee
Project details
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
Hashes for sphinx_graph-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8558247c2177740b03d5241b168041110d0ccb19d554a2c4df73961b7df490b3 |
|
MD5 | 493c0f3d512115b1cce249b5ebe2bd43 |
|
BLAKE2b-256 | 93ed11b5fc7abfab5a82ac0b030a194cd7e56215e4cfd232ebca0881475b5552 |