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:
- connecting Qt signals to Python functions and class methods
- connecting Python signals to Qt slots
- overloading virtual member functions with Python class methods
- protected member functions
- abstract classes
- enumerated types
- global class instances
- static member functions.
WWW: http://www.riverbankcomputing.co.uk/sip/

Overhaul QT/KDE support: - bsd.port.mk update to use bsd.kde.mk for
USE_{QT,KDE}* - Cleanup corresponding ports for bsd.kde.mk update. - Fix
bsd.kde.mk: use correct kdelibs dependency, put qt at the bottom, introduce
QT_NONSTANDARD variable for nonstandard configure setup. - Update KDE2 to
2.1.1. Two patches included in x11/kdelibs2 to fix the proxy authentication
that was broken for 2.1.1. Remove old patches. - Potentially fix kdelibs
build for alpha. - Fix qt-designer 2.3.0 build. - Ruby stuff left alone
since it looks like black magic to me. Should still work w/ compat shims
for older USE_QT[,2] style. Some others were also left alone for the same
reason.