Skip to content

[BUG CLIENT]: opentelemetry-semantic-conventions upper bound <0.60 blocks compatibility with opentelemetry-api>=1.39.0 #341

@zkewal

Description

@zkewal

Python -VV

Python 3.11.12 | packaged by conda-forge | (main, Apr 10 2025, 22:18:52) [Clang 18.1.8 ]

Pip Freeze

mistralai==1.12.0
opentelemetry-api==1.39.1
opentelemetry-exporter-otlp-proto-http==1.39.1
opentelemetry-sdk==1.39.1
opentelemetry-semantic-conventions==0.60b1

Reproduction Steps

  1. Create a project that depends on both mistralai[realtime]>=1.12.0 and any package requiring opentelemetry-api>=1.39.0 (e.g. livekit-agents>=1.3.6).
  2. Run pip install or uv sync.
  3. Resolution fails with a dependency conflict:
× No solution found when resolving dependencies:
╰─▶ Because opentelemetry-semantic-conventions==0.59b0 depends on
    opentelemetry-api==1.38.0 and only the following versions of
    opentelemetry-semantic-conventions are available:
        opentelemetry-semantic-conventions<=0.59b0
        opentelemetry-semantic-conventions>0.60
    we can conclude that opentelemetry-semantic-conventions>=0.59b0,<0.60
    depends on opentelemetry-api==1.38.0.
    And because mistralai==1.12.0 depends on
    opentelemetry-semantic-conventions>=0.59b0,<0.60 and only
    mistralai[realtime]<=1.12.0 is available, we can conclude that
    mistralai[realtime]>=1.12.0 depends on opentelemetry-api==1.38.0.

Root cause in pyproject.toml:

"opentelemetry-semantic-conventions (>=0.59b0,<0.60)",

<0.60 excludes pre-releases 0.60b0 and 0.60b1, leaving 0.59b0 as the only match. That version pins opentelemetry-api==1.38.0, so anything needing >=1.39.0 hits an unresolvable conflict.

Expected Behavior

mistralai[realtime]>=1.12.0 should install alongside packages requiring opentelemetry-api>=1.39.0. OpenTelemetry packages release in lockstep; opentelemetry-semantic-conventions==0.60b1 requires opentelemetry-api==1.39.1.

Additional Context

CI failure from livekit/agents: https://github.com/livekit/agents/actions/runs/21839471789/job/63019576507?pr=4773#step:5:13

Semantic-conventions versions and their pinned API versions:

opentelemetry-semantic-conventions Pins opentelemetry-api to
0.59b0 1.38.0
0.60b0 1.39.0
0.60b1 1.39.1

mistralai's other otel deps already allow 1.39.x:

  • opentelemetry-sdk (>=1.33.1,<2.0.0)
  • opentelemetry-api (>=1.33.1,<2.0.0)
  • opentelemetry-exporter-otlp-proto-http (>=1.37.0,<2.0.0)

Only opentelemetry-semantic-conventions (>=0.59b0,<0.60) is the bottleneck.

Suggested Solutions

Widen the upper bound in pyproject.toml:

-    "opentelemetry-semantic-conventions (>=0.59b0,<0.60)",
+    "opentelemetry-semantic-conventions (>=0.59b0,<0.61)",

Lets the resolver pick 0.60b1 (requires opentelemetry-api==1.39.1), fixing the conflict while staying within the SDK's existing opentelemetry-api (>=1.33.1,<2.0.0) bound.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions