Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/scripts/test_coreml_bc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ REPO_ROOT="${1:-$(pwd)}"
source "${REPO_ROOT}/.ci/scripts/utils.sh"

# Create a conda environment with Python 3.10 for compatibility with old ET versions
# ET 1.0.0 only supports Python >=3.10,<3.13
# ET 1.0.0 only supports Python >=3.10,<3.15
CONDA_ENV_NAME="coreml_bc_test_env"
conda create -y -n "${CONDA_ENV_NAME}" python=3.10

Expand Down
6 changes: 3 additions & 3 deletions .claude/skills/building/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,17 @@ conda activate executorch

**Path B — no conda (fall back to venv):**
```bash
# Find a compatible Python (3.10–3.13). On macOS with only Homebrew Python 3.14+,
# Find a compatible Python (3.10–3.14). On macOS with only Homebrew Python 3.14+,
# install a compatible version first: brew install python@3.12
python3.12 -m venv .executorch-venv # or python3.11, python3.10, python3.13
python3.12 -m venv .executorch-venv # or python3.11, python3.10, python3.13, python3.14
Comment on lines +26 to +28
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This note is internally inconsistent now: it says Python 3.10–3.14 is compatible, but then implies Homebrew Python 3.14+ is incompatible and suggests installing 3.12. Please update the example to match the supported range (e.g., only suggest installing an older Python if the user has 3.15+), so readers aren’t told to downgrade unnecessarily.

Copilot uses AI. Check for mistakes.
source .executorch-venv/bin/activate
pip install --upgrade pip
```

**Then verify (either path):**

Run `python --version` and `cmake --version`. Fix automatically:
- **Python not 3.10–3.13**: recreate the env with a correct Python version.
- **Python not 3.10–3.14**: recreate the env with a correct Python version.
- **cmake missing or < 3.24**: run `pip install 'cmake>=3.24'` inside the env.
- **cmake >= 4.0**: works in practice, no action needed.

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-wheels-aarch64-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-wheels-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-wheels-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-wheels-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.10", "3.11", "3.12", "3.13" ]
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The QNN wheel test job now runs on Python 3.14, but the repo’s QNN backend rules document that Python 3.13+ (NumPy 2.x) is incompatible with the PyQnnManagerAdaptor pybind11 layer and breaks QNN compilation. Unless that constraint has been lifted, consider excluding 3.14 from this QNN-specific matrix (or pinning the job to Python 3.12 + numpy<2.0 / updating the QNN pybind layer) so CI doesn’t add a known-failing configuration.

Suggested change
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
python-version: [ "3.10", "3.11", "3.12" ]

Copilot uses AI. Check for mistakes.
with:
runner: linux.2xlarge
docker-image: ci-image:executorch-ubuntu-22.04-qnn-sdk
Expand Down
2 changes: 1 addition & 1 deletion README-wheel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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, Linux aarch64, macOS aarch64

The prebuilt `executorch.runtime` module included in this package provides a way
Expand Down
2 changes: 1 addition & 1 deletion docs/source/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down
2 changes: 1 addition & 1 deletion docs/source/pathway-beginner.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Install ExecuTorch and verify your setup before attempting to export a model.

Install the ExecuTorch Python package, export a MobileNet V2 model using XNNPACK, and run your first inference. This is the canonical entry point for all new users.

**Difficulty:** Beginner | **Prerequisites:** Python 3.10–3.13, PyTorch, g++7+ or clang5+
**Difficulty:** Beginner | **Prerequisites:** Python 3.10–3.14, PyTorch, g++7+ or clang5+
:::

::::
Expand Down
2 changes: 1 addition & 1 deletion docs/source/pathway-quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Follow the {doc}`llm/llama` guide for the complete Llama export and deployment w

## The 5-Minute Setup

If you have not yet installed ExecuTorch, run the following in a Python 3.10–3.13 virtual environment:
If you have not yet installed ExecuTorch, run the following in a Python 3.10–3.14 virtual environment:

```bash
pip install executorch
Expand Down
2 changes: 1 addition & 1 deletion docs/source/quick-start-section.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Follow these guides in order to get started with ExecuTorch:

## Prerequisites

- Python 3.10–3.13
- Python 3.10–3.14
- PyTorch 2.9+
- Basic familiarity with PyTorch model development

Expand Down
6 changes: 3 additions & 3 deletions docs/source/raspberry_pi_llama_tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

This tutorial demonstrates how to deploy **Llama models on Raspberry Pi 4/5 devices** using ExecuTorch:

- **Prerequisites**: Linux host machine, Python 3.10-3.13, conda environment, Raspberry Pi 4/5
- **Prerequisites**: Linux host machine, Python 3.10-3.14, conda environment, Raspberry Pi 4/5
- **Setup**: Automated cross-compilation using `setup.sh` script for ARM toolchain installation
- **Export**: Convert Llama models to optimized `.pte` format with quantization options
- **Deploy**: Transfer binaries to Raspberry Pi and configure runtime libraries
Expand All @@ -19,7 +19,7 @@ This tutorial demonstrates how to deploy **Llama models on Raspberry Pi 4/5 devi

**Software Dependencies**:

- **Python 3.10-3.13** (ExecuTorch requirement)
- **Python 3.10-3.14** (ExecuTorch requirement)
- **conda** or **venv** for environment management
- **CMake 3.29.6+**
- **Git** for repository cloning
Expand All @@ -42,7 +42,7 @@ uname -s # Should output: Linux
uname -m # Should output: x86_64

# Check Python version
python3 --version # Should be 3.10-3.13
python3 --version # Should be 3.10-3.14

# Check required tools
hash cmake git md5sum 2>/dev/null || echo "Missing required tools"
Expand Down
2 changes: 1 addition & 1 deletion docs/source/using-executorch-building-from-source.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -151,7 +152,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
Expand Down
Loading