Skip to main content

A Python bindings generator for C/C++ libraries

Project description

What is SIP?

One of the features of Python that makes it so powerful is the ability to take existing libraries, written in C or C++, and make them available as Python extension modules. Such extension modules are often called bindings for the library.

SIP is a collection of tools that makes it very easy to create Python bindings for C and C++ libraries. It was originally developed in 1998 to create PyQt, the Python bindings for the Qt toolkit, but can be used to create bindings for any C or C++ library. For example it is also used to generate wxPython, the Python bindings for wxWidgets.

SIP comprises a set of build tools and a sip module. The build tools process a set of specification files and generates C or C++ code which is then compiled to create the bindings extension module. Several extension modules may be installed in the same Python package. Extension modules can be built so that they are are independent of the version of Python being used. In other words a wheel created from them can be installed with any version of Python starting with v3.5.

The specification files contain a description of the interface of the C or C++ library, i.e. the classes, methods, functions and variables. The format of a specification file is almost identical to a C or C++ header file, so much so that the easiest way of creating a specification file is to edit a copy of the corresponding header file.

The sip module provides support functions to the automatically generated code. The sip module is installed as part of the same Python package as the generated extension modules. Unlike the extension modules the sip module is specific to a particular version of Python (e.g. v3.5, v3.6, v3.7, v3.8).

SIP makes it easy to exploit existing C or C++ libraries in a productive interpretive programming environment. SIP also makes it easy to take a Python application (maybe a prototype) and selectively implement parts of the application (maybe for performance reasons) in C or C++.

Author

SIP is copyright (c) Riverbank Computing Limited. Its homepage is https://www.riverbankcomputing.com/software/sip/.

Support may be obtained from the PyQt mailing list at https://www.riverbankcomputing.com/mailman/listinfo/pyqt/.

License

SIP is released under the GPL v2, GPL v3 licenses, and under a license similar to the BSD license.

Installation

SIP can be installed from PyPI:

pip install sip

Documentation

The documentation for the latest release can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sip-6.3.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

sip-6.3.1-cp36-abi3-win_amd64.whl (537.9 kB view details)

Uploaded CPython 3.6+ Windows x86-64

sip-6.3.1-cp36-abi3-win32.whl (511.3 kB view details)

Uploaded CPython 3.6+ Windows x86

sip-6.3.1-cp36-abi3-manylinux2014_x86_64.whl (994.4 kB view details)

Uploaded CPython 3.6+

sip-6.3.1-cp36-abi3-macosx_10_9_universal2.whl (705.5 kB view details)

Uploaded CPython 3.6+ macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file sip-6.3.1.tar.gz.

File metadata

  • Download URL: sip-6.3.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.3.1.tar.gz
Algorithm Hash digest
SHA256 2f9cd6ce0e19226d53d62ad6ba81a62f624626f14924724eab2a23390d4dc684
MD5 3807c1ba29002445b9653ae10983fd2b
BLAKE2b-256 ed7457851ed1cd8d996bbb3103b17798d59ddda3f7f8245b826c01aadfc3d66c

See more details on using hashes here.

File details

Details for the file sip-6.3.1-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: sip-6.3.1-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 537.9 kB
  • Tags: CPython 3.6+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.3.1-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f65ec486b89ab1c72ae9eb3217576a95cff0db09104fce2637f21bd5871ebd62
MD5 f3465449d5f0f3fde4bbb816342ed76e
BLAKE2b-256 f21ee6a623f36cc43998fe20ceb1bf672cabc9221977f9b30a274bd3c620d582

See more details on using hashes here.

File details

Details for the file sip-6.3.1-cp36-abi3-win32.whl.

File metadata

  • Download URL: sip-6.3.1-cp36-abi3-win32.whl
  • Upload date:
  • Size: 511.3 kB
  • Tags: CPython 3.6+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.3.1-cp36-abi3-win32.whl
Algorithm Hash digest
SHA256 6281d5c6da134d94a5af343c074cc8841fd34309a6dcd53dc255b1554986f82d
MD5 1280d7839172ae3bdd61961f5bd015f0
BLAKE2b-256 92d8b7bccd3397fb1591ca65499594e57905c4b707f93ee243ade52285d4e894

See more details on using hashes here.

File details

Details for the file sip-6.3.1-cp36-abi3-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.3.1-cp36-abi3-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 994.4 kB
  • Tags: CPython 3.6+
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.3.1-cp36-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f936a2eb04a600ab8b05e340d4eab30863249fc5318d9a515e230bebe4d23b6
MD5 49b293772e40a3e24805f87192335fcb
BLAKE2b-256 c87ee7da56774ef6d22fe2c013cd35cf2569f59dddc1026e91087b2e091d6891

See more details on using hashes here.

File details

Details for the file sip-6.3.1-cp36-abi3-macosx_10_9_universal2.whl.

File metadata

  • Download URL: sip-6.3.1-cp36-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 705.5 kB
  • Tags: CPython 3.6+, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.3.1-cp36-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2d7a1fcdfbf2ffab0d9492732e7e745b9e7992934be72c1b16cfae910fc288e0
MD5 532b26ebb7ad8d9dabcb45cbbe4603dd
BLAKE2b-256 524763355b811cb47d3037e283fcdf5967491232c50e03b70467ef793c5742af

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page