Metadata-Version: 2.5
Name: parlot-instrumentation-pipecat
Version: 0.1.1
Summary: Parlot instrumentation for Pipecat — Conversation Contract turns, STT/LLM/TTS, and goal completion
Project-URL: Homepage, https://parlot.ai
Project-URL: Documentation, https://parlot.ai/docs
Project-URL: Repository, https://github.com/parlot-ai/sdk
Author-email: Parlot AI <hi@parlot.ai>
License-Expression: MIT
License-File: LICENSE
Keywords: agents,ai,observability,opentelemetry,parlot,pipecat,telemetry
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27.0
Requires-Dist: opentelemetry-api>=1.27.0
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.27.0
Requires-Dist: opentelemetry-sdk>=1.27.0
Requires-Dist: parlot-core>=0.1.0
Requires-Dist: pipecat-ai[tracing]>=1.3.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# parlot-instrumentation-pipecat

Parlot OpenTelemetry instrumentation for [Pipecat](https://github.com/pipecat-ai/pipecat) voice agents.

Emits Parlot’s Conversation Contract (`parlot.session`, `parlot.turn`, GenAI/voice spans) so Pipecat sessions show up in the same debugger as any other supported framework.

## Install

```bash
pip install parlot-instrumentation-pipecat
# or: pip install "parlot[pipecat]"
```

## Instrument

Call `parlotize()` once before building your pipeline (replaces Pipecat's `setup_tracing` for Parlot export). Enable tracing on `PipelineWorker`:

```python
from parlot.instrumentation.pipecat import parlotize

parlotize("my-pipecat-agent", version="0.1.0")

# ... build Pipeline ...

worker = PipelineWorker(
    pipeline,
    params=PipelineParams(enable_metrics=True, enable_usage_metrics=True),
    enable_tracing=True,
    enable_turn_tracking=True,
)
```

```bash
export PARLOT_ENDPOINT=https://ingest.parlot.ai
export PARLOT_API_KEY=<org-scoped-key>
```

## Example

See [`examples/pipecat/minimal-voice/`](../../examples/pipecat/minimal-voice/) (adapted from Pipecat's [open-telemetry/langfuse](https://github.com/pipecat-ai/pipecat-examples/tree/main/open-telemetry/langfuse) demo).

## Docs

- [Pipecat guide](https://parlot.ai/docs/sdk/guides/pipecat)
- [Concepts](https://parlot.ai/docs/sdk/get-started/concepts)
