For local development, you need Python 3.10 or later installed. We use uv for project and environment management, and just as our command runner.
To install this package and its development dependencies, run:
just syncor
uv sync --group devTo execute all code checking tools together, run:
just checkWe utilize ruff for linting, which analyzes code for potential issues and enforces consistent style. Refer to pyproject.toml for configuration details.
To run linting:
just lintruff is also used for code formatting. Refer to pyproject.toml for configuration details.
To run formatting:
just formatWe use pytest for testing. The default Python version is configured in .python-version; the local test matrix is configured in .python-versions.
# Run tests on the default Python version
uv run pytest -v
# Run tests across all supported Python versions
just testWe use pre-commit to run quality checks automatically:
# Install pre-commit hooks
uv tool install pre-commit
pre-commit install
# Run hooks manually on all files
pre-commit run --all-filesWe follow the Google docstring format for code documentation. All user-facing classes and functions must be documented with docstrings and type hints.
New versions are automatically published to PyPI when a GitHub release is created.