We welcome contributions! Here's how to get started.
git clone https://github.com/Firmamento-Technologies/TurboQuant.git
cd TurboQuant
pip install -e ".[dev]"
pytest tests/ -v- Performance improvements — Faster quantization/search, SIMD, batch operations
- New bit-packing — Pack 4-bit codes into uint8 (2 values per byte)
- GPU acceleration — Optional CuPy/PyTorch backend
- FAISS adapter — Use TurboQuant as a FAISS custom index
- Benchmarks — More datasets, higher dimensions, comparison with ScaNN/Annoy
- Documentation — Tutorials, API docs, mathematical explanations
- Tests required — All PRs must include tests. Run
pytest tests/ -vbefore submitting. - Pure Python — Core algorithms must work with NumPy only. GPU/C++ extensions go in optional modules.
- Type hints — All public functions must have type annotations.
- Docstrings — Google-style docstrings for all public classes and methods.
- Python 3.10+ features (type unions with
|, etc.) - NumPy-style array operations (avoid Python loops on vectors)
- Keep modules focused — one responsibility per file
- Fork the repo
- Create a feature branch (
git checkout -b feat/my-feature) - Write tests first, then implementation
- Run
pytest tests/ -vand ensure all pass - Submit a PR with a clear description
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.