add Python 3.14 support and bump youtube-transcript-api for compatibility#2077
add Python 3.14 support and bump youtube-transcript-api for compatibility#2077shatovilya wants to merge 2 commits into
Conversation
Extend CI testing to Python 3.14, add PyPI classifiers across all packages, document 3.10–3.14 support in the README, and bump Docker images to python:3.14 while keeping requires-python >=3.10. Co-authored-by: Cursor <cursoragent@cursor.com>
…bility Updated youtube-transcript-api dependency from ~=1.0.0 to ~=1.2.3 to ensure compatibility with Python 3.14. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@microsoft-github-policy-service agree |
noezhiya-dot
left a comment
There was a problem hiding this comment.
Clean Python 3.14 support PR. The changes are straightforward and well-scoped:
- CI matrix updated to include 3.14
- Docker images bumped from 3.13 to 3.14
- All pyproject.toml classifiers updated consistently across 4 packages
- README updated with correct version references
- youtube-transcript-api bump from ~1.0.0 to ~1.2.3 is a sensible dependency update for 3.14 compatibility
One observation: the Dockerfile base image change from python:3.13-slim-bullseye to python:3.14-slim-bullseye means the production Docker image will now require Python 3.14 to be available. This is forward-looking and appropriate for a project adding 3.14 support, but worth noting for users who rely on the Docker image and may not have 3.14 in their base image registry yet.
All changes look correct. Approve.
Code Review: add Python 3.14 support and bump youtube-transcript-api for compatibilityStrengths
Concerns
The CI + classifier additions are good. The Dockerfile and README should be more conservative. The dependency bump needs a compatibility note. |
Summary
According to the official Python release lifecycle, each feature release has a
limited bugfix window and then transitions to security-only support
(Python Developer Guide: Status of Python versions).
Python 3.13 is approaching that transition window, so this PR proactively adds
first-class Python 3.14 support across the monorepo while preserving backward
compatibility with Python 3.10.
Why now (official Python lifecycle context)
Python branch support phases are defined in the official docs:
References:
This change aligns MarkItDown with the current CPython release cadence and
reduces risk as 3.13 progresses through its support lifecycle.
Changes
packages/markitdownProgramming Language :: Python :: 3.14classifier inpyproject.tomlyoutube-transcript-apifrom~=1.0.0to~=1.2.3for Python 3.14 compatibilitypackages/markitdown-mcp,packages/markitdown-ocr,packages/markitdown-sample-pluginProgramming Language :: Python :: 3.14classifier in eachpyproject.tomlCI (
.github/workflows/tests.yml)3.14to thesetup-pythonmatrix (with 3.10, 3.11, 3.12)Docker
python:3.13-slim-bullseye->python:3.14-slim-bullseyeDockerfileandpackages/markitdown-mcp/DockerfileDocumentation (
README.md)uv venvandconda createexamples to use Python 3.14Test Results
Full suite (
hatch test) was validated locally in Docker across officialpython:X.Y-slim-bookwormimages:Observed result per run: 333 passed, 3 skipped.
Skipped tests (
test_module_misc,test_pdf_memory) are pre-existing andconsistent across all tested Python versions.
Backward Compatibility
requires-python = ">=3.10"remains unchangedChecklist