Title: Unstable C API tier (PEP 689) · Issue #101101 · python/cpython · GitHub
Open Graph Title: Unstable C API tier (PEP 689) · Issue #101101 · python/cpython
X Title: Unstable C API tier (PEP 689) · Issue #101101 · python/cpython
Description: Add an Unstable C API tier as per PEP 689. Update CPython docs Update the Devguide (python/devguide#1060) Add initial unstable API from the PEP Other candidates for inclusion are below. These usually need discussion first. This is a chec...
Open Graph Description: Add an Unstable C API tier as per PEP 689. Update CPython docs Update the Devguide (python/devguide#1060) Add initial unstable API from the PEP Other candidates for inclusion are below. These usual...
X Description: Add an Unstable C API tier as per PEP 689. Update CPython docs Update the Devguide (python/devguide#1060) Add initial unstable API from the PEP Other candidates for inclusion are below. These usual...
Opengraph URL: https://github.com/python/cpython/issues/101101
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Unstable C API tier (PEP 689)","articleBody":"Add an Unstable C API tier as per [PEP 689](https://peps.python.org/pep-0689/).\n\n* [x] Update CPython docs\n* [x] Update the Devguide (https://github.com/python/devguide/pull/1060)\n* [x] Add [initial unstable API](https://peps.python.org/pep-0689/#initial-unstable-api) from the PEP\n\nOther candidates for inclusion are below.\nThese usually need discussion first. This is a checklist for *having the discussion*.\nPlease try to *not* hold the individual discussions in this issue.\n\n* [ ] Dict watching API\n* [ ] Functions from PEP-523 not specified in PEP-689 (`_PyEval_EvalFrameDefault` \u0026 co.) -- this is a can of worms tho\n* [ ] FrameStack API (#91371)\n* [ ] `_Py_HashDouble`, see https://github.com/python/cpython/issues/91744#issuecomment-1111105784\n* [ ] PyBytesObject.ob_shash sounds like a good candidate: see https://discuss.python.org/t/15108 (guess fields need a slightly different naming convention though. Sigh. That should have been in the PEP.)\n* [ ] non-opaque access to frame structs and any other key APIs needed to implement alternate eval loops with comparable performance to the default eval loop (unless \u0026 until we can figure out stable public APIs that can deliver equivalent performance) - see [Nick's reply](https://mail.python.org/archives/list/python-dev@python.org/message/CW543RWJU6EWAPTWCDDHEUS37UHSAU5I/)\n* [ ] C APIs that provide access to compiled code whether in AST or opcode form (the API itself may be stable, but the compiled code isn't) - see [Nick's reply](https://mail.python.org/archives/list/python-dev@python.org/message/CW543RWJU6EWAPTWCDDHEUS37UHSAU5I/)\n* [x] ~~`PyLong_FromByteArray`/`PyUnstable_LongToBase30Digits`: https://discuss.python.org/t/20045~~ [there's now `PyLong_{From,To}NativeBytes\n* [ ] Anything that starts with an underscore and is documented\n* [x] ~~Fast access to PyLong contents~~ [`PyLong_Export`]\n\nGot any more?\nI offer to move other API to the unstable tier myself, *if there's a good usage example* to base docs \u0026 regression tests on.\n\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-101102\n* gh-102350\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/encukou","@type":"Person","name":"encukou"},"datePublished":"2023-01-17T16:06:54.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/101101/cpython/issues/101101"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:28a2d022-3282-474a-9781-5e80a91c3529 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D32A:1940BA:FFB7BD:1554D49:696991EF |
| html-safe-nonce | e54748caa3c26fc38dac0bdc39e386dec4ad2f52cdf70844306dcd04bf089764 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEMzJBOjE5NDBCQTpGRkI3QkQ6MTU1NEQ0OTo2OTY5OTFFRiIsInZpc2l0b3JfaWQiOiI1MjQwNzM0Mzk1MDIxMjM0NjcxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | ffad0a91e14da1e8eebd78e186ab1af4bac281933a24358ec1855cf6de305f63 |
| hovercard-subject-tag | issue:1536645235 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/101101/issue_layout |
| twitter:image | https://opengraph.githubassets.com/7acca013a4b153b4f33b8200ddfe097ce1b2323f1d7897cef6e63b5bfae6a8de/python/cpython/issues/101101 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/7acca013a4b153b4f33b8200ddfe097ce1b2323f1d7897cef6e63b5bfae6a8de/python/cpython/issues/101101 |
| og:image:alt | Add an Unstable C API tier as per PEP 689. Update CPython docs Update the Devguide (python/devguide#1060) Add initial unstable API from the PEP Other candidates for inclusion are below. These usual... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | encukou |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3542e147982176a7ebaa23dfb559c8af16f721c03ec560c68c56b64a0f35e751 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | af80af7cc9e3de9c336f18b208a600950a3c187c |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width