/sphinx-needs

Adds needs/requirements to sphinx

Primary LanguagePythonMIT LicenseMIT

Complete documentation: http://sphinx-needs.readthedocs.io/en/latest/

Attention: sphinxcontrib-needs got renamed to sphinx-needs. This affects also the URLs for documentation and repository:

Introduction

Sphinx-Needs allows the definition, linking and filtering of class-like need-objects, which are by default:

  • requirements
  • specifications
  • implementations
  • test cases.

This list can be easily customized via configuration (for instance to support bugs or user stories).

A default requirement need looks like:

https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/need_1.png

Layout and style of needs can be highly customized, so that a need can also look like:

https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/need_2.png

Take a look into our Examples for more pictures and ideas how to use Sphinx-Needs.

For filtering and analyzing needs, Sphinx-Needs provides different, powerful possibilities:

needtable needflow needpie
https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/needtable_1.png https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/needflow_1.png https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/needpie_1.png

Installation

Using poetry

poetry add sphinx-needs

Using pip

pip install sphinx-needs

If you wish to also use the plotting features of sphinx-needs (see needbar and needpie), you need to also install matplotlib, which is available via the plotting extra:

pip install sphinx-needs[plotting]

Note

Prior version 1.0.1 the package was named sphinxcontrib-needs.

Using sources

git clone https://github.com/useblocks/sphinx-needs
cd sphinx-needs
pip install .
# or
poetry install

Activation

For final activation, please add sphinx_needs to the project's extension list of your conf.py file.

extensions = ["sphinx_needs",]

Note

Prior version 1.0.1 the extensions was called sphinxcontrib.needs.