Closed
Conversation
…no default extras
Cadair
reviewed
May 12, 2025
Owner
Author
|
I think I've implemented all the comments I wanted to cover @DEKHTIARJonathan - did you want to review this before I submit a PR with these changes to the peps repo? |
Owner
Author
|
@henryiii - did you want to make any tweaks to the PEP before I submit this to the peps repo? (just checking as you said before you may want to) |
Owner
Author
|
In the interest of moving forward, I'll go ahead and open a PR to the peps repo, but I will ping you both there in case you would like to make any comments/suggestions |
Owner
Author
|
See python#4428 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This implements changes to PEP 771 based on the discussion at https://discuss.python.org/t/pep-771-default-extras-for-python-software-packages/79706 - I have reviewed the discussion in detail, and I believe the main changes that need to be done are:
package[]does not install default extras, andpackage[invalid]is equivalent topackagepackage-coreand apackagemetapackage is not sufficient - this is likely the biggest one to address. Some points against this are that it either requires 2 repos (which would be a pain to keep in sync version wise and a big maintenance burden), or a single monorepo, for which some tools (which ones?) are not well adapted. Might still require more effort (double the number of releases, needing to be careful about keeping versions in sync, etc.)package[backend1]would disable default front-ends too, see here for a possible documentation-based solution with this PEP, we might want to address whether PEP 771 will make it harder to implement other kinds of solutions for this in future--no-default-extrasflag here)Packages that might find this useful for removing hard dependencies:
@DEKHTIARJonathan and @henryiii: does the list above seem complete enough to you? Are there any other items you think we should address?
@henryiii - you mentioned specifically in https://discuss.python.org/t/pep-771-default-extras-for-python-software-packages/79706/53 that you might be interested in suggesting specific wording changes to the PEP. If you would still have time and be willing to do this, you could open a PR against my branch here and I can merge the suggested changes in? (and let me know if you'd like to join as an author!)
More generally, let me know if either of you would like to take a stab at any of the points above! I am not likely to have time to work on this more until the middle of next week.