Thanks for your interest in contributing!
git clone https://github.com/arieradle/shekel
cd shekel
pip install -e ".[all-models,dev]"black . # format
isort . # sort imports
ruff check . # lint
mypy shekel/ # type check
pytest tests/ -v # run unit tests (excludes performance tests)
pytest tests/ --cov=shekel --cov-report=term-missing # with coverage
pytest tests/performance/ --benchmark-only -v # run performance testsEdit shekel/prices.json and add an entry:
"model-name": {"input_per_1k": 0.001, "output_per_1k": 0.003}Add a test in tests/test_pricing.py to verify the new model's cost calculation.
- Keep PRs focused — one change per PR
- Add tests for new behaviour
- All CI checks must pass
- Update
CHANGELOG.mdunder[Unreleased]
Open an issue at https://github.com/arieradle/shekel/issues with:
- Python version
- shekel version (
python -c "import shekel; print(shekel.__version__)") - Minimal reproduction