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.