SIP (software)
SIP is an open source software tool used to connect computer programs or libraries written in C or C++ with the scripting language Python. It is an alternative to SWIG.
SIP was originally developed in 1998 for PyQt — the Python bindings for the Qt GUI toolkit — but is suitable for generating bindings for any C or C++ library.
Concept
SIP takes a set of specification (.sip) files describing the API and generates the required C++ code. This is then compiled to produce the Python extension modules. A .sip file is essentially the class header file with some things removed (because SIP does not include a full C++ parser) and some things added (because C++ does not always provide enough information about how the API works).
Notable applications that use SIP
- PyQt, a python port of the application framework and widget toolkit Qt
- QGIS, a free and open-source cross-platform desktop geographic information system (GIS)
- QtiPlot, a computer program to analyze and visualize scientific data
- calibre (software), a free and open-source cross-platform e-book manager
- Veusz, a free and open-source cross-platform program to visualize scientific data