mirror of
https://github.com/python/cpython
synced 2026-10-17 00:11:38 +03:00
This change is almost entirely moving code around and hiding import state behind internal API. We introduce no changes to behavior, nor to non-internal API. (Since there was already going to be a lot of churn, I took this as an opportunity to re-organize import.c into topically-grouped sections of code.) The motivation is to simplify a number of upcoming changes. Specific changes: * move existing import-related code to import.c, wherever possible * add internal API for interacting with import state (both global and per-interpreter) * use only API outside of import.c (to limit churn there when changing the location, etc.) * consolidate the import-related state of PyInterpreterState into a single struct field (this changes layout slightly) * add macros for import state in import.c (to simplify changing the location) * group code in import.c into sections *remove _PyState_AddModule() https://github.com/python/cpython/issues/101758 |
||
|---|---|---|
| .. | ||
| cpython | ||
| internal | ||
| abstract.h | ||
| bltinmodule.h | ||
| boolobject.h | ||
| bytearrayobject.h | ||
| bytesobject.h | ||
| ceval.h | ||
| codecs.h | ||
| compile.h | ||
| complexobject.h | ||
| datetime.h | ||
| descrobject.h | ||
| dictobject.h | ||
| dynamic_annotations.h | ||
| enumobject.h | ||
| errcode.h | ||
| exports.h | ||
| fileobject.h | ||
| fileutils.h | ||
| floatobject.h | ||
| frameobject.h | ||
| genericaliasobject.h | ||
| import.h | ||
| intrcheck.h | ||
| iterobject.h | ||
| listobject.h | ||
| longobject.h | ||
| marshal.h | ||
| memoryobject.h | ||
| methodobject.h | ||
| modsupport.h | ||
| moduleobject.h | ||
| object.h | ||
| objimpl.h | ||
| opcode.h | ||
| osdefs.h | ||
| osmodule.h | ||
| patchlevel.h | ||
| py_curses.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 | ||
| pymem.h | ||
| pyport.h | ||
| pystate.h | ||
| pystats.h | ||
| pystrcmp.h | ||
| pystrtod.h | ||
| Python.h | ||
| pythonrun.h | ||
| pythread.h | ||
| pytypedefs.h | ||
| rangeobject.h | ||
| README.rst | ||
| setobject.h | ||
| sliceobject.h | ||
| structmember.h | ||
| structseq.h | ||
| sysmodule.h | ||
| traceback.h | ||
| tracemalloc.h | ||
| tupleobject.h | ||
| typeslots.h | ||
| unicodeobject.h | ||
| warnings.h | ||
| weakrefobject.h | ||
The Python C API ================ The C API is divided into three sections: 1. ``Include/``: Limited API 2. ``Include/cpython/``: CPython implementation details 3. ``Include/internal/``: 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/