Installation
pip install ashr-labs
Python 3.10 or higher.
Dependencies — what actually gets installed
The core SDK — the client, EvalRunner, RunBuilder, the @tool decorator, the agent adapters, and production tracing (client.trace()) — is written against the Python standard library only. It does its HTTP over urllib and its data shapes are plain TypedDicts. No serialization framework, no HTTP client to pin.
That said, pip install ashr-labs today also installs two third-party packages:
| Package | Why it's pulled | Used by |
|---|---|---|
httpx | HTTP transport for the voice submodule | ashr_labs.voice_obs |
pydantic | Schema models for the voice submodule | ashr_labs.voice_obs |
These are declared as hard dependencies because the voice-observability submodule imports them. If you never import ashr_labs.voice_obs, nothing in your code path touches httpx or pydantic — but they will still be in your environment. We call this out so you're not surprised to see them in pip freeze.
The LiveKit integration for voice has its own heavier dependency and lives behind an extra:
pip install "ashr-labs[livekit]" # only if you trace realtime voice agents
There are also [anthropic] and [openai] extras that install the matching provider SDK, convenient if you use the built-in agent adapters:
pip install "ashr-labs[anthropic]" # installs anthropic
pip install "ashr-labs[openai]" # installs openai
Verify the install
from ashr_labs import AshrLabsClient, __version__
print(f"Ashr Labs SDK v{__version__}")
Virtual environment (recommended)
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
pip install ashr-labs
Development install
To run the test suite or contribute:
pip install -e ".[dev]"
The dev extra adds pytest, pytest-cov, black, mypy, and ruff.
Upgrading
pip install --upgrade ashr-labs