Metadata-Version: 2.4
Name: forgesight-otel
Version: 0.1.1
Summary: ForgeSight OpenTelemetry exporter — maps records to OTLP spans via the GenAI semantic conventions.
Project-URL: Homepage, https://github.com/Scaffoldic/forgesight
Project-URL: Repository, https://github.com/Scaffoldic/forgesight
Project-URL: Issues, https://github.com/Scaffoldic/forgesight/issues
Project-URL: Changelog, https://github.com/Scaffoldic/forgesight/blob/main/docs/releases/v0.1.md
Author: kjoshi
License-Expression: Apache-2.0
Keywords: ai-agents,forgesight,genai,observability,opentelemetry,otlp
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: System :: Monitoring
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: forgesight-core
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.27
Requires-Dist: opentelemetry-sdk>=1.27
Provides-Extra: grpc
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.27; extra == 'grpc'
Description-Content-Type: text/markdown

# forgesight-otel

The OpenTelemetry exporter for [ForgeSight](https://github.com/Scaffoldic/forgesight).
Maps ForgeSight `Record`s onto OTLP spans using the OpenTelemetry **GenAI semantic
conventions** — so anything that ingests OTLP (Datadog, Honeycomb, Jaeger, Grafana
Tempo, SigNoz, New Relic, Arize Phoenix) works with no additional package.

```bash
pip install forgesight-otel
```

```python
import forgesight
from forgesight_otel import OTelExporter

forgesight.configure(exporters=[OTelExporter(endpoint="http://otel-collector:4318")])
```

Or enable by name via config (`exporters: [{name: otel, config: {...}}]`) — it
registers under the `forgesight.exporters` entry point.

- Provider discriminator: `gen_ai.provider.name` (legacy `gen_ai.system` opt-in).
- Cost: emitted as the extension attribute `forgesight.usage.cost_usd` (OTel defines
  no cost attribute).
- Prompt/response content is **off by default** (`capture_content=True` to opt in).
- gRPC transport: `pip install forgesight-otel[grpc]` + `protocol="grpc"`.

## License

Apache-2.0
