LiveKit Agents integration for Prefactor observability
Project description
prefactor-livekit
LiveKit Agents integration for Prefactor observability. This package wraps
livekit-agents sessions and emits Prefactor spans from public LiveKit session
events.
Installation
pip install prefactor-livekit
Usage
Factory pattern
from livekit.agents import AgentSession
from prefactor_livekit import PrefactorLiveKitSession
session = AgentSession(...)
tracer = PrefactorLiveKitSession.from_config(
api_url="https://api.prefactor.ai",
api_token="your-api-token",
agent_id="voice-agent",
agent_name="Voice Agent",
)
await tracer.start(session=session, agent=my_agent)
await tracer.close()
Example runner
The example script has a local smoke mode that emits representative LiveKit session events into Prefactor without needing STT/TTS providers or a room.
uv run python packages/livekit/examples/simple_session.py --mode smoke
It prints the Prefactor instance ID plus ready-to-run Prefactor CLI commands for retrieving the instance and listing spans for the example's time window.
prefactor agent_instances retrieve <instance-id>
prefactor agent_spans list \
--agent_instance_id <instance-id> \
--start_time <recent-start-time> \
--end_time <recent-end-time> \
--include_summaries
There is also a model-backed mode for a real text turn:
uv run python packages/livekit/examples/simple_session.py \
--mode live \
--model anthropic/claude-sonnet-4-5-20250929
Manual attachment
Use this when your app manages the session lifecycle itself and you just want the LiveKit events traced.
from prefactor_livekit import PrefactorLiveKitSession
tracer = PrefactorLiveKitSession(instance=instance)
await tracer.attach(session)
await session.generate_reply(user_input="hello")
await tracer.close()
Traced span types
livekit:sessionlivekit:user_turnlivekit:assistant_turnlivekit:toollivekit:llmlivekit:sttlivekit:ttslivekit:statelivekit:error
Development
uv run pytest packages/livekit/tests -v
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prefactor_livekit-0.1.0.tar.gz.
File metadata
- Download URL: prefactor_livekit-0.1.0.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4769a6e30c1e0dc1fe10d84faf6aa5bb9fccb65b2a38af7a50d1c5735467be1d
|
|
| MD5 |
da44354ccbf33f173dca85632e660415
|
|
| BLAKE2b-256 |
8cd600fa2971b8048fe66d65febefdd497ec6a7cdd0c7f3f00b0fd3eec633464
|
File details
Details for the file prefactor_livekit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: prefactor_livekit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38985f62a4f6e734f151f0fc11fdcc9be8112f60c7362f70ba2abab58de396b9
|
|
| MD5 |
2d630814d807bfb2b9b8eff38619c354
|
|
| BLAKE2b-256 |
2e06f5bc311f7b21aff2f43febd1e7b4e6c814ae3c87bf372163c66a170500bd
|