Metadata-Version: 2.4
Name: progress-observability
Version: 1.2.0
Summary: Progress Observability instrumentation for Python agents
Project-URL: Homepage, https://github.com/telerik/agentclarity
Project-URL: Repository, https://github.com/telerik/agentclarity
Project-URL: Documentation, https://docs.telerik.com/agentclarity
Project-URL: Bug Reports, https://github.com/telerik/agentclarity/issues
License: MIT
License-File: LICENSE
License-File: notices.txt
Requires-Python: <4.0.0,>=3.10.0
Requires-Dist: traceloop-sdk==0.49.5
Provides-Extra: dev
Requires-Dist: autopep8>=2.3.1; extra == 'dev'
Requires-Dist: flake8>=7.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# Progress Observability Instrumentation (Python)

Zero-intrusion telemetry for AI agents and LLM apps. Built on Traceloop SDK and OpenTelemetry with a simple one-line init and optional decorators.

## Installation

```bash
pip install progress-observability
```

Or from wheel file:

```bash
pip install progress_observability-x.y.z-py3-none-any.whl
```

## Quick Start

```python
from progress.observability import Observability, ObservabilityInstruments

# Initialize once at process start
Observability.instrument(
    app_name="my-app",
    api_key="<your-api-key>",
    # endpoint="https://collector.observability.progress.com:443"  # Optional: has default
)
```

## Configuration

Environment overrides (optional):

- `OBSERVABILITY_APP_NAME` sets the application name (e.g. "my-app")
- `OBSERVABILITY_ENDPOINT` sets a custom endpoint for collecting data (e.g. "https://collector.observability.progress.com:443")
- `OBSERVABILITY_API_KEY` sets the authentication key to use when sending data
- `OBSERVABILITY_TRACE_CONTENT` when set to "false" will stop sending LLM prompt/responses as part of the telemetry data

Auth headers are added automatically for HTTP(S) endpoints when api_key is provided.

## Package Structure

```text
src/progress/observability/
├── __init__.py        # Package entry point
├── sdk.py             # Main Observability SDK
├── decorators.py      # @task, @workflow, @agent, @tool decorators
├── constants.py       # Environment variables and constants
├── enums.py           # ObservabilityInstruments enum
└── helpers.py         # Helper functions
```
