From 10adeb9044ab0fca536a5e271e11fca7a85f42ab Mon Sep 17 00:00:00 2001 From: PyTorch MergeBot Date: Mon, 22 Sep 2025 14:13:59 +0000 Subject: [PATCH] Revert "[BE] Update Python min version to 3.10 (#162310)" This reverts commit 9f5a644f0768258bc81f8b38492754d297399f74. Reverted https://github.com/pytorch/pytorch/pull/162310 on behalf of https://github.com/malfet due to Broke lint, but to the best of my knowledge it's no longer possible to run lint for all files on PRs ([comment](https://github.com/pytorch/pytorch/pull/162310#issuecomment-3319289031)) --- .ci/docker/build.sh | 9 ++++++--- .github/workflows/docker-builds.yml | 2 +- .github/workflows/lint.yml | 6 +++--- pyproject.toml | 3 ++- setup.py | 4 ++-- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.ci/docker/build.sh b/.ci/docker/build.sh index 8672fae2bbdd..be85fdcb542d 100755 --- a/.ci/docker/build.sh +++ b/.ci/docker/build.sh @@ -262,10 +262,13 @@ case "$tag" in TRITON_CPU=yes ;; pytorch-linux-jammy-linter) - PYTHON_VERSION=3.10 + # TODO: Use 3.9 here because of this issue https://github.com/python/mypy/issues/13627. + # We will need to update mypy version eventually, but that's for another day. The task + # would be to upgrade mypy to 1.0.0 with Python 3.11 + PYTHON_VERSION=3.9 ;; - pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter) - PYTHON_VERSION=3.10 + pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter) + PYTHON_VERSION=3.9 CUDA_VERSION=12.8.1 ;; pytorch-linux-jammy-aarch64-py3.10-gcc11) diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml index 272a2d1c691d..e44484e0ddd2 100644 --- a/.github/workflows/docker-builds.yml +++ b/.github/workflows/docker-builds.yml @@ -70,7 +70,7 @@ jobs: pytorch-linux-jammy-py3-clang18-asan, pytorch-linux-jammy-py3-clang12-onnx, pytorch-linux-jammy-linter, - pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter, + pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter, pytorch-linux-jammy-py3-clang12-executorch, pytorch-linux-jammy-py3.12-triton-cpu, pytorch-linux-noble-riscv64-py3.12-gcc14 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fa54f7d6d50b..b1a6dfb39071 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -53,7 +53,7 @@ jobs: with: timeout: 120 runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" - docker-image: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter + docker-image: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter # NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout # to run git rev-parse HEAD~:.ci/docker when a new image is needed fetch-depth: 0 @@ -264,10 +264,10 @@ jobs: with: submodules: false fetch-depth: 1 - - name: Setup Python 3.10 + - name: Setup Python 3.9 uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: - python-version: '3.10' + python-version: '3.9' architecture: x64 cache: pip - name: Install dependencies diff --git a/pyproject.toml b/pyproject.toml index 12e686621e00..874c629273d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,7 +53,7 @@ dev = [ name = "torch" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.9" # TODO: change to `license = "BSD-3-Clause"` and enable PEP 639 after pinning setuptools>=77 # FIXME: As of 2025.06.20, it is hard to ensure the minimum version of setuptools in our CI environment. # TOML-table-based license deprecated in setuptools>=77, and the deprecation warning will be changed @@ -74,6 +74,7 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", "Programming Language :: C++", "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", diff --git a/setup.py b/setup.py index e181beba06c1..2bb63a93cec8 100644 --- a/setup.py +++ b/setup.py @@ -256,7 +256,7 @@ import platform # Also update `project.requires-python` in pyproject.toml when changing this -python_min_version = (3, 10, 0) +python_min_version = (3, 9, 0) python_min_version_str = ".".join(map(str, python_min_version)) if sys.version_info < python_min_version: print( @@ -1029,7 +1029,7 @@ def build_deps() -> None: CWD / "third_party/valgrind-headers/callgrind.h", CWD / "third_party/valgrind-headers/valgrind.h", ] - for sym_file, orig_file in zip(sym_files, orig_files, strict=True): + for sym_file, orig_file in zip(sym_files, orig_files): same = False if sym_file.exists(): if filecmp.cmp(sym_file, orig_file):