Development¶
Development¶
Notes specific to cfxdb: development setup, running the tests, and supported runtimes. The contribution workflow shared by all WAMP projects — GitHub issue first, red → green tests, and the AI-assistance disclosure — is in CONTRIBUTING.md.
Reporting bugs¶
In addition to what CONTRIBUTING.md asks for, please include:
the cfxdb version:
python -c "import cfxdb; print(cfxdb.__version__)"the zLMDB / LMDB version, if relevant
Development setup¶
Development is driven by just and uv;
run just to list all recipes. Every recipe takes the name of a managed virtual environment:
cpy314, cpy313, cpy312, cpy311 (CPython) or pypy311 (PyPy).
git clone https://github.com/crossbario/cfxdb.git
cd cfxdb
git submodule update --init --recursive
just create cpy314
just install-dev cpy314
Running the tests¶
just test cpy314 # the test suite
just test pypy311 # the same on PyPy
just check cpy314 # formatting, typing and the other checks
Supported runtimes: CPython 3.11–3.14 and PyPy 3.11.
Code style¶
ruff enforces formatting and linting (just check-format cpy314); the line length is 119. Add
docstrings for public APIs, and type hints for new code (just check-typing cpy314).
Documentation¶
The documentation is reStructuredText, built with Sphinx: just docs cpy314.