Skip to content

Drop Python <3.14 restriction (onnxruntime 1.24.1 supports it)#415

Open
basnijholt wants to merge 11 commits intomainfrom
drop-python-3.13-restriction
Open

Drop Python <3.14 restriction (onnxruntime 1.24.1 supports it)#415
basnijholt wants to merge 11 commits intomainfrom
drop-python-3.13-restriction

Conversation

@basnijholt
Copy link
Owner

@basnijholt basnijholt commented Feb 6, 2026

Summary

  • Remove the requires-python = ">=3.11,<3.14" upper bound from pyproject.toml now that onnxruntime 1.24.1 supports Python 3.14
  • Bump onnxruntime lower bound to >=1.24.1 on non-Windows to ensure the resolver picks a version with Python 3.14 wheels
  • Keep >=1.17.0/>=1.16.0 on Windows because markitdown pins onnxruntime<=1.20.1 there (upstream PR: Remove onnxruntime<=1.20.1 Windows pin microsoft/markitdown#1551)
  • Remove all Python 3.13 capping workarounds in deps.py (uv tool install capping, uvx --python 3.13 re-exec, -p 3.13 in install hints)
  • Remove whisper service python_version="3.13" pin in service_config.py
  • Update CI test matrix from ["3.11", "3.13"] to ["3.11", "3.14"]
  • Remove all -p 3.13 flags and related notes from docs, README, SKILL files, and plugin README
  • Remove <3.14 upper bound from wyoming-mlx-whisper/pyproject.toml

Note: tts-kokoro remains pinned to Python 3.12 (separate issue — curated-tokenizers via kokoro→misaki→spacy lacks 3.13 wheels).

basnijholt and others added 8 commits February 5, 2026 19:07
Remove the requires-python upper bound (<3.14) and all related workarounds
that were in place because onnxruntime lacked Python 3.14 wheels:

- pyproject.toml: remove <3.14 constraint
- deps.py: remove Python 3.13 capping in uv tool install and uvx re-exec
- deps.py: remove -p 3.13 from install hint messages
- service_config.py: remove whisper service python_version='3.13' pin
- CI: update test matrix from 3.13 to 3.14
- docs/README: remove all -p 3.13 flags and related notes
- wyoming-mlx-whisper: remove <3.14 upper bound

Note: tts-kokoro remains pinned to Python 3.12 (separate issue with
curated-tokenizers lacking 3.13 wheels).
Bump onnxruntime lower bound to >=1.24.1 on non-Windows platforms to
ensure the resolver picks a version with Python 3.14 wheels. On Windows,
keep >=1.17.0/>=1.16.0 because markitdown pins onnxruntime<=1.20.1
(microsoft/markitdown#1266, PR #1465 pending to lift it).
Force onnxruntime>=1.24.1 on non-Windows so the resolver picks a version
with Python 3.14 wheels. On Windows, markitdown caps onnxruntime<=1.20.1
(microsoft/markitdown#1551), so keep the original lower bounds there.

Skip rag/memory extras in CI on Python 3.14 because chromadb still uses
pydantic v1 which is incompatible with 3.14.
Remove platform-split onnxruntime pins — uv resolves the right version
per platform via markitdown's transitive constraint anyway. Revert the
CI workaround that skipped rag/memory on 3.14.
markitdown caps onnxruntime<=1.20.1 on Windows which has no 3.14 wheels
(microsoft/markitdown#1551)
@basnijholt basnijholt force-pushed the drop-python-3.13-restriction branch from b608902 to 937c95f Compare February 6, 2026 04:00
Patch pydantic at runtime so chromadb's broken pydantic v1 usage works
on 3.14. Remove once chromadb ships a fix (chroma-core/chroma#6356).
@basnijholt basnijholt force-pushed the drop-python-3.13-restriction branch from ec4dd94 to 6f868f5 Compare February 6, 2026 04:10
First chromadb import can be slow on 3.14 due to the monkeypatch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant