Thanks for your interest in improving the project! This guide covers local setup, testing, and expectations for contributions.
- Use Python 3.11 (other 3.9–3.13 versions are supported but 3.11 is our baseline).
- Create a virtual environment:
python3.11 -m venv .venv && source .venv/bin/activate
- Install tooling and dependencies:
pip install -U pip setuptools wheelpip install -e .pip install -r tests/requirements.txt
- Unit tests (fakes only):
python run_unit_tests.py - Integration tests (requires EnVector server + keys):
- Export
ENVECTOR_ADDRESS,ENVECTOR_KEY_PATH,ENVECTOR_KEY_ID - Optional:
ENVECTOR_USE_EMBEDDINGS=1,ENVECTOR_EMB_MODEL,ENVECTOR_USE_HF_DATASET=1 - Run
pytest -m integration -s
- Export
Please run relevant tests before submitting a PR and mention coverage in the description.
- Keep code, comments, and docs in English.
- Prefer the high-level
pyenvectorSDK APIs; avoid direct gRPC/indexer calls unless required. - Keep changes focused and documented; update README or notebooks when behavior changes.
- Follow existing formatting and type-hint conventions.
- Rebased on the latest
main(or resolved merge conflicts). - Added tests or updated existing ones when behavior changes.
- Updated documentation if user-facing behavior changed.
- Verified
python run_unit_tests.py(and integration tests if applicable).
We appreciate small, well-scoped PRs. Feel free to open a draft PR early to discuss larger changes.