Skip to main content

Contributing

Thanks for your interest in contributing. Full details live in CONTRIBUTING.md in the repository.

Development setup​

git clone https://github.com/apicrafter/datacrafter.git
cd datacrafter
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pip install -e .

Python 3.10+ is required.

Tests and lint​

pytest # fast local run
pytest --cov=datacrafter # with coverage
pylint --errors-only datacrafter
ruff check datacrafter tests
mypy datacrafter
pip-audit -r requirements.txt

CI gates tests + coverage (80% floor), ruff, mypy (whole package), pylint (errors-only), and pip-audit on the resolved environment. External databases must be mocked.

Documentation site​

cd docs
npm install
npm start
npm run build

Edit markdown under docs/docs/. Broken internal links fail npm run build.

Git workflow​

Branch off main as feat/<topic>, fix/<topic>, or docs/<topic>. Open a pull request against main. CI must be green before merge.

By contributing, you agree your contributions are licensed under Apache 2.0.