Harman Patil (Editor)

SIP (software)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Original author(s)
  
Phil Thompson

Operating system
  
Cross-platform

Written in
  
C, C++

License
  
GPL and other

Website
  
riverbankcomputing.co.uk/software/sip/intro

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.

Contents

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 basically the class header file with some things removed (because SIP doesn't include a full C++ parser) and some things added (because C++ doesn't 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
  • QtiPlot, a computer program to analyze and visualize scientific data
  • Viber, an instant messaging and Voice over IP (VoIP) app for smartphones and desktop
  • References

    SIP (software) Wikipedia