Metadata-Version: 2.4
Name: tracemap-python
Version: 1.0.2
Summary: Thin OpenTelemetry wrapper that connects Python apps to TraceMap in 5 lines
Home-page: https://github.com/tracemap/tracemap-python
Author: TraceMap
Author-email: TraceMap <sdk@tracemap.io>
License: MIT
Project-URL: Homepage, https://tracemap.io
Project-URL: Repository, https://github.com/tracemap/tracemap-python
Project-URL: Documentation, https://docs.tracemap.io/sdks/python
Keywords: opentelemetry,tracing,observability,tracemap
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: opentelemetry-sdk>=1.25.0
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.25.0
Provides-Extra: auto
Requires-Dist: opentelemetry-instrumentation-django>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-flask>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-starlette>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-sqlalchemy>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-psycopg2>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-redis>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-requests>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-httpx>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-celery>=0.46b0; extra == "auto"
Requires-Dist: opentelemetry-instrumentation-aiohttp-client>=0.46b0; extra == "auto"
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# TraceMap Python SDK (FastAPI/ASGI)

Drop-in middleware for ASGI apps that emits spans/logs to TraceMap.

## Quick Start

```python
from fastapi import FastAPI
from tracemap import TraceMapMiddleware

app = FastAPI()
app.add_middleware(TraceMapMiddleware)
```

## Environment Variables

- `TRACEMAP_ENDPOINT` (default `http://127.0.0.1:4318`)
- `TRACEMAP_COLLECTOR_URL` (fallback)
- `TRACEMAP_SERVICE_NAME` (default `my-service`)
- `TRACEMAP_API_KEY` (optional)
- `TRACEMAP_ENABLED` (default `true`)

## Endpoint Modes

- Cloud/API mode (`.../api/ingest`): sends spans to `/api/ingest` and logs to `/logs`
- Collector mode: sends spans to `/collect/spans` and logs to `/collect/logs`

