Contributing¶
Development setup¶
This project uses Poetry for dependency management and packaging.
Create a virtual environment, install Poetry into it, then install the project dependencies:
git clone https://gitlab.com/velocipy/velocipy.git
cd velocipy
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install poetry
poetry install --extras all
After poetry install, all CLI tools are available directly in the active virtual environment. Run them natively — no poetry run prefix needed.
poetry install installs the dev dependency group, which includes the test, lint, and docs groups. The --extras all flag also installs every runtime feature extra so the full test suite and type checks can run.
To install only what is needed to run tests (without lint/docs tools):
Git hooks¶
This project uses prek to run git hooks. After installing the dev dependencies, install the hooks once:
The hooks run ruff (lint + format), mypy, and pre-commit-update automatically on commits. To run them manually against all files:
Running tests¶
Linting and type checking¶
ruff check velocipy tests examples
ruff format --check velocipy tests examples
mypy velocipy tests examples