From 55e4ba224d57b108ce1f8caa0addf5a418f631df Mon Sep 17 00:00:00 2001 From: Jordan Borean Date: Tue, 4 Nov 2025 13:33:31 +1000 Subject: [PATCH] Raise min setuptools and remove wheel from build (#86040) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Raise min setuptools for license specifier Raises the minimum setuptools version used for our build requirements to support the new license identifiers. This removes a deprecation warning emitted by setuptools and will avoid breaking the build when the old format is eventually removed. * Fix typos referencing PEP 639 in text The respective metadata docs are * https://packaging.python.org/en/latest/specifications/pyproject-toml/#license * https://packaging.python.org/en/latest/specifications/core-metadata/#license-expression --------- Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) --- changelogs/fragments/ansible-minimum-setuptools.yml | 2 ++ pyproject.toml | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 changelogs/fragments/ansible-minimum-setuptools.yml diff --git a/changelogs/fragments/ansible-minimum-setuptools.yml b/changelogs/fragments/ansible-minimum-setuptools.yml new file mode 100644 index 00000000000..e2823e21253 --- /dev/null +++ b/changelogs/fragments/ansible-minimum-setuptools.yml @@ -0,0 +1,2 @@ +minor_changes: + - The minimum required ``setuptools`` version is now ``77.0.3``, as it is needed for the new PEP 639 license format diff --git a/pyproject.toml b/pyproject.toml index 7a16270c324..c1d8e68dc55 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools >= 70.1, <= 80.3.1"] # lower bound to support controller Python versions, upper bound for latest version tested at release +requires = ["setuptools >= 77.0.3, <= 80.3.1"] # lower bound to support license/license-files (PEP 639), upper bound for latest version tested at release build-backend = "setuptools.build_meta" [project] @@ -10,13 +10,17 @@ authors = [ ] description = "Radically simple IT automation" readme = "README.md" +license = "GPL-3.0-or-later" +license-files = [ + "COPYING", + "licenses/*.txt", +] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python :: 3", @@ -44,10 +48,6 @@ dependencies = {file = "requirements.txt"} [tool.setuptools] include-package-data = false -license-files = [ - "COPYING", - "licenses/*.txt", -] [tool.setuptools.packages.find] where = ["lib", "test/lib"]