Metadata-Version: 2.4
Name: connectrpc-otel
Version: 0.1.1
Summary: OpenTelemetry instrumentation for connectrpc
Keywords: connect-python,connectrpc,middleware,observability,opentelemetry,otel,tracing
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Networking
Requires-Dist: opentelemetry-api>=1.39.1
Requires-Dist: opentelemetry-instrumentation>=0.60b1
Maintainer: Anuraag Agrawal, Spencer Nelson, Stefan VanBuren, Yasushi Itoh
Maintainer-email: Anuraag Agrawal <anuraaga@gmail.com>, Spencer Nelson <spencer@firetiger.com>, Stefan VanBuren <svanburen@buf.build>, Yasushi Itoh <i2y.may.roku@gmail.com>
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/connectrpc/connect-python
Project-URL: Issues, https://github.com/connectrpc/connect-python/issues
Project-URL: Repository, https://github.com/connectrpc/connect-python
Description-Content-Type: text/markdown

# connectrpc-otel

OpenTelemetry instrumentation for connect-python to generate server and client spans and metrics
for ConnectRPC requests with support for auto-instrumentation.

## Example

```python

from connectrpc_otel import OpenTelemetryInterceptor

from eliza_connect import ElizaServiceWSGIApplication, ElizaServiceClientSync

from ._service import MyElizaService

app = ElizaServiceWSGIApplication(MyElizaService(), interceptors=[OpenTelemetryInterceptor()])

def make_request():
    client = ElizaServiceClientSync("http://localhost:8080", interceptors=[OpenTelemetryInterceptor(client=True)])
    resp = client.Say(SayRequest(sentence="Hello!"))
    print(resp)
```
