Skip to content

Conversation

@ghost
Copy link

@ghost ghost commented May 27, 2025

In the current version, pip install . emits the following warnings:

********************************************************************************
Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).

By 2026-Feb-18, you need to update your project and remove deprecated calls
or your builds will no longer be supported.

See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:

License :: OSI Approved :: GNU General Public License v3 (GPLv3)

See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************

(These warnings can be seen by using --log option.)

So fixed the way to specify the license as these warnings suggest. Also see https://peps.python.org/pep-0639/#deprecate-license-classifiers and https://peps.python.org/pep-0639/#deprecate-license-key-table-subkeys.

@coveralls
Copy link

coveralls commented May 27, 2025

Coverage Status

coverage: 99.815%. remained the same
when pulling ca69b06 on koyuki7w:patch-1
into f190f2d on adrienverge:master.

@adrienverge
Copy link
Owner

Hello Yuki, thanks for contributing again and fixing this warning!

Is the second commit "Bump setuptools version" needed for the first one to work? If it's needed, we can merge it (in this case please merge both commit into one, with the explanation in the commit message). If it's not, let's avoid hardening dependencies requirements, as this can affect some users.

@DimitriPapadopoulos
Copy link
Contributor

DimitriPapadopoulos commented Jun 22, 2025

Indeed PEP 639 support requires Setuptools 77.

However, that's not a problem because users should upgrade to the latest version any way. From Installing Packages:

Ensure pip, setuptools, and wheel are up to date

While pip alone is sufficient to install from pre-built binary archives, up to date copies of the setuptools and wheel projects are useful to ensure you can also install from source archives:

@ghost
Copy link
Author

ghost commented Jun 24, 2025

pip install fails if the version of setuptools is lower than 77. However, pip install fetches the latest setuptools in the specified version condition at execution time, so it also works with setuptools >= 61.

@DimitriPapadopoulos
Copy link
Contributor

If pip install fetches the latest setuptools at execution time, it's not an issue for end-users, is it?

Am I right that setuptools >= 77 applies to packaging time? If so, it's not a problem to require it.

@ghost
Copy link
Author

ghost commented Jun 24, 2025

Thanks for the comments. I dropped the second commit.

@DimitriPapadopoulos
Copy link
Contributor

DimitriPapadopoulos commented Jun 24, 2025

I'm not sure it must be dropped. Isn't setuptools >= 77 required when packaging (typically python -m build)

@adrienverge
Copy link
Owner

Thanks for the answers @koyuki7w and @DimitriPapadopoulos.

The first commit is good to go and useful, so I'll merge it right now.

About the setuptools >= 61 vs. 77 requirement, I haven't searched but it looks like Dimitri could be right and this could be a build-only dependency, in which case it shouldn't impact end-users. Depending on what you think about it, can you open a new pull request so we can merge it there (if relevant)?

@adrienverge adrienverge merged commit 2698ca4 into adrienverge:master Jun 26, 2025
13 checks passed
@ghost ghost deleted the patch-1 branch June 27, 2025 23:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants