For local development, you need Python 3.10 or later installed. We use uv for project management, Hatch for environment management, and just as our command runner.
To install this package and its development dependencies, run:
just syncor
uv sync --extra 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. You have two options for running tests:
# Run tests on your current Python version
uv run --extra test 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.