Skip to content

Information for developers

In this section information for developers are provided.

Install develop dependencies

# install core dependencies
uv sync
# install dev dependencies
uv pip install -r pyproject.toml --extra dev

Pre-commit hook

For developing please setup the pre-commit hook

uv pip install pre-commit
uv run pre-commit install
uv run pre-commit run

Testing

Testing is performed with tox. See information on https://github.com/tox-dev/tox-uv

uv tool install tox --with tox-uv

Run single tox target

tox r -e py312

Run all tests in parallel

tox run-parallel

Documentation

Setup environment

uv pip install -r pyproject.toml --extra docs

To test the documentation use

mkdocs serve

To build the documentation use

mkdocs build -d _site

Jupyter notebooks

Part of the documentation are jupyter notebooks To be able to run these the kernel must be installed for jupyter lab pip install jupyterlab ipykernel

python -m ipykernel install --user --name=libsbgnpy --display-name="libsbgnpy"

Release

Steps to create a new release:

  • update release notes in release-notes with commit
  • make sure all tests run (tox -p)
  • check formating and linting (ruff check)
  • test bump version (uvx bump-my-version bump [major|minor|patch] --dry-run -vv)
  • bump version (uvx bump-my-version bump [major|minor|patch] --python 3.13)
  • git push --tags (triggers release)
  • git push
  • test installation in virtualenv from pypi
uv venv --python 3.13
uv pip install libsbgnpy