Skip to content

Request for CPython-synchronized versions? #651

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

Closed
EricCousineau-TRI opened this issue Dec 30, 2020 · 3 comments
Closed

Request for CPython-synchronized versions? #651

EricCousineau-TRI opened this issue Dec 30, 2020 · 3 comments

Comments

@EricCousineau-TRI
Copy link
Contributor

EricCousineau-TRI commented Dec 30, 2020

Describe the enhancement or feature you'd like

In pybind/pybind11#2757, I referenced the devguide, namely targeting the GC and some nuances among different Python versions (2.7, 3.6, and 3.8+):
https://devguide.python.org/garbage_collector/

In it, I would love to be able to link to a version of the docs that correspond to the current CPython version (like what can be done with the Python docs, e.g. https://docs.python.org/3.9/reference/datamodel.html#object.__del__)

Describe alternatives you've considered

I can do a permalink to the GItHub source, but that's a bit more involved and may not yield the same readability / "navegability" (e.g. cross-references to outside docs).

Additional context
N/A. Context provided above.

@terryjreedy
Copy link
Member

The purpose of the python/devguide repository is to contain the current general information needed to develop and modify current CPython versions (plural). The rare version-specific information is generally in tables. It is intentionally in a no-x.y-branch repository separate from python/cpython. I would oppose adding x.y branches.

The GC design chapter in the devguide is relatively recent (which is to say, since I last did a thorough look-through). It might be possible to tweak it by adding a list or table of version-specific 'nuances. But anything needed by users of the gc module and the gc C-API should be in the corresponding docs and branches thereof.

@pablogsal As author, do you have additional comments?

@pablogsal
Copy link
Member

pablogsal commented Dec 31, 2020

@pablogsal As author, do you have additional comments?

No additional comments: I echo what you just said.

The aim of the GC chapter, like the rest of the devguide, is to help with the development of CPython itself, so recording all different nuances of how the different things work in different versions is a considerable burden and can lower the approachability of certain complex topics to core devs that want to understand sections. For instance, with the new parser in Python 3.9, we changed the "modifying the grammar" section and we removed the previous entries. Having to maintain both or a unique version filled with details can be a lot of extra work. Also, note that these areas change a lot even between the same version, so having version-specific pages won't help here.

Also, many of the things described here are implementation details. All of the user-facing contracts are in the documentation or in the peps (for instance https://www.python.org/dev/peps/pep-0442/).

@terryjreedy
Copy link
Member

I am closing this since the devguide chapter seems not to be the place for the (unspecified) additional info you want listed. Perhaps write to python-list to discuss more specifically what you think is lacking and where it might belong.

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

3 participants