4.Building C and C++ Extensions

A C extension for CPython is a shared library (for example, a.so file onLinux,.pyd on Windows), which exports aninitialization function.

SeeDefining extension modules for details.

4.1.Building C and C++ Extensions with setuptools

Building, packaging and distributing extension modules is best done withthird-party tools, and is out of scope of this document.One suitable tool is Setuptools, whose documentation can be found athttps://setuptools.pypa.io/en/latest/setuptools.html.

Thedistutils module, which was included in the standard libraryuntil Python 3.12, is now maintained as part of Setuptools.