Metadata-Version: 2.4
Name: tp_trace
Version: 0.3.0
Summary: tp_trace: High-performance Python Observability SDK for OpenTelemetry
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: opentelemetry-api>=1.20.0
Requires-Dist: opentelemetry-sdk>=1.20.0
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.20.0
Requires-Dist: opentelemetry-instrumentation-requests>=0.44b0
Requires-Dist: opentelemetry-instrumentation-psycopg2>=0.44b0
Requires-Dist: opentelemetry-instrumentation-redis>=0.44b0
Requires-Dist: opentelemetry-instrumentation-botocore>=0.44b0
Requires-Dist: opentelemetry-instrumentation-celery>=0.54b1
Requires-Dist: opentelemetry-instrumentation-django>=0.44b0
Requires-Dist: wrapt>=1.14.0
Requires-Dist: urllib3<2,>=1.26.0; python_version < "3.9"
Provides-Extra: django
Requires-Dist: django>=4.2; extra == "django"
Requires-Dist: opentelemetry-instrumentation-django>=0.44b0; extra == "django"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: botocore>=1.37.38; extra == "dev"
Requires-Dist: build>=1.0.0; extra == "dev"
Requires-Dist: requests>=2.25.0; extra == "dev"
Requires-Dist: redis>=3.5.0; extra == "dev"
Requires-Dist: celery>=5.0; extra == "dev"
Requires-Dist: django>=4.2; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; python_version >= "3.10" and extra == "dev"
Requires-Dist: pre-commit>=3.0.0; extra == "dev"

# tp_trace

`tp_trace` adds OpenTelemetry tracing to Django applications. It creates a request trace and, when the relevant libraries are installed, records Django, PostgreSQL, Redis, `requests`, and Boto3 work beneath it.

The SDK exports OTLP traces to the team's telemetry endpoint. Tempo stores the traces and Grafana is where developers inspect them.

## Start here

- [Run the local development stack](dev/README.md) (`make rebuild` for the first start, `make up` thereafter)
- [Tutorial: see your first trace](docs/tutorials/first-trace.md)
- [How-to: configure tp_trace](docs/how-to/configure-tp-trace.md)
- [How-to: investigate a slow or failing request](docs/how-to/investigate-a-request.md)

## Reference

- [Configuration](docs/reference/configuration.md)
- [Supported integrations](docs/reference/integrations.md)
- [Dashboards](docs/reference/dashboards.md)
- [Deployment endpoints](docs/reference/deployment.md)

## Background

- [How tracing moves through the stack](docs/explanation/architecture.md)
- [How instrumentation works](docs/explanation/instrumentation.md)
- [Design decisions and trade-offs](docs/explanation/design-decisions.md)
- [Observability basics](docs/explanation/observability-basics.md)

## Requirements

Python 3.8 or later is required. The Django integration supports Django 4.2 or later. Each optional integration is enabled only when its library is installed.

## Contributing

- [Code conventions](docs/code-conventions.md)
- [Agent instructions and maintenance skills](AGENTS.md)
