'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
File details
Details for the file sphinx_graph-0.2.3.tar.gz
.
File metadata
- Download URL: sphinx_graph-0.2.3.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.7 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0916cc2885c4162b22e08f7cb6ff5e338ffcf23d7abd6d6d995ccc64a562d50 |
|
MD5 | 71a5bdbf73a691d65b4d41ea3e843862 |
|
BLAKE2b-256 | 49e48bd9c75c0213e38694a3fb3bb0c26ac44c9fb9c7f6456cf4fe61f06f8bfd |
File details
Details for the file sphinx_graph-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: sphinx_graph-0.2.3-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.7 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8558247c2177740b03d5241b168041110d0ccb19d554a2c4df73961b7df490b3 |
|
MD5 | 493c0f3d512115b1cce249b5ebe2bd43 |
|
BLAKE2b-256 | 93ed11b5fc7abfab5a82ac0b030a194cd7e56215e4cfd232ebca0881475b5552 |