mirror of https://github.com/python/cpython
42 lines
1.6 KiB
ReStructuredText
42 lines
1.6 KiB
ReStructuredText
.. _extending-index:
|
|
|
|
##################################################
|
|
Extending and Embedding the Python Interpreter
|
|
##################################################
|
|
|
|
This document describes how to write modules in C or C++ to extend the Python
|
|
interpreter with new modules. Those modules can not only define new functions
|
|
but also new object types and their methods. The document also describes how
|
|
to embed the Python interpreter in another application, for use as an extension
|
|
language. Finally, it shows how to compile and link extension modules so that
|
|
they can be loaded dynamically (at run time) into the interpreter, if the
|
|
underlying operating system supports this feature.
|
|
|
|
This document assumes basic knowledge about Python. For an informal
|
|
introduction to the language, see :ref:`tutorial-index`. :ref:`reference-index`
|
|
gives a more formal definition of the language. :ref:`library-index` documents
|
|
the existing object types, functions and modules (both built-in and written in
|
|
Python) that give the language its wide application range.
|
|
|
|
For a detailed description of the whole Python/C API, see the separate
|
|
:ref:`c-api-index`.
|
|
|
|
.. note::
|
|
|
|
This guide only covers the basic tools for creating extensions provided
|
|
as part of this version of CPython. Third party tools may offer simpler
|
|
alternatives. Refer to the `binary extensions section
|
|
<https://python-packaging-user-guide.readthedocs.org/en/latest/extensions.html>`__
|
|
in the Python Packaging User Guide for more information.
|
|
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:numbered:
|
|
|
|
extending.rst
|
|
newtypes.rst
|
|
building.rst
|
|
windows.rst
|
|
embedding.rst
|