[package] name = "pyo3-tracing-subscriber" version = "0.1.4" edition = "2021" categories = ["development-tools::ffi", "development-tools::profiling"] keywords = ["python", "pyo3", "opentelemetry", "tracing"] license = "Apache-2.0" readme = "./README.md" description = "A Python module for configuring and initializing tracing subscribers from Python." repository = "https://github.com/rigetti/pyo3-opentelemetry" rust-version = "1.70.0" [dependencies] handlebars = { version = "4.4.0", optional = true } pyo3 = { workspace = true, optional = true } opentelemetry = { workspace = true } # These packages *MUST* be kept in sync with the OTEL package versions; but # since they are optional, they cannot be workspace dependencies. opentelemetry-otlp = { version = "0.25.0", features = ["grpc-tonic", "trace", "tls-roots"], optional = true } opentelemetry-proto = { version = "0.25.0", optional = true, features = ["tonic"] } opentelemetry_sdk = { workspace = true, features = ["rt-tokio", "rt-tokio-current-thread"] } pyo3-asyncio = { workspace = true, features = ["tokio-runtime"], optional = true } serde = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread"] } tonic = { version = "0.12.3", features = ["tls", "tls-roots"], optional = true } tracing = { workspace = true } tracing-opentelemetry = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "fmt", "json"] } futures-core = "0.3.30" serde_json = "1.0.128" [features] layer-otel-otlp = ["layer-otel-otlp-file", "dep:tonic"] layer-otel-otlp-file = ["dep:opentelemetry-otlp", "dep:opentelemetry-proto"] stubs = ["dep:handlebars"] pyo3 = ["dep:pyo3", "dep:pyo3-asyncio"] extension-module = ["pyo3", "pyo3/extension-module"] default = ["extension-module"] [dev-dependencies] rstest = { workspace = true } serde_json = "1.0.107"