-
-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
📦 Enable support for PEP 639 metadata #327
📦 Enable support for PEP 639 metadata #327
Conversation
819cfcb
to
da2ed12
Compare
For metadata 2.4 support, you also need to update packaging to 24.2, see the twine 6.1 release notes. |
@dnicolodi thanks for the pointer! I also need to figure out the CI failure, just haven't had a chance to debug it yet. Quick googling implies that upgrading pip is needed, but it's happening in |
I had a quick look, and I have the impression that the problem is caused by the old version of setuptools (or better, the version of |
That's my impression too. But I'm unsure in what place exactly. |
Just confirmed that the CI failure is unrelated to the patch in this PR. See: #328. |
The last successful CI run was a month ago. And it has a slightly different set of transitive deps: https://github.com/pypa/gh-action-pypi-publish/actions/runs/12459567492/job/34776560934#step:4:102. Too bad we're not pinning those in CI. The successful workflow run pulls in - Successfully installed Pygments-2.18.0 SecretStorage-3.3.3 backports.tarfile-1.2.0 build-1.2.2.post1 certifi-2024.2.2 cffi-1.16.0 charset-normalizer-3.3.2 cryptography-42.0.7 docutils-0.21.2 idna-3.7 importlib-metadata-8.5.0 jaraco.classes-3.4.0 jaraco.context-5.3.0 jaraco.functools-4.0.1 jeepney-0.8.0 keyring-25.2.1 markdown-it-py-3.0.0 mdurl-0.1.2 more-itertools-10.2.0 nh3-0.2.17 packaging-24.1 pkginfo-1.12.0 pycparser-2.22 pyproject_hooks-1.2.0 readme-renderer-43.0 requests-2.32.3 requests-toolbelt-1.0.0 rfc3986-2.0.0 rich-13.7.1 twine-6.0.1 urllib3-2.2.1 zipp-3.21.0
+ Successfully installed Pygments-2.18.0 SecretStorage-3.3.3 build-1.2.2.post1 certifi-2024.2.2 cffi-1.16.0 charset-normalizer-3.3.2 cryptography-42.0.7 docutils-0.21.2 idna-3.7 jaraco.classes-3.4.0 jaraco.context-5.3.0 jaraco.functools-4.0.1 jeepney-0.8.0 keyring-25.2.1 more-itertools-10.2.0 nh3-0.2.17 packaging-24.1 pkginfo-1.12.0 pycparser-2.22 pyproject_hooks-1.2.0 readme-renderer-43.0 requests-2.32.3 requests-toolbelt-1.0.0 rfc3986-2.0.0 twine-6.0.1 urllib3-2.2.1 |
Ah, I was wrong. Both install |
Pinning all of those to the same version didn't help. There's something else influencing this. |
The failing jobs use Ubuntu 24.04.1 while the successful ones run 22.04.5. This would explain the difference in what |
Yep! That was it: I suppose because Python 3.9 bundles a certain version of setuptools in stdlib (as a part of The ephemeral PEP 517 build envs are supposed to be isolated, but there were cases where the isolation was imperfect, causing importables from other envs to leak into the “isolated” env. This must be it! |
Can it be that it's the old The CI is using hard-pinned 65.6.3. In 66.1.0, something around |
I should have been more explicit in my comment: the problem is caused by the Python update from 3.9 to 3.12. setuptools being pinned to a version that does not support Python 3.12 (because of I don't think python shipping setuptools or imperfect build isolation are related to the issue: setuptools gets installed in the pinned version in the build environment (as per the build logs) and Anyhow, I agree with the sentiment that updating to a more recent Python would be better than keeping using Python 3.9. In any case, for reproducibility, especially if you are pinning all other dependencies, you should be pinning the Python version too 🙂 |
Yeah, I missed that place. Will see what I can pin in a separate PR. |
This is achieved by upgrading Twine to v6.1.0. Prior to this version, Twine was unable to pick up and publish licensing information declared in the new `License-Expression` core packaging metadata [[1]] [[2]]. And now it does that. Resolves pypa#325. [1]: https://packaging.python.org/en/latest/specifications/core-metadata/#license-expression [2]: https://peps.python.org/pep-0639/#spdx
d1ac18a
to
29f40bd
Compare
This is achieved by upgrading Twine to v6.1.0. Prior to this version, Twine was unable to pick up and publish licensing information declared in the new
License-Expression
core packaging metadata [1] [2]. And now it does that.Resolves #325.
Closes #326.