From b4f924c39748884ec45ec0114e049cbacf1921ca Mon Sep 17 00:00:00 2001 From: Nithin Jambula Date: Tue, 8 Sep 2026 00:43:12 +0530 Subject: [PATCH 1/3] fix: bump youtube-transcript-api to >=1.2.3 for Python 3.14 support --- packages/markitdown/pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/markitdown/pyproject.toml b/packages/markitdown/pyproject.toml index d4c20a402c..58448d2ce9 100644 --- a/packages/markitdown/pyproject.toml +++ b/packages/markitdown/pyproject.toml @@ -20,6 +20,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", ] @@ -45,7 +46,7 @@ all = [ "olefile", "pydub", "SpeechRecognition", - "youtube-transcript-api~=1.0.0", + "youtube-transcript-api>=1.2.3", "azure-ai-documentintelligence", "azure-ai-contentunderstanding>=1.2.0b1", "azure-identity", From 4a8541c59b5fe09081893f8d74320bdd630de07c Mon Sep 17 00:00:00 2001 From: Adam Fourney Date: Mon, 21 Sep 2026 09:09:54 -0700 Subject: [PATCH 2/3] Add 3.14 to test matrix, and limit advertised compatibility. --- .github/workflows/tests.yml | 9 ++++++--- README.md | 2 +- packages/markitdown/pyproject.toml | 6 +++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1e725ec1b1..31da5bc9b2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] include: - os: windows-latest python-version: "3.12" @@ -29,6 +29,9 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install YouTube transcription extra + run: pip install "./packages/markitdown[youtube-transcription]" + - name: Install Hatch run: pipx install hatch - name: Run tests @@ -42,7 +45,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] include: - os: windows-latest python-version: "3.12" @@ -71,7 +74,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] include: - os: windows-latest python-version: "3.12" diff --git a/README.md b/README.md index 5c5a0ccaa5..fa33f6b343 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Markdown-formatted text, and understand it well. As a side benefit, Markdown con are also highly token-efficient. ## Prerequisites -MarkItDown requires Python 3.10 or higher. It is recommended to use a virtual environment to avoid dependency conflicts. +MarkItDown requires Python 3.10 through 3.14. It is recommended to use a virtual environment to avoid dependency conflicts. With the standard Python installation, you can create and activate a virtual environment using the following commands: diff --git a/packages/markitdown/pyproject.toml b/packages/markitdown/pyproject.toml index 58448d2ce9..43144043da 100644 --- a/packages/markitdown/pyproject.toml +++ b/packages/markitdown/pyproject.toml @@ -7,7 +7,7 @@ name = "markitdown" dynamic = ["version"] description = 'Utility tool for converting various files to Markdown' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.10,<3.15" license = "MIT" keywords = [] authors = [ @@ -46,7 +46,7 @@ all = [ "olefile", "pydub", "SpeechRecognition", - "youtube-transcript-api>=1.2.3", + "youtube-transcript-api~=1.2.3", "azure-ai-documentintelligence", "azure-ai-contentunderstanding>=1.2.0b1", "azure-identity", @@ -58,7 +58,7 @@ xls = ["pandas", "xlrd"] pdf = ["pdfminer.six>=20251230", "pdfplumber>=0.11.9"] outlook = ["olefile"] audio-transcription = ["pydub", "SpeechRecognition"] -youtube-transcription = ["youtube-transcript-api"] +youtube-transcription = ["youtube-transcript-api~=1.2.3"] az-doc-intel = ["azure-ai-documentintelligence", "azure-identity"] # >=1.2.0b1 required for to_llm_input() helper used by ContentUnderstandingConverter az-content-understanding = ["azure-ai-contentunderstanding>=1.2.0b1", "azure-identity"] From 15f8b1161f8e5954fa322ef21f9f5b0523cde46b Mon Sep 17 00:00:00 2001 From: Adam Fourney Date: Mon, 21 Sep 2026 09:14:33 -0700 Subject: [PATCH 3/3] Don't explicitly install youtube-transcription in the CI --- .github/workflows/tests.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 31da5bc9b2..ddb6eac8dc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -29,9 +29,6 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: Install YouTube transcription extra - run: pip install "./packages/markitdown[youtube-transcription]" - - name: Install Hatch run: pipx install hatch - name: Run tests