Skip to content

Installation

The base runvault package is small. LLM provider and framework support are opt-in via pip extras, so your environment never grows beyond what you actually use.

Requirements

  • Python 3.9 or newer (tested on 3.9 – 3.13).
  • A RunVault project API key (rv_live_…) issued from your dashboard.
  • (Recommended for production) RV_CA_PUBLIC_KEY environment variable set to your deployment's RunVault CA public key. When present, the SDK verifies the CA signature on every certificate it receives.

The production backend URL (https://api.runvault.to) is baked into the SDK — no configuration required for normal use.

Install the SDK

Core only — enough to call the proxy from raw httpx:

pip install runvault

Add the extras that match your stack:

pip install "runvault[langchain-openai]"     # LangChain ChatOpenAI
pip install "runvault[langchain-anthropic]"  # LangChain ChatAnthropic
pip install "runvault[langchain-google]"     # LangChain ChatGoogleGenerativeAI
pip install "runvault[langgraph]"            # LangGraph runtime
pip install "runvault[crewai]"               # CrewAI BaseLLM subclass
pip install "runvault[openai]"               # bare openai SDK
pip install "runvault[anthropic]"            # bare anthropic SDK
pip install "runvault[all]"                  # everything above

Multiple extras can be combined in one install:

pip install "runvault[langgraph,langchain-openai]"

Verify the install

python -c "from runvault import RunVault; print(RunVault)"

Expected output:

<class 'runvault.client.RunVault'>

Environment variables

The SDK reads RUNVAULT_BE_URL automatically when no be_url argument is passed. All other variables are conventions — you pass the value to RunVault(...) explicitly.

Variable Required Purpose
RUNVAULT_API_KEY recommended Your project API key (rv_live_…). Pass to RunVault(api_key=…).
RUNVAULT_BE_URL no Override the baked-in production backend URL. Read automatically when set; useful for staging or self-hosted deployments.
RV_CA_PUBLIC_KEY recommended in production Base64-encoded Ed25519 RunVault CA public key. When set, the SDK verifies every certificate's CA signature. Absent ⇒ the SDK logs a warning and proceeds.
import os
from runvault import RunVault

rv = RunVault(api_key=os.environ["RUNVAULT_API_KEY"])

Construct a RunVault client

Construction performs no I/O — credentials are stored and an internal HTTP client is built. The first network call happens on rv.register_agent(...).

from runvault import RunVault

rv = RunVault(
    api_key="rv_live_...",
    timeout=10,   # optional, seconds — applies to connect / write / pool
)

The read timeout is intentionally unbounded so legitimate slow responses are never classified as a timeout.

Next

Continue to the Quickstart to register an agent and route your first LLM call through the proxy.