Chapter 1. Introduction

Table of Contents
What is SIP
Conventions

This handbooks has started from my attempts to use SIP apart from the PyQt / PyKDE binding. Since Phil does not (yet) supply any documentation for SIP (see his statement), the only source of information is the source code and the .sip files in Phils PyQt implementation.

So most of this handbooks contents have been ripped from the above sources. I just added some interpretation in my simple minded attempt to understand to hows and whys. Hopefully this will be corrected and improved by others and eventually grow into a useful and reliable source of information.

Wilken Boie

What is SIP

SIP is a tool for generating bindings for C++ classes so that they can be accessed as normal Python classes. SIP takes many of its ideas from SWIG but, because it is specifically designed for C++ and Python, is able to generate tighter bindings. SIP is so called because it is a small SWIG.

SIP was originally designed to generate Python bindings for KDE and so has explicit support for the signal slot mechanism used by the Qt/KDE class libraries. However, SIP can be used to generate Python bindings for any C++ class library.

The bindings generated by SIP support access to the following C++ and Qt features:

This package comprises the SIP binary that generates the C++ code, a couple of header files that are needed compile the generated C++ code, and a run-time library that is needed by any set of compiled bindings.

Phil Thompson