Chapter 24. Extending and Embedding Classic Python
Classic Python runs on a portable
C-coded virtual machine. Python’s built-in objects,
such as numbers, sequences, dictionaries, and files, are coded in C,
as are several modules in Python’s standard library.
Modern platforms support dynamic-load libraries, with file extensions
such as .dll
on Windows and
.so
on Linux, and building Python produces such
binary files. You can code your own extension modules for Python in
C, using the Python C API covered in this chapter, to produce and
deploy dynamic libraries that Python scripts and interactive sessions
can later use with the import
statement, covered
in Chapter 7.
Extending
Python means building modules that Python code can
import
to access the features the modules supply.
Embedding Python means executing Python code from your application.
For such execution to be useful, Python code must in turn be able to
access some of your application’s functionality. In
practice, therefore, embedding implies some extending, as well as a
few embedding-specific operations.
Embedding and extending are covered extensively in Python’s online documentation; you can find an in-depth tutorial at http://www.python.org/doc/ext/ext.html and a reference manual at http://www.python.org/doc/api/api.html. Many details are best studied in Python’s extensively documented sources. Download Python’s source distribution and study the sources of Python’s core, C-coded extension modules and the example extensions ...
Get Python in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.