GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — bpo-43795: PEP 652 user documentation by encukou · Pull Request #25668 · python/cpython Conversation
|
|
As per the PEP, I added a list of everything in the limited API, as well as notes in individual doc entries. A screenshot of the notes: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
The docs notes will now show platform restrictions, based on |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. I had few nits to clarify.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Thank you @encukou. Nice work improving clarity here. I've made a few suggestions for consideration. Thanks again ☀️
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| Thus ``3.4.1a2`` is hexversion ``0x030401a2``. | ||
| CPython exposes its version number in the following macros. | ||
| Note that these correspond to the version code is built with, |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Perhaps bold part of this sentence re: build version vs run-time version.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| version information can be found by treating it as a 32 bit number in | ||
| the following manner: | ||
|
|
||
| +-------+-------------------------+-------------------------+ |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Nice table as an example 😄
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| (x>=2) on the particular :ref:`platform <stable-abi-platform>`. | ||
|
|
||
| Defining ``Py_LIMITED_API`` to a value of :c:data:`PY_VERSION_HEX` will | ||
| do the same, but allow additional API added up to specified version, |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Great improvements to this section. The wording in this item is slightly confusing. Does this mean: It will use the Limited API for this version and later versions. Earlier versions lose compatibility since additional API may exist prior to this version.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the note! It really helps to have a second set of eyes here.
I've shuffled the paragraph around; hopefully things are clearer with this order.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro | ||
| variant :c:func:`PyList_GET_ITEM` is not. | ||
| The macro can be faster because it can rely on version-specific implementation |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Good example.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thank you for the thoughtful comments! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Sorry, I can't merge this PR. Reason: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks @encukou for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
GH-26034 is a backport of this pull request to the 3.10 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This can be confusing; more and more often and I need a page to link to. So I merged this. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
- Reformat the C API and ABI Versioning page (and extend/clarify a bit) - Rewrite the stable ABI docs into a general text on C API Compatibility - Add a list of Limited API contents, and notes for the individual items. - Replace `Include/README.rst` with a link to a devguide page with the same info (cherry picked from commit b05955d) Co-authored-by: Petr Viktorin <[email protected]> Co-authored-by: Petr Viktorin <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.