cpython/Include
T. Wouters 180d417e9f
gh-114203: Optimise simple recursive critical sections (#128126)
Add a fast path to (single-mutex) critical section locking _iff_ the mutex
is already held by the currently active, top-most critical section of this
thread. This can matter a lot for indirectly recursive critical sections
without intervening critical sections.
2024-12-23 13:31:33 +01:00
..
cpython gh-127274: Defer nested methods (#128012) 2024-12-19 13:03:14 -08:00
internal gh-114203: Optimise simple recursive critical sections (#128126) 2024-12-23 13:31:33 +01:00
abstract.h
audit.h
bltinmodule.h
boolobject.h
bytearrayobject.h
bytesobject.h
ceval.h
codecs.h
compile.h
complexobject.h
critical_section.h
datetime.h
descrobject.h
dictobject.h
dynamic_annotations.h
enumobject.h
errcode.h
exports.h
fileobject.h
fileutils.h
floatobject.h gh-120026: soft deprecate Py_HUGE_VAL macro (#120027) 2024-11-01 22:04:31 +00:00
frameobject.h
genericaliasobject.h
import.h
intrcheck.h
iterobject.h
listobject.h
lock.h
longobject.h
marshal.h gh-125063: marshal: Add version 5, improve documentation (GH-126829) 2024-11-15 13:48:57 +01:00
memoryobject.h
methodobject.h
modsupport.h
moduleobject.h
monitoring.h
object.h GH-125174: Mark objects as statically allocated. (#127797) 2024-12-11 17:37:38 +00:00
objimpl.h
opcode.h
opcode_ids.h GH-122548: Implement branch taken and not taken events for sys.monitoring (GH-122564) 2024-12-19 16:59:51 +00:00
osdefs.h
osmodule.h
patchlevel.h Post 3.14.0a3 2024-12-17 17:52:43 +02:00
py_curses.h
pyatomic.h
pybuffer.h
pycapsule.h
pydtrace.d
pydtrace.h
pyerrors.h
pyexpat.h
pyframe.h
pyhash.h
pylifecycle.h
pymacconfig.h
pymacro.h
pymath.h gh-120026: soft deprecate Py_HUGE_VAL macro (#120027) 2024-11-01 22:04:31 +00:00
pymem.h
pyport.h
pystate.h
pystats.h
pystrcmp.h
pystrtod.h
Python.h gh-127271: Replace use of PyCell_GET/SET (gh-127272) 2024-12-03 10:33:06 -08:00
pythonrun.h
pythread.h
pytypedefs.h
rangeobject.h
README.rst
refcount.h GH-125174: Don't use UINT32_MAX in header file (GH-127863) 2024-12-13 10:54:59 +01:00
setobject.h
sliceobject.h
structmember.h
structseq.h
sysmodule.h
traceback.h
tupleobject.h
typeslots.h
unicodeobject.h
warnings.h
weakrefobject.h

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/