Skip to content
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

PEP 302 should be superseded/withdrawn #2720

Closed
Yhg1s opened this issue Jul 19, 2022 · 12 comments
Closed

PEP 302 should be superseded/withdrawn #2720

Yhg1s opened this issue Jul 19, 2022 · 12 comments
Assignees

Comments

@Yhg1s
Copy link
Member

Yhg1s commented Jul 19, 2022

PEP 302 (New Import Hooks) has as its status Final, but it is in fact outdated, and the very first paragraph says:

Warning

The language reference for import and importlib documentation now supersede this PEP.
This document is no longer updated and provided for historical purposes only.

We may need a new status, next to Superseded, to indicate something is out of date, and a standard way to refer to something other than PEPs (which is done with Superseded-By)

@JelleZijlstra
Copy link
Member

PEPs are historical documents. I don't think we need a new status just because an area of the language has evolved since the original PEP.

@Yhg1s
Copy link
Member Author

Yhg1s commented Jul 19, 2022

There are unfortunately plenty of PEPs that are not just historical documents, and are seen as standards. I do not believe having a status 'Final' when the PEP is in fact outdated is a good idea.

@encukou
Copy link
Member

encukou commented Jul 20, 2022

Are you suggesting to rename Final to something else?
See https://peps.python.org/pep-0001/#pep-maintenance for the current meaning: the PEP accurately describes the implementation at the point where it is marked Final.

@encukou
Copy link
Member

encukou commented Jul 20, 2022

FWIW, the term “Python Enhancement Proposal” also doesn't quite fit “living standard” documents.

@hugovk
Copy link
Member

hugovk commented Jul 20, 2022

Neither does "Request for Comments" for internet standards, but the IETF has ditched that original meaning:

RFCs started as informal technical notes and the name originally stood for “Request For Comments” but now they are simply known as RFCs.

@Rosuav
Copy link
Contributor

Rosuav commented Jul 20, 2022

Maybe we need a new status for "Living Standard"?

@encukou
Copy link
Member

encukou commented Jul 20, 2022

We do have the Active status.

@warsaw
Copy link
Member

warsaw commented Jul 20, 2022

I think the PEP 302 warning banner is fine, and that we don't need much else. I'm not sure what standard thing you could add since each "hey this is out of date and historical" banner will need to have different links, say to the appropriate language reference page or whatever.

That said, maybe a status of "Historical" would be appropriate to add. I'm not in favor of bulk updating PEPs though, so I'd say only for those that are egregiously out of date.

"Active" is fine for living documents.

@CAM-Gerlach
Copy link
Member

There are unfortunately plenty of PEPs that are not just historical documents, and are seen as standards.

@Yhg1s Process and Informational PEPs are Active when they are considered living standards/guidelines and are kept up to date accordingly; they are marked Final to designate them as historical only, and are categorized accordingly on PEP 0. Once Standards Track PEPs are Final, they are considered historical and their canonical documentation should be hosted elsewhere, as PEP 1 states:

In general, PEPs are no longer substantially modified after they have reached the Accepted, Final, Rejected or Superseded state. Once resolution is reached, a PEP is considered a historical document rather than a living specification. Formal documentation of the expected behavior should be maintained elsewhere, such as the Language Reference for core features, the Library Reference for standard library modules or the PyPA Specifications for packaging.

There are some exceptions, but the great majority are on either the Packaging or Typing Topic, for which the living standard role of both are in the process of being migrated to more appropriate locations so the PEPs can just focus on being change proposals—many of the packaging standards have already been migrated, and @pradyunsg and I are actively working on the rest, while as I understand the Typing community intends to do the same and is in the process of hashing out the details. There are a handful of special cases, like the DB-API and WSGI, but these can be handled on a case by case basis and are gradually fading in importance over time (e.g. WSGI is partially superseded by ASGI, hosted elsewhere, as I understand).

I think the PEP 302 warning banner is fine, and that we don't need much else. I'm not sure what standard thing you could add since each "hey this is out of date and historical" banner will need to have different links, say to the appropriate language reference page or whatever.

@warsaw In fact, this is exactly what we will have with #2702 ; a standardized (but optional) warning banner for Final PEPs where we can just specify the desired link (and any custom text) which gets inserted into an informative message. It can be easily subclassed to handle various common cases (e.g. Packaging PEPs), and there's been talk of making the banner sticky if more visibility is needed.

@warsaw
Copy link
Member

warsaw commented Jul 24, 2022

this is exactly what we will have with #2702 ; a standardized (but optional) warning banner for Final PEPs where we can just specify the desired link (and any custom text) which gets inserted into an informative message.

That's quite nice! Thanks for all the amazing work on improving the PEP documentation!

@CAM-Gerlach
Copy link
Member

Somewhat related: I just finished pypa/packaging.python.org#1111 , which finally does the whole-hog long awaited migration of PEP 517/518/660 to the PyPA specs page on packaging.python.org

@brettcannon
Copy link
Member

Since PEP 302 isn't going to be withdrawn, I am going to close this issue.

@Yhg1s can chat with me at the core dev sprints about what documentation he wishes he had in importlib that triggered all of this. 😉

@brettcannon brettcannon closed this as not planned Won't fix, can't repro, duplicate, stale Sep 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants