Skip to main content

parlot-instrumentation-livekit

MIT OpenTelemetry instrumentation for LiveKit Agents — the primary path into Parlot, the observability platform for production voice AI.

Know if your voice agent is actually working: conversational turns (not flat traces), multi-agent handoff graph, STT / LLM / TTS waterfall, optional call recording, and goal completion with an evidence trail to the proving turns and audio.

Works with LiveKit Cloud, fully self-hosted media, and LiveKit on Telnyx.

pip install parlot-instrumentation-livekit
# or: uv add parlot-instrumentation-livekit
# or: pip install "parlot[livekit]"
from parlot.instrumentation.livekit import parlotize

parlotize("my-agent")

Docs: LiveKit guide · Concepts · Quick Start · parlot.ai

Integration checklist

Two steps are required for full Parlot behavior. All SDK examples follow this pattern.

1. parlotize() at import (required)

Call before constructing AgentSession — patches AgentSession.__init__, sets up OTLP export to PARLOT_ENDPOINT, and installs turn/handoff/close event hooks.

from parlot.instrumentation.livekit import parlotize

parlotize("my-agent")

agent_id is a required positional argument for canonical deployment identity. Pass version= for deployment version.

What to expect for version

Pass parlotize(version=...) to stamp a deployment version on gen_ai.agent.version. If omitted (or blank), Parlot stamps "unknown".

parlotize("restaurant-agent", version="0.1.0")

2. await ctx.connect() before session.start() (required)

Call explicitly in your entrypoint. Parlot patches JobContext.connect to:

  • Refresh platform.ref.room_sid and room metadata on the live session span (paste-search and platform UI linking).
  • Start Room Composite Egress to Cloudflare R2 when recording is enabled.
async def entrypoint(ctx: JobContext):
    await ctx.connect()

    session = AgentSession(...)
    await session.start(agent=..., room=ctx.room)

Without ctx.connect() you may still see basic telemetry — turns, handoffs, session close — if you pass room=ctx.room to session.start(). You will not get:

  • Room audio recording (egress to R2)
  • A reliable room_sid on the session span for paste-search and UI linking

Always call ctx.connect() in production agents and in all Parlot examples.

Environment

Set PARLOT_ENDPOINT and PARLOT_API_KEY. The API key is org-scoped — mint it in Parlot Settings → API Keys (shown once on create). Recording needs Settings → Recording (or parlotize(record=…) / job metadata) plus agent LIVEKIT_* credentials. Recordings upload to R2 and confirm via lazy R2 reconcile when the session is opened.

Recording policy (precedence: job metadata → parlotize(record=…) → Settings → Recording via bootstrap):

  • UI: Parlot → Settings → Recording (per-agent toggles + globs for unseen agents)
  • Code: parlotize(record=True), parlotize(record=False), or parlotize(record=["my-agent*"])
  • Dispatch: job metadata { "record": true|false }

Session application logs (Python logging, default on) use the same control path via Settings → Logs / parlotize(capture_logs=…) / job capture_logs. Not print(). Treat content like stdout for PII.

Generative AI content capture (message bodies / tool payloads; default on) is documented in Concepts. Override with parlotize(capture_genai_content=True|False).

Examples

Development

uv sync --group dev
uv run pytest -q

Metadata

Release files for parlot-instrumentation-livekit 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for parlot-instrumentation-livekit 0.4.1
File Size Uploaded Provenance
parlot_instrumentation_livekit-0.4.1.tar.gz 54.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for parlot-instrumentation-livekit 0.4.1
File Interpreter ABI Platform
parlot_instrumentation_livekit-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 124.8 kB

Release files / parlot_instrumentation_livekit-0.4.1.tar.gz

Download URL parlot_instrumentation_livekit-0.4.1.tar.gz
Size 54.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bd622c1d4f5ba5e5716dffd79924c55a92c4f149899fe5ddcce2c6f08670453e
BLAKE2b-256 checksum
How to use checksums
af197f231b2c8aa2994b471afb8630c03ceb67ca6c2769e0b391a5793da07e24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / parlot_instrumentation_livekit-0.4.1-py3-none-any.whl

Download URL parlot_instrumentation_livekit-0.4.1-py3-none-any.whl
Size 70.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c46a00a7a7f3d29d8b0e547661c2a66d8936d8aca9f90eae3efab34e3be79b4c
BLAKE2b-256 checksum
How to use checksums
7b5526288558647f4db693e54cf3269c9edb4799586eef991f8b7c387b574be4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Security for parlot-instrumentation-livekit 0.4.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for parlot_instrumentation_livekit-0.4.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page