cpython/Include
Eric Snow 58ef741867
gh-107080: Fix Py_TRACE_REFS Crashes Under Isolated Subinterpreters (gh-107567)
The linked list of objects was a global variable, which broke isolation between interpreters, causing crashes. To solve this, we've moved the linked list to each interpreter.
2023-08-03 19:51:08 +00:00
..
cpython gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-107359) 2023-07-27 15:30:16 -06:00
internal gh-107080: Fix Py_TRACE_REFS Crashes Under Isolated Subinterpreters (gh-107567) 2023-08-03 19:51:08 +00:00
Python.h gh-106320: Remove private _PyTraceMalloc C API functions (#106324) 2023-07-02 00:49:18 +00:00
README.rst gh-101101: Unstable C API tier (PEP 689) (GH-101102) 2023-02-28 09:31:01 +01:00
abstract.h gh-106307: C API: Add PyMapping_GetOptionalItem() function (GH-106308) 2023-07-11 23:04:12 +03:00
bltinmodule.h
boolobject.h gh-84436: Implement Immortal Objects (gh-19474) 2023-04-22 13:39:37 -06:00
bytearrayobject.h
bytesobject.h
ceval.h gh-105182: Remove PyEval_AcquireLock() and PyEval_InitThreads() (#105183) 2023-06-01 13:41:56 +02:00
codecs.h Remove private _PyCodec_Lookup() function (#106269) 2023-06-30 09:34:01 +00:00
compile.h
complexobject.h
datetime.h
descrobject.h gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511) 2023-05-04 09:56:53 +02:00
dictobject.h gh-106004: PyDict_GetItemRef() should only be in the limited API 3.13 (GH-107229) 2023-07-25 21:48:07 +03:00
dynamic_annotations.h gh-96959: Update HTTP links which are redirected to HTTPS (GH-96961) 2022-09-24 14:38:53 +03:00
enumobject.h
errcode.h gh-107162: Document errcode.h usage in its comment (#107177) 2023-07-24 14:14:58 +00:00
exports.h gh-88267: Avoid DLL exporting functions from static builds on Windows(GH-99888) 2022-12-09 11:16:15 +00:00
fileobject.h gh-106320: Remove _PyIsSelectable_fd() C API (#107142) 2023-07-23 19:07:12 +00:00
fileutils.h
floatobject.h
frameobject.h
genericaliasobject.h
import.h gh-105922: Add PyImport_AddModuleRef() function (#105923) 2023-06-20 08:48:14 +02:00
interpreteridobject.h gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-107359) 2023-07-27 15:30:16 -06:00
intrcheck.h
iterobject.h
listobject.h
longobject.h
marshal.h
memoryobject.h gh-79315: Add Include/cpython/memoryobject.h header (#99723) 2022-11-23 15:44:42 +01:00
methodobject.h gh-105107: Remove PyCFunction_Call() function (#105181) 2023-06-01 11:25:55 +02:00
modsupport.h gh-107226: PyModule_AddObjectRef() should only be in the limited API 3.10 (GH-107227) 2023-07-25 22:01:45 +03:00
moduleobject.h gh-106320: Remove private _PyModule API (#107070) 2023-07-22 21:41:11 +00:00
object.h gh-105059: Fix MSCV compiler warning on PyObject union (#107239) 2023-07-25 16:45:38 +02:00
objimpl.h gh-102013: Add PyUnstable_GC_VisitObjects (#102014) 2023-03-14 01:35:54 +00:00
opcode.h gh-105481: simplify definition of pseudo ops in Lib/opcode.py (#107561) 2023-08-02 18:16:57 +01:00
osdefs.h
osmodule.h
patchlevel.h Python 3.13.0a0 2023-05-22 21:15:32 +02:00
py_curses.h
pybuffer.h gh-102500: Implement PEP 688 (#102521) 2023-05-04 07:59:46 -07:00
pycapsule.h
pydtrace.d
pydtrace.h Fix `pydtrace.d` path comment in `Include/pydtrace.h` (#28539) 2022-12-31 22:40:25 +05:30
pyerrors.h GH-101578: Normalize the current exception (GH-101607) 2023-02-08 09:31:12 +00:00
pyexpat.h
pyframe.h
pyhash.h gh-106320: Move private _PyHash API to the internal C API (#107026) 2023-07-22 13:49:37 +00:00
pylifecycle.h gh-105145: Deprecate Py_GetPath() function (#105179) 2023-06-01 12:06:32 +00:00
pymacconfig.h
pymacro.h gh-107249: Implement Py_UNUSED() for MSVC (#107250) 2023-07-25 19:28:16 +02:00
pymath.h gh-104263: Rely on Py_NAN and introduce Py_INFINITY (GH-104202) 2023-05-10 17:44:52 +01:00
pymem.h
pyport.h gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511) 2023-05-04 09:56:53 +02:00
pystate.h
pystats.h gh-104584: Baby steps towards generating and executing traces (#105924) 2023-06-26 19:02:57 -07:00
pystrcmp.h
pystrtod.h
pythonrun.h gh-102755: PyErr_DisplayException only in ABI >= 3.12. Tests cover PyErr_Display as well (GH-102849) 2023-03-21 10:36:18 +01:00
pythread.h
pytypedefs.h
rangeobject.h
setobject.h
sliceobject.h
structmember.h gh-47146: Soft-deprecate structmember.h, expose its contents via Python.h (GH-99014) 2022-11-22 08:25:43 +01:00
structseq.h gh-106168: PyTuple_SET_ITEM() now checks the index (#106164) 2023-06-28 03:45:57 +02:00
sysmodule.h gh-105145: Deprecate Py_GetPath() function (#105179) 2023-06-01 12:06:32 +00:00
traceback.h
tupleobject.h
typeslots.h
unicodeobject.h Fix typo in "expected" word in few source files (#104034) 2023-05-01 09:45:50 -06:00
warnings.h
weakrefobject.h gh-105927: Deprecate PyWeakref_GetObject() function (#106006) 2023-06-26 12:10:53 +02:00

README.rst

The Python C API
================

The C API is divided into these sections:

1. ``Include/``: Limited API
2. ``Include/cpython/``: CPython implementation details
3. ``Include/cpython/``, names with the ``PyUnstable_`` prefix: API that can
   change between minor releases
4. ``Include/internal/``, and any name with ``_`` prefix: The internal API

Information on changing the C API is available `in the developer guide`_

.. _in the developer guide: https://devguide.python.org/c-api/