cpython/InternalDocs/structure.md at main · python/cpython

GitHub

CPython source code

This section gives an overview of CPython's code structure and provides a summary of file locations for modules and built-ins.

Source code layout

For a Python module, the typical layout is:

Lib/<module>.py

Modules/_<module>.c (if there's also a C accelerator module)

Lib/test/test_<module>.py

Doc/library/<module>.rst

For an extension module, the typical layout is:

Modules/<module>module.c

Lib/test/test_<module>.py

Doc/library/<module>.rst

For builtin types, the typical layout is:

Objects/<builtin>object.c

Lib/test/test_<builtin>.py

Doc/library/stdtypes.rst

For builtin functions, the typical layout is:

Python/bltinmodule.c

Lib/test/test_builtin.py

Doc/library/functions.rst

Some exceptions to these layouts are:

built-in type int is at

Objects/longobject.c

built-in type str is at

Objects/unicodeobject.c

built-in module sys is at

Python/sysmodule.c

built-in module marshal is at

Python/marshal.c

Windows-only module winreg is at

PC/winreg.c