Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* Added CI for testing the Sphinx Needs JS libs

* Updated CI for JS Test

* Minor bug fixes

* CI fixes

* Updated js_test CI workflow and .gitignore

Git stats


Failed to load latest commit information.

Complete documentation:

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


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:

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

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


Using poetry

poetry add sphinx-needs

Using pip

pip install sphinx-needs


Prior version 1.0.1 the package was named sphinxcontrib-needs.

Using sources

git clone
cd sphinx-needs
pip install .
# or
poetry install


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

extensions = ["sphinx_needs",]


Prior version 1.0.1 the extensions was called sphinxcontrib.needs.