From 227e7aa5b075eca7b10965d47e92f7ff03092857 Mon Sep 17 00:00:00 2001 From: Manuel Candales Date: Tue, 17 Mar 2026 22:08:13 -0400 Subject: [PATCH] Add Python 3.14 support Add Python 3.14 to wheel build matrices, pyproject.toml classifiers, requires-python range, black target versions, and documentation. Note: the tokenizers submodule (extension/llm/tokenizers) needs a separate update in its own repo. --- .github/workflows/build-wheels-aarch64-linux.yml | 2 +- .github/workflows/build-wheels-linux.yml | 2 +- .github/workflows/build-wheels-macos.yml | 2 +- .github/workflows/build-wheels-windows.yml | 2 +- README-wheel.md | 2 +- docs/source/getting-started.md | 2 +- docs/source/using-executorch-building-from-source.md | 2 +- pyproject.toml | 5 +++-- 8 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-wheels-aarch64-linux.yml b/.github/workflows/build-wheels-aarch64-linux.yml index b8729058ec8..d38f738b551 100644 --- a/.github/workflows/build-wheels-aarch64-linux.yml +++ b/.github/workflows/build-wheels-aarch64-linux.yml @@ -32,7 +32,7 @@ jobs: test-infra-ref: main with-cuda: disabled with-rocm: disabled - python-versions: '["3.10", "3.11", "3.12", "3.13"]' + python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]' build: needs: generate-matrix diff --git a/.github/workflows/build-wheels-linux.yml b/.github/workflows/build-wheels-linux.yml index a149c4f5df0..bd43055fa38 100644 --- a/.github/workflows/build-wheels-linux.yml +++ b/.github/workflows/build-wheels-linux.yml @@ -32,7 +32,7 @@ jobs: test-infra-ref: main with-cuda: disabled with-rocm: disabled - python-versions: '["3.10", "3.11", "3.12", "3.13"]' + python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]' build: needs: generate-matrix diff --git a/.github/workflows/build-wheels-macos.yml b/.github/workflows/build-wheels-macos.yml index 16da31ddd6d..f5c6c6b083e 100644 --- a/.github/workflows/build-wheels-macos.yml +++ b/.github/workflows/build-wheels-macos.yml @@ -32,7 +32,7 @@ jobs: test-infra-ref: main with-cuda: disabled with-rocm: disabled - python-versions: '["3.10", "3.11", "3.12", "3.13"]' + python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]' build: needs: generate-matrix diff --git a/.github/workflows/build-wheels-windows.yml b/.github/workflows/build-wheels-windows.yml index 7fe6f880878..9ab4f96c9cb 100644 --- a/.github/workflows/build-wheels-windows.yml +++ b/.github/workflows/build-wheels-windows.yml @@ -35,7 +35,7 @@ jobs: test-infra-ref: main with-cuda: disabled with-rocm: disabled - python-versions: '["3.10", "3.11", "3.12", "3.13"]' + python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]' build: needs: generate-matrix diff --git a/README-wheel.md b/README-wheel.md index a1e70a2daef..ddfbdd9fda1 100644 --- a/README-wheel.md +++ b/README-wheel.md @@ -5,7 +5,7 @@ ExecuTorch is to enable wider customization and deployment capabilities of the PyTorch programs. The `executorch` pip package is in beta. -* Supported python versions: 3.10, 3.11, 3.12, 3.13 +* Supported python versions: 3.10, 3.11, 3.12, 3.13, 3.14 * Compatible systems: Linux x86_64, macOS aarch64 The prebuilt `executorch.runtime` module included in this package provides a way diff --git a/docs/source/getting-started.md b/docs/source/getting-started.md index 43036cc0e8d..1dabbaf212c 100644 --- a/docs/source/getting-started.md +++ b/docs/source/getting-started.md @@ -8,7 +8,7 @@ This section is intended to describe the necessary steps to take a PyTorch model ## System Requirements The following are required to install the ExecuTorch host libraries, needed to export models and run from Python. Requirements for target end-user devices are backend dependent. See the appropriate backend documentation for more information. -- Python 3.10 - 3.13 +- Python 3.10 - 3.14 - g++ version 7 or higher, clang++ version 5 or higher, or another C++17-compatible toolchain. - Linux (x86_64 or ARM64), macOS (ARM64), or Windows (x86_64). - Intel-based macOS systems require building PyTorch from source (see [Building From Source](using-executorch-building-from-source.md) for instructions). diff --git a/docs/source/using-executorch-building-from-source.md b/docs/source/using-executorch-building-from-source.md index 7ca8cdd6352..f5722d5b1ec 100644 --- a/docs/source/using-executorch-building-from-source.md +++ b/docs/source/using-executorch-building-from-source.md @@ -28,7 +28,7 @@ ExecuTorch is tested on the following systems, although it should also work in s - Otherwise, Python's built-in virtual environment manager `python venv` is a good alternative. * `g++` version 7 or higher, `clang++` version 5 or higher, or another C++17-compatible toolchain. -* `python` version 3.10-3.13 +* `python` version 3.10-3.14 * `ccache` (optional) - A compiler cache that speeds up recompilation * **macOS** - `Xcode Command Line Tools` diff --git a/pyproject.toml b/pyproject.toml index 27d503f9597..a2350664e6e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,9 +48,10 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] -requires-python = ">=3.10,<3.14" +requires-python = ">=3.10,<3.15" dependencies=[ "expecttest", "flatbuffers", @@ -133,7 +134,7 @@ first_party_detection = false # Emit syntax compatible with older versions of python instead of only the range # specified by `requires-python`. TODO: Remove this once we support these older # versions of python and can expand the `requires-python` range. -target-version = ["py38", "py39", "py310", "py311", "py312", "py313"] +target-version = ["py38", "py39", "py310", "py311", "py312", "py313", "py314"] [tool.docformatter] black = true