20.1 "Add Python. Mix Well. Repeat."
In the last chapter, we explored
half of the Python/C integration picture -- calling C services
from Python. This mode lets programmers speed up operations by moving
them to C, and utilize external libraries by wrapping them in C
extension modules and types. But the inverse can be just as
useful -- calling Python from C. By delegating selected components
of an application to embedded Python code, we can open them up to
onsite changes without having to ship a system's
code.
This chapter tells this other half of the Python/C integration tale.
It introduces the Python C interfaces that make it possible for
programs written in C-compatible languages to run Python program
code. In this mode, Python acts as an embedded control language (what
some call a "macro" language). Although embedding is
mostly presented in isolation here, keep in mind that Python's
integration support is best viewed as a whole. A system's
structure usually determines an appropriate integration approach: C
extensions, embedded code calls, or both. To wrap up, this chapter
concludes by discussing a handful of larger integration platforms,
such as COM and JPython, that present broader component integration
possibilities.
|