-
-
Notifications
You must be signed in to change notification settings - Fork 924
C API: mention the workgroup, and the need to be stricter than our public promises #1524
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
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,8 +19,13 @@ The C API is divided into these tiers: | |
| Each tier has different stability and maintenance requirements to consider | ||
| when you add or change definitions in it. | ||
|
|
||
| The compatibility guarantees for public C API are explained in the | ||
| user documentation, ``Doc/c-api/stable.rst`` (:ref:`python:stable`). | ||
| The public backwards compatibility guarantees for public C API are explained | ||
| in the user documentation, ``Doc/c-api/stable.rst`` (:ref:`python:stable`). | ||
| C language compatibility guarantees are is in ``Doc/c-api/intro.rst`` | ||
| (:ref:`python:api-intro`). | ||
|
|
||
| Internally, we need to be more careful about compatibility than what we promise | ||
| publicly. See :ref:`public-capi` for details. | ||
|
||
|
|
||
|
|
||
| The internal API | ||
|
|
@@ -93,6 +98,17 @@ CPython's public C API is available when ``Python.h`` is included normally | |
| It should be defined in ``Include/cpython/`` (unless part of the Limited API, | ||
| see below). | ||
|
|
||
| Before adding new public API, please ask in the `decisions repo`_ of | ||
| the :pep:`C API workgroup <731>`. | ||
| This helps us ensure *newly added* API is consistent and maintainable. | ||
|
|
||
| Also check with the C API WG before requiring a C feature not present in C99. | ||
| While the *public* docs only promise compatibility with C11, in practice | ||
| we only intruduce C11 features individually as needed. | ||
|
|
||
| .. _decisions repo: https://github.com/capi-workgroup/decisions/issues | ||
|
|
||
|
|
||
| .. _public-api-guidelines: | ||
|
|
||
| Guidelines for expanding/changing the public API | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.