Not Logged In

SIP 4.19.3

What is SIP?

One of the features of Python that makes it so powerful is the ability to take
existing libraries, written in C or C++, and make them available as Python
extension modules. Such extension modules are often called bindings for the
library.

SIP is a tool that makes it very easy to create Python bindings for C and C++
libraries. It was originally developed to create PyQt, the Python bindings for
the Qt toolkit, but can be used to create bindings for any C or C++ library.

SIP comprises a code generator and a Python module. The code generator
processes a set of specification files and generates C or C++ code which is
then compiled to create the bindings extension module. The sip Python
module provides support functions to the automatically generated code.

The specification files contain a description of the interface of the C or C++
library, i.e. the classes, methods, functions and variables. The format of a
specification file is almost identical to a C or C++ header file, so much so
that the easiest way of creating a specification file is to edit the
corresponding header file.

SIP makes it easy to exploit existing C or C++ libraries in a productive
interpretive programming environment. SIP also makes it easy to take a Python
application (maybe a prototype) and selectively implement parts of the
application (maybe for performance reasons) in C or C++.