cpython/Include
Serhiy Storchaka 8bf8bf9292
gh-73613: Support Base32 and Base64 without padding (GH-147974)
Add the padded parameter in functions related to Base32 and Base64 codecs
in the binascii and base64 modules.  In the encoding functions it controls
whether the pad character can be added in the output, in the decoding
functions it controls whether padding is required in input.

Padding of input no longer required in base64.urlsafe_b64decode() by default.
2026-04-04 21:26:16 +03:00
..
cpython gh-146073: Revert "gh-146073: Add fitness/exit quality mechanism for JIT trace frontend (GH-147966)" (#148082) 2026-04-04 11:56:40 +00:00
internal gh-73613: Support Base32 and Base64 without padding (GH-147974) 2026-04-04 21:26:16 +03:00
abstract.h gh-134989: Implement PyObject_DelAttr() as a macro in the limited C API (GH-135021) 2025-06-04 15:07:52 +02:00
audit.h gh-135755: Use private names (_Py*) for header file guards new in 3.14 (GH-135921) 2025-06-26 13:05:01 +02:00
bltinmodule.h
boolobject.h gh-134989: Fix Py_RETURN_NONE in the limited C API (GH-135165) 2025-06-05 14:43:47 +02:00
bytearrayobject.h
bytesobject.h
ceval.h gh-135755: Move SPECIAL_ constants to a private header (GH-135922) 2025-06-25 13:03:05 +02:00
codecs.h
compile.h
complexobject.h
critical_section.h gh-119344: Make critical section API public (#119353) 2024-06-21 15:50:18 -04:00
datetime.h gh-141563: Add missing cast to _PyDateTime_IMPORT() (#144667) 2026-02-10 14:47:12 +00:00
descrobject.h gh-41779: Allow defining any __slots__ for a class derived from tuple (GH-141763) 2026-01-06 11:36:00 +02:00
dictobject.h gh-141726: Add PyDict_SetDefaultRef() to the Stable ABI (#141727) 2025-11-19 11:38:10 +00:00
dynamic_annotations.h
enumobject.h
errcode.h gh-107450: Check for overflow in the tokenizer and fix overflow test (#110832) 2023-10-16 16:42:49 +02:00
exports.h gh-141671: PyMODINIT_FUNC: apply __declspec(dllexport) on Windows (GH-141672) 2026-01-07 13:09:48 +01:00
fileobject.h
fileutils.h gh-67341: fix a typo in Include/fileutils.h (#136049) 2025-07-14 08:02:05 +00:00
floatobject.h gh-141004: soft-deprecate Py_INFINITY macro (#141033) 2025-11-12 13:44:49 +01:00
frameobject.h
genericaliasobject.h
import.h gh-142349: Fix build errors from PEP 810 (#144726) 2026-02-12 08:18:36 +00:00
intrcheck.h
iterobject.h
listobject.h gh-114329: Fix PyList_GetItemRef() limited C API definition (#117520) 2024-04-03 21:02:42 +00:00
longobject.h gh-143869: Add PEP 757 functions to the limited API (#143906) 2026-01-21 14:47:14 +01:00
marshal.h gh-79315: Add Include/cpython/marshal.h header (#139725) 2025-10-07 23:49:08 +02:00
memoryobject.h
methodobject.h gh-132097: use a macro for semantically casting function pointers (#132406) 2025-04-18 12:24:34 +02:00
modsupport.h gh-142225: Fix PyABIInfo_VAR macro (GH-142230) 2025-12-04 10:33:15 +01:00
moduleobject.h gh-143883: Use named parameters in PyModExport-related declarations & docs (GH-143884) 2026-01-27 10:28:28 +00:00
object.h gh-146175: Soft-deprecate outdated macros; convert internal usage (GH-146178) 2026-03-23 12:42:09 +01:00
objimpl.h gh-102013: Move PyUnstable_GC_VisitObjects() to Include/cpython/objimpl.h (#115560) 2024-02-16 15:49:13 +01:00
opcode.h gh-100239: replace BINARY_SUBSCR & family by BINARY_OP with oparg NB_SUBSCR (#129700) 2025-02-07 22:39:54 +00:00
opcode_ids.h GH-145667: Merge GET_ITER and GET_YIELD_FROM_ITER (GH-146120) 2026-03-21 10:48:13 +00:00
osdefs.h
osmodule.h
patchlevel.h gh-146636: PEP 803: add Py_TARGET_ABI3T and .abi3t.so extension (GH-146637) 2026-04-01 16:14:59 +02:00
py_curses.h gh-125843: indicate which C function caused a curses.error (#125844) 2025-05-19 15:53:39 +02:00
pyatomic.h
pybuffer.h gh-137696: Rename 'fort' parameter to 'order' in PyBuffer_* functions (#137866) 2026-03-19 16:54:27 +05:30
pycapsule.h
pydtrace.d
pydtrace.h
pyerrors.h gh-142349: Implement PEP 810 - Explicit lazy imports (#142351) 2026-02-12 00:15:33 +00:00
pyexpat.h gh-90949: expose Expat API to tune exponential expansion protections (#139368) 2025-09-28 08:27:04 +00:00
pyframe.h
pyhash.h gh-111545: Add Include/cpython/pyhash.h header file (#112063) 2023-11-15 01:19:20 +01:00
pylifecycle.h gh-133644: Remove deprecated Python initialization getter functions (#133661) 2025-05-09 11:39:23 +00:00
pymacconfig.h gh-145633: Remove support for ancient ARM platforms with mixed-endian doubles (#145634) 2026-03-11 12:39:24 +01:00
pymacro.h gh-141370: Fix undefined behavior when using Py_ABS() (GH-141548) 2025-12-05 16:24:35 +02:00
pymath.h gh-141004: soft-deprecate Py_INFINITY macro (#141033) 2025-11-12 13:44:49 +01:00
pymem.h gh-85283: Add PyMem_RawMalloc() to the limited C API (#108570) 2023-10-17 02:41:51 +02:00
pyport.h GH-126910: Revert "Make _Py_get_machine_stack_pointer return the stack pointer (#147945)" (GH-147994) 2026-04-02 16:53:09 +02:00
pystate.h
pystats.h GH-124284: Add stats for refcount operations on immortal objects (GH-124288) 2024-09-23 19:10:55 +01:00
pystrcmp.h
pystrtod.h
Python.h gh-146636: PEP 803: add Py_TARGET_ABI3T and .abi3t.so extension (GH-146637) 2026-04-01 16:14:59 +02:00
pythonrun.h gh-130396: Move PYOS_LOG2_STACK_MARGIN to internal headers (#135928) 2025-07-01 15:18:17 +02:00
pythread.h gh-137884: Added threading.get_native_id() on Illumos/Solaris (GH-137927) 2025-08-20 17:10:44 +00:00
pytypedefs.h
rangeobject.h
README.rst
refcount.h gh-146175: Soft-deprecate outdated macros; convert internal usage (GH-146178) 2026-03-23 12:42:09 +01:00
setobject.h
sliceobject.h gh-79315: Add Include/cpython/sliceobject.h header (#139729) 2025-10-08 00:48:18 +02:00
structmember.h Fix typos in comments (#120188) 2024-06-07 10:19:41 +02:00
structseq.h gh-79315: Add Include/cpython/structseq.h header (#139730) 2025-10-08 01:19:50 +02:00
sysmodule.h gh-138886: Remove deprecated PySys_ResetWarnOptions C-API function (#138887) 2025-09-15 12:01:33 +03:00
traceback.h
tupleobject.h
typeslots.h Revert "gh-133395: add option for extension modules to specialize BINARY_OP/SUBSCR, apply to arrays (#133396)" (#133498) 2025-05-06 13:12:26 +03:00
unicodeobject.h gh-146175: Soft-deprecate outdated macros; convert internal usage (GH-146178) 2026-03-23 12:42:09 +01:00
warnings.h
weakrefobject.h gh-133644: remove PyWeakref_GetObject and PyWeakref_GET_OBJECT (GH-133657) 2025-09-24 11:25:56 +02:00

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/