[BUG CLIENT]: `opentelemetry-semantic-conventions` upper bound `<0.60` blocks compatibility with `opentelemetry-api>=1.39.0`
envgap__mistralai__client-python-341
01 / FAILURE SIGNATURE
As reported upstream
No identifying execution failure has been captured.
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
6475b1caefd308c35e48d469a4bc9a314a81a10a- Manifest
pyproject.toml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
mistralai/client-python #341 · read the original issue
### Python -VV
```shell
Python 3.11.12 | packaged by conda-forge | (main, Apr 10 2025, 22:18:52) [Clang 18.1.8 ]
```
### Pip Freeze
```shell
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`:
```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`:
```diff
- "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.04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]