Status of the new Python C API¶
Status¶
2022¶
- 2022-03-04: The pythoncapi-compat project moves to the GitHub Python organization.
- 2022-04-22: Petr Viktorin proposes PEP 689 – Unstable C API tier.
- 2022-04-12: the Python Steering Council accepts the PEP 670 – Convert macros to functions in the Python C API. It’s implemented in Python 3.11.
- 2022-04-04: Petr Viktorin proposes the document: Draft: C API design strategy
- 2022-01-28: python-dev: Slowly bend the C API towards the limited API to get a stable ABI for everyone
2021¶
- 2021-11-30: Victor Stinner proposes PEP 674 – Disallow using macros as l-values.
- 2021-10-19: Victor Stinner proposes PEP 670 – Convert macros to functions in the Python C API.
- 2021-10-05: Python C API: Add functions to access PyObject article.
- 2021-10-04: C API changes between Python 3.5 to 3.10 article.
- 2021-09-28: Victor Stinner proposes PEP: Taking the Python C API to the Next Level.
- 2021-03-26: Make structures opaque in the Python C API article.
2020¶
- 2020-12-04: On the capi-sig list, New script: add Python 3.10 support to your C extensions without losing Python 3.6 support.
- 2020-10-16: Simon Cross writes Taking the C API to the Next Level for HPy.
- 2020-06-19: Victor Stinner proposes PEP 620 – Hide implementation details from the C API.
- 2020-06-04: Creation of the pythoncapi-compat project
- 2020-04-10: PEP: Modify the C API to hide implementation details sent to python-dev.
2019¶
- 2019-07-12: Creation of the HPy project on GitHub.
- 2019-06-19: Split Include/ directory in Python 3.8 article.
- 2019-05-01: Pycon US 2019: Status of the stable API and ABI in Python 3.8, slides of Victor Stinner’s lightning talk at the Language Summit.
- 2019-04-25: In Python 3.8, the Python debug build ABI becomes compatible with the release build ABI (commit): What’s New In Python 3.8: Debug build uses the same ABI as release build.
- 2019-02-22: [capi-sig] Update on CPython header files reorganization
2018¶
- 2018-09-21: Antonio Cuni wrote Inside cpyext: Why emulating CPython C API is so Hard article about the PyPy cpyext module.
- 2018-09-04: Creation of CPython fork to experiment a new incompatible C API excluding borrowed references and not access directly structure members.
- 2018-07-29: Creation of the pythoncapi project on GitHub.
- 2018-06: The Python capi-sig mailing list migrated to Mailman 3.
2017¶
- 2017-12-21: It’s an idea. There is an old PEP draft, but no implementation, the PEP has no number and was not accepted yet (nor really proposed).
- 2017-11: Idea proposed on python-dev, [Python-Dev] Make the stable API-ABI usable
- 2017-09: Blog post: A New C API for CPython
- 2017-09: Idea discussed at the CPython sprint at Instagram (California). Liked by all core developers. The expected performance slowdown is likely to be accepted.
- 2017-07-11: [Python-ideas] PEP: Hide implementation details in the C API
- 2017-07: Idea proposed on python-ideas. [Python-ideas] PEP: Hide implementation details in the C API
- 2017-05: Idea proposed at the Python Language Summit, during PyCon US 2017. My “Python performance” slides (PDF). LWN article: Keeping Python competitive.