Development Guidelines

Developers Guide

Indentation

  • We are using 4 tab-spaces

  • No one line conditionals

Style

  • We obey to the PEP8

Python environment (uv)

Dependencies are declared in pyproject.toml and locked in uv.lock. Install uv, then from the repository root:

uv sync --group dev

That creates .venv and installs the project plus development tools (pytest, pytest-cov, etc.). Typical commands:

uv run pytest
uv run conpot --template default -f
uv run black .

The root Makefile exposes make install, make test, and make format around the same uv commands.

When you add or change a dependency, update pyproject.toml, run uv lock, and commit uv.lock together with your change.

Read the Docs builds use the root .readthedocs.yaml: the install job runs uv sync --frozen --link-mode=copy into $READTHEDOCS_VIRTUALENV_PATH so published docs match the lockfile. Commit uv.lock whenever dependencies change or doc builds on Read the Docs will fail.