Setup time: < 15 minutes.
- Rust stable (1.70+):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - Python 3.9+ (for bindings):
python --version - Git
git clone https://github.com/kpkaranam/openquanta.git
cd openquanta
cargo build
cargo testpython -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install maturin numpy
cd openquanta && maturin develop && cd ..
python -c "import openquanta; print(openquanta.__version__)"- Create a branch:
git checkout -b feature/my-change - Make changes
- Run checks:
cargo fmt && cargo clippy && cargo test - Submit PR
cargo fmt— formatting is mandatorycargo clippy— zero warnings- No
unwrap()orexpect()inopenquanta-core - No external dependencies in
openquanta-core(onlystd) - All public functions return
Result<T, OpenQuantaError> - Tests: inline
#[cfg(test)] mod testsin each module
openquanta-core/ # Rust core: zero deps, all algorithms
openquanta/ # Python bindings (PyO3/maturin)
openquanta-pgvector/ # pgvector adapter
openquanta-cli/ # CLI binary
openquanta-vllm/ # vLLM reference adapter (Python)
Key rule: All compression logic lives in openquanta-core. Adapters are thin wrappers.
TurboQuantMSE(default): Safe for everything including KV cache/attentionTurboQuantProd(opt-in): Adds QJL for vector search only
Never default to TurboQuantProd. QJL degrades attention quality.