| .. highlight:: c | |
| .. _building: | |
| ***************************** | |
| Building C and C++ Extensions | |
| ***************************** | |
| A C extension for CPython is a shared library (for example, a ``.so`` file on | |
| Linux, ``.pyd`` on Windows), which exports an *initialization function*. | |
| See :ref:`extension-modules` for details. | |
| .. highlight:: c | |
| .. _install-index: | |
| .. _setuptools-index: | |
| Building C and C++ Extensions with setuptools | |
| ============================================= | |
| Building, packaging and distributing extension modules is best done with | |
| third-party tools, and is out of scope of this document. | |
| One suitable tool is Setuptools, whose documentation can be found at | |
| https://setuptools.pypa.io/en/latest/setuptools.html. | |
| The :mod:`distutils` module, which was included in the standard library | |
| until Python 3.12, is now maintained as part of Setuptools. |