Skip to content

Review opentelemetry-configuration dependency choices before 1.0 #5392

Description

@MikeGoldsmith

Before opentelemetry-configuration reaches 1.0, revisit two dependency-choice questions raised during the PR that extracted the package (#5356).

1. SDK / API version pinning

Today the package pins opentelemetry-api == 1.44.0.dev and opentelemetry-sdk == 1.44.0.dev. The pin is required because the package uses developmental/unstable functionality from the SDK that is not covered by the SDK's stable API guarantees, so a ~= compatible-release specifier would risk silent breakage across minor versions.

Once the SDK internals used by opentelemetry-configuration are either stable or replaced with public API, relax the pin to opentelemetry-api ~= X.Y and opentelemetry-sdk ~= X.Y.

Raised by @herin049 in #5356 review, reiterated by @lzchen in #5356.

2. yaml / json extras

Today pyyaml >= 5.4 and jsonschema >= 4.0 are both required top-level dependencies. Users who only want to load JSON configuration still pay the pyyaml install cost. Consider whether to split parsing into [yaml] and [json] extras (or a single [yaml] extra with json remaining in the base install, since json is stdlib).

Decision was to keep pyyaml as a required dep for now because YAML is what the spec and docs lead with, and the common path shouldn't be one install step longer. Revisit if there is real demand for JSON-only installs.

Raised by @herin049 in #5356 review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    configIssues and PRs related to implementing Declarative Config

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions