-
Notifications
You must be signed in to change notification settings - Fork 165
Description
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.60b1Reproduction Steps
- Create a project that depends on both
mistralai[realtime]>=1.12.0and any package requiringopentelemetry-api>=1.39.0(e.g.livekit-agents>=1.3.6). - Run
pip installoruv sync. - 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.