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

Mark remaining completed PEPs as Final #2872

Closed
12 tasks done
CAM-Gerlach opened this issue Nov 7, 2022 · 5 comments · Fixed by #3811
Closed
12 tasks done

Mark remaining completed PEPs as Final #2872

CAM-Gerlach opened this issue Nov 7, 2022 · 5 comments · Fixed by #3811
Labels
meta Related to the repo itself and its processes

Comments

@CAM-Gerlach
Copy link
Member

CAM-Gerlach commented Nov 7, 2022

The other PEPs that look like good candidates for being marked final are listed as follows. I've excluded PEPs that were approved for >3.11, refer to removals/changes planned for future version (e.g. PEP 594) or are otherwise known to be not yet final, and list special cases, PEPs I'm unsure about and typing PEPs (which may be contingent on implementation in mainstream type checkers) separately.

@gustavgransbo If you'd like to help, feel free to go ahead and submit a PR for each PEP, pinging any authors not already listed as codeowners.

The PEPs that are implemented in released versions and have no outstanding considerations I'm aware of:

There are also some special cases:

  • PEP-602 Annual Release Cycle for Python: Should be recategorized as an Active Process PEP: PEP 602: Mark as Active Process #3736
  • PEP-581 Using GitHub Issues for CPython: Since the PEP's content is tightly focused on the rationale for choosing GitHub rather than the current, active process for using it and is thus now of historical rather than procedural value, it should be marked Final (rather than Active) like other transition-oriented Process PEPs have: PEP 581: Mark as Final #3807

I'm not sure about the following:

  • PEP-590 Vectorcall: a fast calling protocol for CPython: Implemented, but there is currently active work in 3.12 to better expose both ends of the protocol via the CPython API, and have the changes in the Finalizing the API section been addressed? @encukou @markshannon any insight here? Confirmed by @encukou to be fully implemented and should be marked Final; added above.
  • PEP-3121 Extension Module Initialization and Finalization: Accepted from all the way back in 3.0, but I'm not sure whether this should be considered Final yet, since its been a long time and there is still ongoing work in PEP 687 that might be related. @encukou @erlend-aasland any insight? Confirmed by @encukou to be Final, as the API it describes is implemented and building on top of it is a topic for future PEPs.

There's also the Accepted typing PEPs, which might also depend on implementation status in the major typecheckers as well as being formally documented the appropriate places, since that is generally the majority of actual implementation work; @JelleZijlstra would be much better informed about that. Here's the raw list:

544                   Protocols: Structural subtyping (static duck typing)  typing
563                                    Postponed Evaluation of Annotations  typing
586                                                          Literal Types  typing
589        TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys  typing
591                                     Adding a final qualifier to typing  typing
593                             Flexible function and variable annotations  typing
604                                 Allow writing union types as ``X | Y``  typing
612                                      Parameter Specification Variables  typing
613                                                  Explicit Type Aliases  typing
646                                                      Variadic Generics  typing
647                                               User-Defined Type Guards  typing
655  Marking individual TypedDict items as required or potentially-missing  typing
673                                                              Self Type  typing
675                                          Arbitrary Literal String Type  typing
681                                                  Data Class Transforms  typing

Finally, I've left the 8000-series PEPs for a separate issue.

Footnotes

  1. Typing-related, but principally deals with core CPython, not type checkers

@CAM-Gerlach CAM-Gerlach added the meta Related to the repo itself and its processes label Nov 7, 2022
@CAM-Gerlach CAM-Gerlach changed the title Mark remaining completed PEPs as Final Meta: Mark remaining completed PEPs as Final Nov 7, 2022
@CAM-Gerlach CAM-Gerlach changed the title Meta: Mark remaining completed PEPs as Final Mark remaining completed PEPs as Final Nov 7, 2022
@encukou
Copy link
Member

encukou commented Nov 7, 2022

Thank you for tying the loose ends!

PEP-590 Vectorcall: a fast calling protocol for CPython is implemented, but there is currently active work in 3.12 to better expose both ends of the protocol via the CPython API, and have the changes in the Finalizing the API section been addressed?

The finalization was done in 3.9 as planned.
The API is being added to Limited API in 3.12, but that's not part of the PEP. Just more work in the area.
So, it should be marked Final.

PEP-3121 Extension Module Initialization and Finalization: Accepted from all the way back in 3.0, but I'm not sure whether this should be considered Final yet, since its been a long time and there is still ongoing work in PEP 687 that might be related.

There were many PEPs that build on top of this one, and more are probably to come, but the API specified in PEP-3121 should still work – as it did in 3.0. This PEP should be Final as well.

As for typing PEPs, AFAIK many are still missing documentation.

@CAM-Gerlach
Copy link
Member Author

Thanks @encukou ! I've updated the list above to reflect both.

@gustavgransbo
Copy link
Contributor

Thank you for providing this list @CAM-Gerlach! I can probably help out with some of these, but others are more than welcome to contribute as well.

@Karliz24

This comment was marked as off-topic.

@hugovk
Copy link
Member

hugovk commented Jun 3, 2024

Closed, all the PEPs with checkboxes have been done.

Let's create new issues such as #3579 and #3781 for tracking any more that need doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Related to the repo itself and its processes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants
@encukou @hugovk @gustavgransbo @CAM-Gerlach @Karliz24 and others