-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
PEP 780: ABI features as environment markers #4315
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
Conversation
Discussions-To: https://discuss.python.org/t/60007 | ||
Status: Draft | ||
Type: Standards Track | ||
Topic: Packaging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, I think it does.
It may be possible to handle the new marker without a second PEP - I'd be willing to support adding sys_abi_features
to the marker spec as a simple update to the specification. It would still need raising on the packaging Discourse, though. And there would be questions about how tools running under versions of Python without the new sys attribute should handle the marker, so it's not completely uncontroversial.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at the PEP itself, I see that it introduces the idea of markers which are set objects. That's something that PEP 751 also introduces - the PEP authors here should probably look at PEP 751 (which is currently being reviewed for approval by me) to ensure they don't contradict what's being said there. I think it's compatible, but I haven't checked thoroughly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might make sense to treat this only as a packaging PEP, since the changes to CPython itself seem small enough to be handled without a PEP. So the approval process would be a packaging PEP for the new markers, plus standard core dev consensus for the related CPython changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's also a reasonable approach.
Taking the last few comments to their extreme, we could make the core change without a PEP, and agree the packaging spec change can be done without a PEP as well. I think that's probably going a bit too far, though 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the feedback, that makes sense!
Shall we then discuss this as a packaging PEP and once we have community agreement on names and content make the necessary additions to CPython?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be nice to unresolve this comment, since it was just brought up again on Discourse.
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few final editorial comments (prefixed as such) and two remaining questions -- but these could be taken to the Discourse thread, so don't let it block getting the PR merged.
Thank you!
A
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
@zklaus anything outstanding before merging? |
No. I think this is ready. Thanks for all the reviews everyone, @pfmoore, and particularly @AA-Turner! I really think it improved the PEP a lot! |
@zklaus please now create a discussion thread for the PEP on Discourse, and then open a follow-up PR here to update Post-History and Discussions-To. The PEP has been rendered and is online at https://peps.python.org/pep-0780/. Thank you! A |
Basic requirements (all PEP Types)
pep-NNNN.rst
), PR title (PEP 123: <Title of PEP>
) andPEP
headerAuthor
orSponsor
, and formally confirmed their approvalAuthor
,Status
(Draft
),Type
andCreated
headers filled out correctlyPEP-Delegate
,Topic
,Requires
andReplaces
headers completed if appropriate.github/CODEOWNERS
for the PEPStandards Track requirements
Python-Version
set to valid (pre-beta) future Python version, if relevantDiscussions-To
andPost-History
📚 Documentation preview 📚: https://pep-previews--4315.org.readthedocs.build/