From 1509cbcd60c545c5b19d00033c4538f6763bf4cc Mon Sep 17 00:00:00 2001 From: Tom Rix Date: Mon, 6 Oct 2025 14:27:41 -0700 Subject: [PATCH] Update to 2.9.0-rc6 aarch64 is not building, so disable. Signed-off-by: Tom Rix --- .gitignore | 1 + pyproject.toml | 139 ++++++++++++++++++++++++++++++++++------------ python-torch.spec | 11 ++-- sources | 1 + 4 files changed, 112 insertions(+), 40 deletions(-) diff --git a/.gitignore b/.gitignore index 0986c30..2918194 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ /pytorch-v2.8.0.tar.gz /v1.18.0.tar.gz /pytorch-715dca6.tar.gz +/pytorch-fd36458.tar.gz diff --git a/pyproject.toml b/pyproject.toml index ccf9c2a..925742b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,49 +1,105 @@ +# Package ###################################################################### + +[build-system] +requires = [ + # 70.1.0: min version for integrated bdist_wheel command from wheel package + # 77.0.0: min version for SPDX expression support for project.license + "setuptools>=70.1.0,<80.0", + "cmake>=3.27", + "ninja", + "numpy", + "packaging", + "pyyaml", + "requests", + "six", # dependency chain: NNPACK -> PeachPy -> six + "typing-extensions>=4.10.0", +] +build-backend = "setuptools.build_meta" + +[dependency-groups] +dev = [ + # This list should be kept in sync with the requirements-build.txt + # in PyTorch root until the project fully migrates to pyproject.toml + # after which this can be removed as it is already specified in the + # [build-system] section + "setuptools>=70.1.0,<80.0", # setuptools develop deprecated on 80.0 + "cmake>=3.27", + "ninja", + "numpy", + "packaging", + "pyyaml", + "requests", + "six", # dependency chain: NNPACK -> PeachPy -> six + "typing-extensions>=4.10.0", + + # This list should be kept in sync with the requirements.txt in + # PyTorch root until the project fully migrates to pyproject.toml + "build[uv]", + "expecttest>=0.3.0", + "filelock", + "fsspec>=0.8.5", + "hypothesis", + "jinja2", + "lintrunner; platform_machine != 's390x' and platform_machine != 'riscv64'", + "networkx>=2.5.1", + "optree>=0.13.0", + "psutil", + "sympy>=1.13.3", + "typing-extensions>=4.13.2", + "wheel", +] + [project] name = "torch" -requires-python = ">=3.9" -license = {text = "BSD-3-Clause"} +description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" +readme = "README.md" +requires-python = ">=3.10" +# 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 +# to an error on 2026.02.18. See also: https://github.com/pypa/setuptools/issues/4903 +license = { text = "BSD-3-Clause" } +authors = [{ name = "PyTorch Team", email = "packages@pytorch.org" }] +keywords = ["pytorch", "machine learning"] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering", + "Topic :: Scientific/Engineering :: Mathematics", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "Topic :: Software Development", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Libraries :: Python Modules", + "Programming Language :: C++", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", +] dynamic = [ - "authors", - "classifiers", "entry-points", "dependencies", - "description", - "keywords", - "optional-dependencies", - "readme", "scripts", "version", ] [project.urls] -Homepage = "https://pytorch.org/" -Documentation = "https://pytorch.org/docs/" -Source = "https://github.com/pytorch/pytorch" -Forum = "https://discuss.pytorch.org/" +Homepage = "https://pytorch.org" +Repository = "https://github.com/pytorch/pytorch" +Documentation = "https://pytorch.org/docs" +"Issue Tracker" = "https://github.com/pytorch/pytorch/issues" +Forum = "https://discuss.pytorch.org" +[project.optional-dependencies] +optree = ["optree>=0.13.0"] +opt-einsum = ["opt-einsum>=3.3"] +pyyaml = ["pyyaml"] -[build-system] -requires = [ - # After 75.8.2 dropped dep disttools API. Please fix - # API temporarily restored and shim used. Please fix - # Setuptools will drop support for setup.py past 80 - # min version for recursive glob package data support - "setuptools>=62.3.0,<80.0", - "wheel", - "astunparse", - "numpy", - "ninja", - "pyyaml", - "cmake", - "typing-extensions>=4.10.0", - "requests", -] -# Use legacy backend to import local packages in setup.py -build-backend = "setuptools.build_meta:__legacy__" - - -[tool.black] -line-length = 88 +# Linter tools ################################################################# [tool.isort] src_paths = ["caffe2", "torch", "torchgen", "functorch", "test"] @@ -59,12 +115,10 @@ multi_line_output = 3 include_trailing_comma = true combine_as_imports = true - [tool.usort.known] first_party = ["caffe2", "torch", "torchgen", "functorch", "test"] standard_library = ["typing_extensions"] - [tool.ruff] line-length = 88 src = ["caffe2", "torch", "torchgen", "functorch", "test"] @@ -105,6 +159,7 @@ ignore = [ "E741", "EXE001", "F405", + "FURB122", # writelines # these ignores are from flake8-logging-format; please fix! "G101", # these ignores are from ruff NPY; please fix! @@ -127,7 +182,15 @@ ignore = [ "SIM117", "SIM118", "UP007", # keep-runtime-typing + "UP045", # keep-runtime-typing "TC006", + # TODO: Remove Python-3.10 specific suppressions + "B905", + "UP035", + "UP036", + "UP038", + "UP041", + "FURB161", ] select = [ "B", @@ -208,6 +271,10 @@ select = [ "YTT", ] +[tool.ruff.lint.pyupgrade] +# Preserve types, even if a file imports `from __future__ import annotations`. +keep-runtime-typing = true + [tool.ruff.lint.per-file-ignores] "__init__.py" = [ "F401", diff --git a/python-torch.spec b/python-torch.spec index e25a665..3dad39d 100644 --- a/python-torch.spec +++ b/python-torch.spec @@ -6,14 +6,15 @@ # So pre releases can be tried %bcond_without gitcommit %if %{with gitcommit} -# v2.9.0-rc4 -%global commit0 715dca672526a20322d07c2e67772cfe4400a20f +# v2.9.0-rc6 +%global commit0 fd364580a94079854f2f32d463c118afaefe62e0 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) -%global date0 20250923 +%global date0 20251002 %global pypi_version 2.9.0 %global flatbuffers_version 24.12.23 %global miniz_version 3.0.2 %global pybind11_version 2.13.6 +%global rc_tag -rc6 %else %global pypi_version 2.8.0 %global flatbuffers_version 24.12.23 @@ -116,7 +117,9 @@ Patch11: 0001-Add-cmake-variable-USE_ROCM_CK.patch Patch12: 0001-Fix-compilation-and-import-torch-issues-for-cpython-.patch %endif -ExclusiveArch: x86_64 aarch64 +# ExclusiveArch: x86_64 aarch64 +# aarch64 not building on 2.9.0-rc6 +ExclusiveArch: x86_64 %global toolchain gcc %global _lto_cflags %nil diff --git a/sources b/sources index 0fdf299..701e6b4 100644 --- a/sources +++ b/sources @@ -13,3 +13,4 @@ SHA512 (kineto-5e75018.tar.gz) = 921b96a56e01d69895b79e67582d8977ed6f873573ab415 SHA512 (pytorch-v2.8.0.tar.gz) = 791e658eab87fb957f025558cb9f925078d2426ab7b6f60771d9841dfb691f67d905ba1330a800008efe7c938b6c69bdc52232bccfe8d4860e795a532cd69d28 SHA512 (v1.18.0.tar.gz) = 2f38664947c8d1efc40620a7c1b1953d2aa4b0a37b67c4886b86e77c1d697363c26413413ddda8eabc545892fb1bcb43afc7e93e62f0901527524a2727e1ea8d SHA512 (pytorch-715dca6.tar.gz) = 09c9aae54fab3eb17901fc3226fece1c13f41cb8e45a2cb066021823abeb8d27c340993088e01d8e55bb37ed5f94334ec31e6c539cddfacbad157abd27c5e907 +SHA512 (pytorch-fd36458.tar.gz) = acbb7475b92ad4a8e8d779f3745da22d8438e4c5ef2d6e76d71c987789f2752c8aef7022c87c9a74640fe4f9c1f1a61a3f12a796f63b1e6be24da8e5aacf37dc