Skip to main content

'Sphinx-Graph' is a plain-text, VCS-friendly, requirements management tool.

Project description

Sphinx Graph

codecov CI sponsor Documentation Status

'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

sphinx_graph-0.2.3.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

sphinx_graph-0.2.3-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

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

Hashes for sphinx_graph-0.2.3.tar.gz
Algorithm Hash digest
SHA256 a0916cc2885c4162b22e08f7cb6ff5e338ffcf23d7abd6d6d995ccc64a562d50
MD5 71a5bdbf73a691d65b4d41ea3e843862
BLAKE2b-256 49e48bd9c75c0213e38694a3fb3bb0c26ac44c9fb9c7f6456cf4fe61f06f8bfd

See more details on using hashes here.

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

Hashes for sphinx_graph-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8558247c2177740b03d5241b168041110d0ccb19d554a2c4df73961b7df490b3
MD5 493c0f3d512115b1cce249b5ebe2bd43
BLAKE2b-256 93ed11b5fc7abfab5a82ac0b030a194cd7e56215e4cfd232ebca0881475b5552

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