Cargo Features

[dependencies]
pyo3-tracing-subscriber = { version = "0.2.0", default-features = false, features = ["layer-otel-otlp", "layer-otel-otlp-file", "stubs", "pyo3", "extension-module"] }
default = extension-module

The extension-module feature is set by default whenever pyo3-tracing-subscriber is added without default-features = false somewhere in the dependency tree.

layer-otel-otlp = layer-otel-otlp-file

Enables tonic ^0.12.3

layer-otel-otlp-file layer-otel-otlp?

Enables opentelemetry-otlp ^0.27.0 and opentelemetry-proto ^0.27.0

opentelemetry-otlp:

These packages *MUST* be kept in sync with the OTEL package versions; but since they are optional, they cannot be workspace dependencies.

stubs

Enables handlebars ^4.4.0

Affects pyo3-tracing-subscriber::stubs

pyo3 extension-module

Enables pyo3 ^0.20.0 and pyo3-asyncio

Affects pyo3-tracing-subscriber::add_submodule

extension-module default = pyo3

Enables extension-module of pyo3 ^0.20.0

pyo3:

Use this feature when building an extension module.
It tells the linker to keep the python symbols unresolved,
so that the module can also be used with statically linked python interpreters.