Development

Branches

Development work is done on topic branches based on develop. Feature branches use names such as feature/add-circuit; bug-fix branches use names such as fix/bug-aa.

Release preparation is merged from develop to main. Version tags are created from main.

Documentation

Documentation is built with Sphinx. Python API pages are generated from docstrings, and C++ API pages are generated by Doxygen and imported into Sphinx with Breathe.

Install the Python documentation dependencies:

python -m pip install -e .[docs]

Install the system tools required for C++ API generation. On Debian or Ubuntu:

sudo apt-get update
sudo apt-get install -y doxygen graphviz

Build the documentation:

doxygen docs/Doxyfile
sphinx-build -b html docs/source docs/build/html

Preview the generated site locally:

python -m http.server 8000 --directory docs/build/html

Then open http://localhost:8000/ in a browser.

Keep README focused on PyPI users. Put detailed installation, build, testing, and internal design notes in this documentation tree.