8000 C API: mention the workgroup, and the need to be stricter than our pu… · python/devguide@9f7395e · GitHub
[go: up one dir, main page]

Skip to content

Commit 9f7395e

Browse files
encukouhugovk
andauthored
C API: mention the workgroup, and the need to be stricter than our public promises (GH-1524)
* C API: mention the workgroup, and the need to be stricter than our public promises * Apply suggestions from code review Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> * Clarify: Internally→as core devs --------- Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
1 parent ace4339 commit 9f7395e

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

developer-workflow/c-api.rst

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,13 @@ The C API is divided into these tiers:
1919
Each tier has different stability and maintenance requirements to consider
2020
when you add or change definitions in it.
2121

22-
The compatibility guarantees for public C API are explained in the
23-
user documentation, ``Doc/c-api/stable.rst`` (:ref:`python:stable`).
22+
The public backwards compatibility guarantees for public C API are explained
23+
in the user documentation, ``Doc/c-api/stable.rst`` (:ref:`python:stable`).
24+
C language compatibility guarantees are in ``Doc/c-api/intro.rst``
25+
(:ref:`python:api-intro`).
26+
27+
As core developers, we need to be more careful about compatibility than what
28+
we promise publicly. See :ref:`public-capi` for details.
2429

2530

2631
The internal API
@@ -93,6 +98,17 @@ CPython's public C API is available when ``Python.h`` is included normally
9398
It should be defined in ``Include/cpython/`` (unless part of the Limited API,
9499
see below).
95100

101+
Before adding new public API, please ask in the `decisions repo`_ of
102+
the :pep:`C API workgroup <731>`.
103+
This helps us ensure *newly added* API is consistent and maintainable.
104+
105+
Also check with the C API WG before requiring a C feature not present in C99.
106+
While the *public* docs only promise compatibility with C11, in practice
107+
we only intruduce C11 features individually as needed.
108+
109+
.. _decisions repo: https://github.com/capi-workgroup/decisions/issues
110+
111+
96112
.. _public-api-guidelines:
97113

98114
Guidelines for expanding/changing the public API

0 commit comments

Comments
 (0)
0