Dependencies and Extras
The project supports a minimal core install plus optional extras for backend coverage.
Core install
pip install -e .
Development install
make dev
Reproducible install
make repro REPRO_EXTRAS="dev full"
REPRO_EXTRAS defaults to dev full. The frozen install fails when
uv.lock is out of date.
Maintainer release baseline
Use this when preparing a tagged release:
Use Python
3.12(from.python-version).Regenerate lock data:
make lock.Verify the frozen install and full checks:
make repro REPRO_EXTRAS="dev full"andmake ci.Build release artifacts and validate metadata:
make release-check.Commit
uv.lock(and any dependency spec changes), then tag and publish.
make release-check builds both the source distribution and wheel into dist/
and runs twine check against the generated artifacts.
Extras matrix
Extra |
Purpose |
Key packages |
Platform constraints |
|---|---|---|---|
|
Linting, typing, tests, docs, and release checks |
|
None |
|
Shared Hugging Face utilities |
|
None |
|
Anthropic hosted backend |
|
None |
|
Gemini hosted backend |
|
None |
|
Groq hosted backend |
|
None |
|
Managed llama.cpp server backend |
|
None |
|
Apple MLX backend |
|
macOS + Apple Silicon only |
|
In-process transformers backend |
|
None |
|
vLLM server backend |
|
Linux only, Python < 3.14 |
|
SGLang server backend |
|
Linux only, Python < 3.14 |
|
Convenience bundle for local backends |
|
|
|
Convenience bundle for local + server backends |
|
|
Recommended profiles
Fast contributor loop:
make devAnthropic hosted experimentation:
pip install -e ".[dev,anthropic]"Gemini hosted experimentation:
pip install -e ".[dev,gemini]"Groq hosted experimentation:
pip install -e ".[dev,groq]"Local backend experimentation:
pip install -e ".[dev,local]"Full backend coverage (where supported):
pip install -e ".[dev,full]"Minimal hosted-only setup:
pip install -e .
Notes
Extras are additive and can be combined.
Linux-only extras are safely skipped by pip on unsupported platforms.
For deterministic example tests, use the monkeypatch harness under
tests/example_monkeypatchrather than adding deterministic logic to examples.