open-telemetry / open-telemetry/opentelemetry-python

Add declarative configuration prototype

Open
#3,631 2 comments 0 reactions 1 assignee View on GitHub

@MikeGoldsmith is already working on this.

Since Mar 10, 2026.

config feature-request
Dominant language
Python
Stars
2.6k
Forks
1k
Avg merge
4d 15h
Merged PRs (30d)
19

Description

TODO:

  • Generate model code from JSON schema #4879
  • Core Loading & Validation #4898
  • Update to 1.0.0 spec #4965
  • Resource & Propagator Creation #4979
  • TracerProvider Creation #4985
  • MeterProvider Creation #4987
  • LoggerProvider Creation #4990
  • Process resource detector #5001
  • Host resource detector #5002
  • Service resource detector #5003
  • Container resource detector #5004
  • Pull metric reader support #5216
  • Metric producer support #5073
  • composite samplers #5201

Loading of third party components:

  • Update generation logic to support additional fields #5131
  • Generic resource detector plugin loading #5129
  • Generic exporter plugin loading #5128
  • Generic propagator plugin loading #5098
  • Generic sampler plugin loading #5095
  • Convert factory functions to accept raw dicts from YAML loader #5269
  • Unify declarative and env-var configuration through a shared SDK orchestrator #5126
    • configure_sdk orchestrator (Phase 1) #5270
    • env-var-to-config adapter (Phase 2)

Fixes

Spec parity

  • Bump declarative configuration schema to v1.1.0 #5333
  • Wire id_generator from declarative configuration to TracerProvider #5334

Behaviour decisions

  • Decide OTEL_PYTHON_* env-var behaviour when OTEL_CONFIG_FILE is set #5335

Testing

  • Docker-tests e2e for OTEL_CONFIG_FILE plumbing #5318

Finalise API

  • Complete Integration & Public API
    • Honor OTEL_CONFIG_FILE env var in the SDK configurator #5271
    • Promote configure_sdk / load_config_file to a non-underscore public namespace #5276

Documentation

  • User-facing declarative configuration guide + runnable example, env-var path only #5309 (closes #5308)
  • Programmatic-path docs (opentelemetry.sdk.configuration) — to be tracked once #5276 lands
  • [python] Document declarative (file-based) configuration on opentelemetry.io open-telemetry/opentelemetry.io#10475
  • Publish declarative config spec conformance matrix #5346

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.