Skip to content
Draft
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 .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"]'
python-versions: '["3.10", "3.11", "3.12", "3.13"]'

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"]'
python-versions: '["3.10", "3.11", "3.12", "3.13"]'

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"]'
python-versions: '["3.10", "3.11", "3.12", "3.13"]'

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 @@ -27,7 +27,7 @@ jobs:
test-infra-ref: main
with-cuda: disabled
with-rocm: disabled
python-versions: '["3.10", "3.11", "3.12"]'
python-versions: '["3.10", "3.11", "3.12", "3.13"]'

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 @@ -22,7 +22,7 @@ jobs:
# strategy:
# fail-fast: false
# matrix:
# python-version: [ "3.10", "3.11", "3.12" ]
# python-version: [ "3.10", "3.11", "3.12", "3.13" ]
# 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
* Supported python versions: 3.10, 3.11, 3.12, 3.13
* Compatible systems: Linux x86_64, macOS aarch64

The prebuilt `executorch.runtime` module included in this package provides a way
Expand Down
5 changes: 0 additions & 5 deletions docs/source/backends/coreml/coreml-troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@ This page describes common issues that you may encounter when using the Core ML

This happens because the model is in FP16, but Core ML interprets some of the arguments as FP32, which leads to a type mismatch. The solution is to keep the PyTorch model in FP32. Note that the model will be still be converted to FP16 during lowering to Core ML unless specified otherwise in the compute_precision [Core ML `CompileSpec`](coreml-partitioner.md#coreml-compilespec). Also see the [related issue in coremltools](https://github.com/apple/coremltools/issues/2480).

2. coremltools/converters/mil/backend/mil/load.py", line 499, in export
raise RuntimeError("BlobWriter not loaded")

If you're using Python 3.13, try reducing your python version to Python 3.12. coremltools does not support Python 3.13 per [coremltools issue #2487](https://github.com/apple/coremltools/issues/2487).

### Issues during runtime
1. [ETCoreMLModelCompiler.mm:55] [Core ML] Failed to compile model, error = Error Domain=com.apple.mlassetio Code=1 "Failed to parse the model specification. Error: Unable to parse ML Program: at unknown location: Unknown opset 'CoreML7'." UserInfo={NSLocalizedDescription=Failed to par$

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.12
- Python 3.10 - 3.13
- 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/quick-start-section.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Follow these guides in order to get started with ExecuTorch:

## Prerequisites

- Python 3.10-3.12
- Python 3.10-3.13
- 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.12, conda environment, Raspberry Pi 4/5
- **Prerequisites**: Linux host machine, Python 3.10-3.13, 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.12** (ExecuTorch requirement)
- **Python 3.10-3.13** (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.12
python3 --version # Should be 3.10-3.13

# 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.12
* `python` version 3.10-3.13
* `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 @@ -47,11 +47,12 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]

# Python dependencies required for use.
# coremltools has issue with python 3.13, see https://github.com/apple/coremltools/issues/2487
requires-python = ">=3.10,<3.13"
requires-python = ">=3.10,<3.14"
dependencies=[
"expecttest",
"flatbuffers",
Expand Down Expand Up @@ -132,4 +133,4 @@ 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"]
target-version = ["py38", "py39", "py310", "py311", "py312", "py313"]