-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Decide what PEPs fall under Topic: Packaging
and act accordingly
#2696
Comments
IMO, if it leave it up to authors to take the initiative and opt in or out, there likely won't be clear consistency in what PEPs get included, making the header much less useful than it should be. As this is (at least as of now) purely editorial metadata, rather than PEP content or changing the PEP approval process (that's still driven by the PEP-Delegate assignment), it is thus only an editorial concern.
If we decide that's what we want |
My (purely personal!) understanding of the "Packaging" topic was for it to be helpful for readers to locate PEPs that were relevant to the Packaging ecosystem. I don't really see an advantage to having the topic simply reflect the PEP-delegate, given that there's already a PEP-delegate field in the PEP. If we want a field that reflects what "rules" apply to the PEP (standard CPython PEP, as documented in PEP 1, or PyPA specification PEP, as documented on pypa.io) then maybe that's a different matter, but I don't see why a purely technical distinction based on management process warrants a split in how the PEPs are presented to the user. So for me (again, personally, not as packaging PEP-delegate) I'd prefer the topic field to reflect the subject matter, not the process. |
Indeed, that was also my understanding as well and what seemed to be the consensus of the discussion that added it, and why I proposed the name We could introduce a new field Therefore, I favor retaining those two PEPs and add back PEP-632. However, my overriding interest is that at least the basic editorial metadata and categorization is consistent such that readers can rely on it, so if the consensus favors the narrower definition, then those two PEPs should also be removed. |
I'm okay with this, as long as they are somehow marked as "frozen" and people don't propose updates to them anymore (or those are immediately shut down by everyone else and they don't keep pinging me until I shut it down :) ). These aren't typical packaging specs, they are decisions made about the standard library, and once implemented are not open to further tweaking in the way that package metadata and protocols are, and are not living documentation or reference material. I think that's a distinction we want to make between PEPs and specs anyway, so maybe this is fine? If so, let's please accelerate that. |
PyPA specs1 have a different policy here. I agree it should be much clearer which set of rules apply to any given PEP, but I didn't think that was the intention of the "Packaging" topic. Both markings seem useful to me, though. I don't know who can decide here, though - maybe it needs to go to the SC? I think that historically the modified process for PyPA specs was set up with SC approval, but I'm not sure - @ncoghlan may know. Footnotes
|
In #2378 , we have more clearly documented in PEP 1, the contributing guide, etc. that PEPs in general are historical documents rather than living documentation/specifications, and modifications to final PEPs are generally not accepted (unless in certain cases where they fix an obvious, unambiguous and non-trivial editorial or reST syntax defect); we've become more diligent about quickly resolving such issues/PRs one way or another. If notifications about this continue to be a non-trivial problem, you could remove your username from the In regards to retaining those specs on the "Packaging" PEP topic specifically, it seems pretty unlikely to bring much additional traffic to these PEPs, since it is only really aimed at a fairly narrow section of packaging folks experienced with the PEP process (and is not that easy to navigate to unless you're specifically looking for it), whereas the PyPA spec site has always been the intended go-to place for the packaging community at large, and the new admonitions in #2690 will help push that further. And in the more general case, the proposed directive in #2692 will be able to do the same for every Final PEP (including yours), adding an admonition banner at the top pointing to its canonical living documentation/specification and letting readers know that they generally aren't modified.
Yeah, the idea is (and nominally per PEP 1, always was) that PEPs should be change proposals, while the living specification or documentation is hosted elsewhere. but it is a long, slow, high-friction process involving a bunch of different communities. The effort for packaging is, of course, the furthest along, with recent further work on the aforementioned issues and I and others are continuing to push that forward. The aforementioned admonition banners will also help make this much more visible to those viewing the PEPs. |
#2690 will do so for the existing PyPA spec PEPs, and #2692 will provide a standardized extension of that mechanism that can be applied to any PEP. My comment in pypa/packaging.python.org#1093 (comment) lists all the current PEPs that already correspond to PyPA specs (some fully migrated, some still stubs), as well as a few other candidates for migration. To note, though, as I understand it the SC standing delegation principally applies to your and Donald's role as the default PEP delegate for packaging PEPs that concern the packaging formats/metadata and PyPI respectively, and that's already captured in the
Therefore, given the
Yup, that seems to be the plan as well as I understand it. |
That's my understanding, too - which is why I see the current attempts to "clarify" the process for packaging PEPs as more confusing than helpful. I think there was originally an intention when the PyPA process was formed, to try to keep the packaging process more flexible because we felt we were moving at a quicker pace than core Python, but in hindsight I don't think that's as important as we expected it to be. It's also worth noting that some (core) PEPs do have the PEP as the canonical location for the documentation - PEP 8, and the DB-API, are two examples I can immediately think of. Packaging PEPs really aren't as different as people imagine.
The typing community may well have their own constraints here, and I think we should be cautious about assuming that what works for packaging works for typing as well. Having a process for "non-core" PEPs (with input from both the packaging and the typing communities) is one thing. Having multiple processes, one for each community, all mostly similar but with subtle differences, is another thing entirely... |
Yeah, the general idea seems to try to move away from that where practical, but in special cases like PEP 7, PEP 8 and the other process PEPs (1, 13, etc) that are living process documents that intrinsically relate to core Python, that seems very unlikely to ever change. But those cases aren't that common and they have a special
Yeah, as I understand it they've been facing a lot of similar issues with the PEPs being the specs and the documentation, but also historical normative change documents with its own process, when it comes to a lot of people requesting updates, fixes and improvements as well as not having one set of coherent specs all in one place for people to reference. Their specific solution might be different in the details, but at the high-level and as far as the PEPs are concerned, that side can be handled similarly (with whatever appropriate custom text they want in the admonition). @JelleZijlstra feel free to chime in here... |
So… what’s the next steps here? Do we have a concrete answer / phrasing? If not, here’s one:
If that doesn’t work, let’s iterate. If we’re not able to figure something out, then this is an escalate-to-SC discussion, and then we’d need to figure out what’s the question + context to provide the SC so that they can decide. :) |
Any PEPs that were approved while the PyPA processes existed but not by those processes should also be excluded. |
I'm not sure if anyone here really disagrees on what PEPs should be covered by the PyPA processes and migrated to the PyPA specs page; the main concern (and the primary question posed by this issue) is whether the Either way, the description message on the topic page should be updated, to make the intended scope more clear to everyone, as well as, per @zooba , adding the new banner directive I introduced in #2702 for this purpose to the relevant non-PyPA PEPs:
|
I just talked with @brettcannon at the sprints and he favored the latter interpretation, that the |
I also favour the latter interpretation and dropping ensurepip PEPs sounds like a good idea. :) |
For the record, belatedly answering @pfmoore's question from July: the formal record of the PyPA PEP process delegation is in the SC repo at https://github.com/python/steering-council/blob/main/process/standing-delegations.md |
If anyone else wants to share their feedback on #2826 , now's the time! If no one objects, I was going to go ahead and merge it in a week or so, unless anyone wants to earlier. |
Right now, as originally discussed in #2096 , there seem to be two plausible interpretation of what qualifies for the
Topic: Packaging
label: PEPs that relate to packaging in some direct way, and PEPs that apply to packaging ecosystem (as opposed to the stdlib), and are thus discussed primarily on packaging community fora and accepted/rejected by the relevant packaging-community standing PEP delegate.In particular, given PEP 632 (PEP-632), on deprecating and removing
disutils
, was removed from packaging at the request of @zooba for relating to the core stdlib, this would seem to suggest that PEP 453 (PEP-453) and PEP 477 (PEP-477), onensurepip
and its backport to Python 2.7, respectively, should also be removed by the same standard (or, alternatively, PEP 632 restored).Presuming consensus can be reached prior to its merging, I can implement this on the existing #2690 , given it makes a number of related improvements/refinements to the packaging-tagged PEP headers.
Relevant discussion from #2096 (click to expand)
@pfmoore
@CAM-Gerlach
@pfmoore
@CAM-Gerlach
@pradyunsg
@zooba
The text was updated successfully, but these errors were encountered: