Skip to content

Documentation / Getting started / Installation

Install VAANI

VAANI requires Python 3.11–3.13. Choose a distribution path explicitly; stable v1.0.0 publication is not complete.

Tested candidate

The approved, exact tested candidate is:

Property Value
Distribution vaani==1.0.0rc9
Wheel SHA-256 58b0748becca9f436b8acd0e2dd792a64c60dd75de33d5600003e8ff690c6bd1
Source commit 45ed2a9941de695e6d9efd4ba9e1ce5c811dd247
Python 3.11, 3.12, or 3.13
LiveKit >=1.5.17,<1.6.0; first migrations pin 1.5.17

The repository contains a stable-promotion proposal, but GitHub publication has not completed. Do not treat the source-tree 1.0.0 metadata as proof of a released stable artifact or assume the package is on public PyPI.

Option 1: approved private wheel

This is the reproducible deployment path while publication is pending. Obtain the wheel through your authorized artifact channel, verify it before installing, and keep the filename out of shell globs:

python -m venv .venv
. .venv/bin/activate
python - <<'PY'
from hashlib import sha256
from pathlib import Path

wheel = Path("vendor/vaani-1.0.0rc9-py3-none-any.whl")
expected = "58b0748becca9f436b8acd0e2dd792a64c60dd75de33d5600003e8ff690c6bd1"
actual = sha256(wheel.read_bytes()).hexdigest()
if actual != expected:
    raise SystemExit(f"wheel digest mismatch: {actual}")
print("wheel digest verified")
PY
python -m pip install vendor/vaani-1.0.0rc9-py3-none-any.whl

Do not commit the wheel unless your repository's artifact policy explicitly requires vendoring it.

Option 2: private package index

Publish the exact approved bytes to an authenticated private index, then pin the candidate and hash in your lockfile:

python -m pip install \
  --index-url "https://USER:TOKEN@packages.example.invalid/simple/" \
  "vaani==1.0.0rc9"

Use your CI secret store rather than writing credentials in configuration or shell history. See private distribution.

Option 3: source development

For VAANI contributors—not production consumers—install the checkout editable:

python -m venv .venv
. .venv/bin/activate
python -m pip install --editable .
python -m contracts.verify

An editable checkout reports the source metadata currently under development. It is not byte-equivalent evidence for the approved RC9 wheel.

Add only the integrations you use

python -m pip install "vaani[deepgram,google,cartesia]"
python -m pip install "vaani[silero,turn-detector,noise-cancellation]"
python -m pip install "vaani[recording-gcs,postgres]"

There is no aggregate all extra. Keep core installations small and make each deployment's provider surface reviewable. The full list is in the provider guide.

Verify the installation

python - <<'PY'
from importlib.metadata import version
from pathlib import Path
import vaani

print("version:", version("vaani"))
print("module:", Path(vaani.__file__).resolve())
PY

For a wheel deployment, confirm the version is 1.0.0rc9 and the module is in the intended environment's site-packages.

Next: run the offline quickstart.