Metadata-Version: 2.4
Name: respan-instrumentation-agentops
Version: 0.1.0
Summary: Respan instrumentation plugin for AgentOps
License: Apache 2.0
Author: Respan
Author-email: team@respan.ai
Requires-Python: >=3.11,<3.14
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: agentops (>=0.4.21,<0.5.0)
Requires-Dist: opentelemetry-api (>=1.38.0,<2.0.0)
Requires-Dist: opentelemetry-sdk (>=1.38.0,<2.0.0)
Requires-Dist: opentelemetry-semantic-conventions-ai (>=0.4.1)
Requires-Dist: respan-sdk (>=2.6.1)
Requires-Dist: respan-tracing (>=2.17.0,<3.0.0)
Description-Content-Type: text/markdown

# Respan instrumentation for AgentOps

This package sends spans created by AgentOps' Python decorators through the
active Respan OpenTelemetry pipeline.

It adapts AgentOps' own span kinds and content:

- `trace` / session and workflow decorators become Respan workflow spans
- agent decorators become agent spans
- task and operation decorators become task spans
- tool and guardrail decorators retain their matching Respan log types
- AgentOps LLM spans keep their GenAI messages and usage, with AgentOps'
  request-type and function fields promoted to the canonical Respan contract

The adapter does not initialize the AgentOps exporter. Activate Respan before
calling AgentOps-decorated code:

```python
from agentops import task, trace
from respan import Respan
from respan_instrumentation_agentops import AgentOpsInstrumentor

respan = Respan(
    api_key="...",
    instrumentations=[AgentOpsInstrumentor()],
)

@task
def prepare(value: str) -> str:
    return value.upper()

@trace
def workflow(value: str) -> str:
    return prepare(value)

workflow("hello")
respan.shutdown()
```

Set `capture_content=False` on `AgentOpsInstrumentor` to omit decorator inputs
and outputs while retaining operation identity and status.

