# 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/.py` * `Modules/_.c` (if there's also a C accelerator module) * `Lib/test/test_.py` * `Doc/library/.rst` For an extension module, the typical layout is: * `Modules/module.c` * `Lib/test/test_.py` * `Doc/library/.rst` For builtin types, the typical layout is: * `Objects/object.c` * `Lib/test/test_.py` * [`Doc/library/stdtypes.rst`](../Doc/library/stdtypes.rst) For builtin functions, the typical layout is: * [`Python/bltinmodule.c`](../Python/bltinmodule.c) * [`Lib/test/test_builtin.py`](../Lib/test/test_builtin.py) * [`Doc/library/functions.rst`](../Doc/library/functions.rst) Some exceptions to these layouts are: * built-in type `int` is at [`Objects/longobject.c`](../Objects/longobject.c) * built-in type `str` is at [`Objects/unicodeobject.c`](../Objects/unicodeobject.c) * built-in module `sys` is at [`Python/sysmodule.c`](../Python/sysmodule.c) * built-in module `marshal` is at [`Python/marshal.c`](../Python/marshal.c) * Windows-only module `winreg` is at [`PC/winreg.c`](../PC/winreg.c)