Contributing
Thank you for your interest in contributing to CDMConnector. This page covers how to get the development environment set up and run tests.
Installation
Environment setup
Create a virtual environment (recommended):
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activateOr use pyenv to manage Python versions, then create a venv with your chosen version.
Editable install (from the repository root):
pip install -e ".[dev,docs]"This installs the package in editable mode so code changes take effect without reinstalling. The
devextra adds pytest, ruff, mypy;docsadds quartodoc and any other doc-build dependencies.Optional backends (e.g. DuckDB for Eunomia and tutorials):
pip install -e ".[dev,docs,duckdb]"
Running tests
From the repository root:
pytest tests -v --tb=shortRun with coverage:
pytest tests -v --cov=src/cdmconnector --cov-report=term-missingTo skip integration tests (if marked):
pytest tests -v -m "not integration"Linting
ruff check src testsType checking
mypy src/cdmconnectorDocumentation
See Development for how to rebuild the docs (quartodoc + Quarto) and update notebooks.
Getting help
- Open an issue for bugs or feature requests.
- Check existing issues and discussions before opening a new one.