Title: Undocumented 3.14 C API · Issue #135755 · python/cpython · GitHub
Open Graph Title: Undocumented 3.14 C API · Issue #135755 · python/cpython
X Title: Undocumented 3.14 C API · Issue #135755 · python/cpython
Description: The following public C API is new in 3.14 (beta 3 & 4, relative to 3.13.0), and as of this writing it looks either: undocumented, documented incorrectly, or public by mistake. previously: 3.13 Py_INCREF_MORTAL: Include/refcount.h:251 (#1...
Open Graph Description: The following public C API is new in 3.14 (beta 3 & 4, relative to 3.13.0), and as of this writing it looks either: undocumented, documented incorrectly, or public by mistake. previously: 3.13 Py_I...
X Description: The following public C API is new in 3.14 (beta 3 & 4, relative to 3.13.0), and as of this writing it looks either: undocumented, documented incorrectly, or public by mistake. previously: 3.13 ...
Opengraph URL: https://github.com/python/cpython/issues/135755
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Undocumented 3.14 C API","articleBody":"The following public C API is new in 3.14 (beta 3 \u0026 4, relative to 3.13.0), and as of this writing it looks either:\n\n- undocumented,\n- documented incorrectly, or\n- public by mistake.\n\n*previously: [3.13](https://github.com/python/cpython/issues/118915)*\n\n---\n\n- [x] `Py_INCREF_MORTAL`: Include/refcount.h:251 (https://github.com/python/cpython/issues/127705#issuecomment-3004277530)\n- [x] `MAX_SCRIPT_PATH_SIZE`: Include/cpython/pystate.h:31 ([PEP 768](https://discuss.python.org/t/pep-768-safe-external-debugger-interface-for-cpython/73969/58), #135924)\n - [x] `Py_MAX_SCRIPT_PATH_SIZE`\n- [x] `PyFunction_GET_BUILTINS`: Include/cpython/funcobject.h:100 (added in #133128; assigned to @ZeroIntensity) (#135938)\n- [x] `struct _remote_debugger_support`: Include/cpython/pystate.h:32 ([PEP 768](https://discuss.python.org/t/pep-768-safe-external-debugger-interface-for-cpython/73969/58), #135924)\n\n\"`PYOS`\" (#135928):\n\n- [x] `PYOS_LOG2_STACK_MARGIN`: Include/pythonrun.h\n- [x] `PYOS_STACK_MARGIN_BYTES`: Include/pythonrun.h\n- [x] `PYOS_STACK_MARGIN_SHIFT`: Include/pythonrun.h\n\n\"`SPECIAL`\" (#135922):\n\n- [x] `SPECIAL_MAX`: Include/ceval.h\n- [x] `SPECIAL___AENTER__`: Include/ceval.h\n- [x] `SPECIAL___AEXIT__`: Include/ceval.h\n- [x] `SPECIAL___ENTER__`: Include/ceval.h\n- [x] `SPECIAL___EXIT__`: Include/ceval.h\n\nHeader guards (traditionally named `Py_*_H`, but a leading underscore would be better for new ones) (#135921):\n\n- [x] `Py_AUDIT_H`: Include/audit.h\n- [x] `Py_CPYTHON_AUDIT_H`: Include/audit.h\n- [x] `Py_REFCOUNT_H`: Include/refcount.h\n\nNew configure constants.\n(IMO, if we don't want users to touch these, they should use the `_Py` prefix.\nIf we *do* want users to use them, they need docs.)\n\n- [x] `Py_FFI_SUPPORT_C_COMPLEX` (#135932)\n- [x] `Py_NORMALIZE_CENTURY` (#135933)\n- [x] `Py_REMOTE_DEBUG` (#135929)\n- [x] `HACL_CAN_COMPILE_SIMD128` (#135847)\n- [x] `HACL_CAN_COMPILE_SIMD256` (#135847)\n\nNew `HAVE` configure constants -- a lost cause:\n\n- [x] `HAVE_BACKTRACE`\n- [x] `HAVE_DECL_UT_NAMESIZE`\n- [x] `HAVE_DLADDR`\n- [x] `HAVE_DLADDR1`\n- [x] `HAVE_EXECINFO_H`\n- [x] `HAVE_GETLOGIN_R`\n- [x] `HAVE_LINK_H`\n- [x] `HAVE_LINUX_NETFILTER_IPV4_H`\n- [x] `HAVE_LINUX_SCHED_H`\n- [x] `HAVE_PTHREAD_GETATTR_NP`\n- [x] `HAVE_PTHREAD_GETNAME_NP`\n- [x] `HAVE_PTHREAD_SETNAME_NP`\n- [x] `HAVE_SYS_PIDFD_H`3\n- [x] `HAVE_TTYNAME_R`\n- [x] `HAVE_USABLE_WCHAR_T`\n- [x] `HAVE_UT_NAMESIZE`\n\nNew `CO_` flags (documented in [inspect](https://docs.python.org/3.14/library/inspect.html#code-objects-bit-flags); Sphinx sees none of these as C macros): (#135980)\n\n- [x] `CO_HAS_DOCSTRING`: Include/cpython/code.h:115\n- [x] `CO_METHOD`: Include/cpython/code.h:115\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-135762\n* gh-135847\n* gh-135861\n* gh-135916\n* gh-135917\n* gh-135921\n* gh-135922\n* gh-135926\n* gh-135934\n* gh-135938\n* gh-135976\n* gh-135980\n* gh-136045\n* gh-136370\n* gh-136371\n* gh-138350\n* gh-138356\n* gh-138981\n* gh-139120\n\u003c!-- /gh-linked-prs --\u003e\n\n\n* Check links above! I prefer attaching doc fixes \u0026 renames to issues that added the API.\n","author":{"url":"https://github.com/encukou","@type":"Person","name":"encukou"},"datePublished":"2025-06-20T13:29:47.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":19},"url":"https://github.com/135755/cpython/issues/135755"}
| 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:3b872926-9431-c6b5-9002-4561680c9c53 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CDE8:3960C0:7B3096:AE11D8:696A138D |
| html-safe-nonce | eb70a58e353640663c77e22ab1adb03809489f45c687fc6c8119ee21c97f30a8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDREU4OjM5NjBDMDo3QjMwOTY6QUUxMUQ4OjY5NkExMzhEIiwidmlzaXRvcl9pZCI6IjM1ODk5NzQ3NjAxOTY3MTk0OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 872a8b74e74da25134f02351eb278ad2374e8f48e0af1fc6df720feb7fc44fae |
| hovercard-subject-tag | issue:3163362632 |
| 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/135755/issue_layout |
| twitter:image | https://opengraph.githubassets.com/83bf6a0b14724cae6ae1b2a94d16021c9ef54b59d6490ade5f19fc4d1106b2b2/python/cpython/issues/135755 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/83bf6a0b14724cae6ae1b2a94d16021c9ef54b59d6490ade5f19fc4d1106b2b2/python/cpython/issues/135755 |
| og:image:alt | The following public C API is new in 3.14 (beta 3 & 4, relative to 3.13.0), and as of this writing it looks either: undocumented, documented incorrectly, or public by mistake. previously: 3.13 Py_I... |
| 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 | 699227a00bbb7fe1eec276d2ae1c3a93068bc5ba483bd9dc4b2a27a8f4f2f595 |
| 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 | 7266b2d935baa1c6474b16dd9feaa5ca30607261 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width