-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Implement PEP 639 #4829
base: main
Are you sure you want to change the base?
Implement PEP 639 #4829
Conversation
Update validate-pyproject to 0.23.0
Thank you very much @cdce8p! It seems that a new error with installing tox on |
One area in which the implementation could still be improved is probably the
There is also the matter of Side note: Adding support for license expressions to -- |
Thank you for the review @cdce8p. Let's make a checkbox:
I would like to tackle at least the last of this points before releasing because we can introduce all the related deprecation warnings/breaking errors at once.
I agree that there is not much point on updating |
@cdce8p we are probably in a good state after:
I am considering if we should ask for volunteers to test in their projects before the release. Possibly I am not intending to implement for now:
But that can be a follow-up PR (not sure where is the best place to implement, maybe https://github.com/pypa/setuptools/blob/v75.8.0/setuptools/command/egg_info.py#L598-L602? maybe in the |
…ect.toml`) with `license`/`license_expression`/`license_files` (#4842)
Summary of changes
This PR is a "mega PR" that simply make sure all the steps to implement PEP 639 are added at the same time to the
main
branch.This is done to avoid problems with incomplete changes:
setuptools
All the PR are previous reviewed individually.
_apply_pyproject
sets field ondist.metadata
object not ondist
#4834Good to have according to #4829 (comment):
license-files
glob patterns. #4838license-files
glob patterns. #4838Compatibility with other peps:
Dynamic
(METADATA
) anddynamic
(pyproject.toml
) withlicense
/license_expression
/license_files
#4842NOTE: I believe that we can simply fast forward the Core Metadata to 2.4 considering that:
extra
names for Core Metadata:https://github.com/pypa/setuptools/blob/v75.8.0/setuptools/_core_metadata.py#L231-L237
https://github.com/pypa/setuptools/blob/v75.8.0/setuptools/_normalization.py#L100-L107
packaging.requirements.Requirement.__str__
the requirement normalisation, which should also normalise theextra
marker1https://github.com/pypa/setuptools/blob/v75.8.0/setuptools/_core_metadata.py#L236-L250
Closes
Pull Request Checklist
newsfragments/
.(See documentation for details)
Footnotes
Currently there is a problem with
packaging
implementation https://github.com/pypa/packaging/issues/845, but for the sake of advancing thesetuptools
implementation to catch up with the standards we can consider this a "well known bug" that would be solved in the context ofpypa/packaging
. ↩