SIP is an
open source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
tool used to connect
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
s or
libraries
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
written in
C or
C++ with the
scripting language
In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
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 () files describing the
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
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
QGIS is a geographic information system (GIS) software that is free and open-source. QGIS supports Windows, macOS, and Linux. It supports viewing, editing, printing, and analysis of geospatial data in a range of data formats. Its name comes from ...
, a free and open-source cross-platform desktop geographic information system (GIS)
*
QtiPlot
QtiPlot is a cross-platform computer program for interactive Plot (graphics), scientific graphing and data analysis. It is similar to Origin (data analysis software), Origin or SigmaPlot.
QtiPlot can be used to present 2D and 3D data and has var ...
, 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
References
{{Reflist
Programming tools
Free computer programming tools
Scripting languages