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.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

sip-6.3.0-cp36-abi3-win_amd64.whl (537.8 kB view details)

Uploaded CPython 3.6+ Windows x86-64

sip-6.3.0-cp36-abi3-win32.whl (511.2 kB view details)

Uploaded CPython 3.6+ Windows x86

sip-6.3.0-cp36-abi3-manylinux2014_x86_64.whl (994.3 kB view details)

Uploaded CPython 3.6+

sip-6.3.0-cp36-abi3-macosx_10_9_universal2.whl (705.4 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 483c8c7db21b67398c331f058fb19508597ed655375804c1cebb9291fc880f1f
MD5 5560b0a83235a64cca4b763ca97cbb96
BLAKE2b-256 02b171ad90d0b5fd517e810375780340d6def502f3f9cba9f29b06608be78b04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.3.0-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 537.8 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.0-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1005a4a419c20e68f26e4c9c1d3466268a20af75318096037f2c2a4e608da12e
MD5 ebbccbfe1375648e54529c1d72015418
BLAKE2b-256 f67125688ffe5b95748b6a7afb95efc07c632cf30928e9aacb3a5f369b23c53b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.3.0-cp36-abi3-win32.whl
  • Upload date:
  • Size: 511.2 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.0-cp36-abi3-win32.whl
Algorithm Hash digest
SHA256 abc200810bd84a5b75ad4f7f8cec64ec3f891bfc57ef6df6ef416f39801495de
MD5 6341cafd7f064a95f1bbab8947d9c77e
BLAKE2b-256 d3c3662cd94df02960a3b9062fdcd2c33661b7a34f0d2d2fede16fc8beca81c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.3.0-cp36-abi3-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 994.3 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.0-cp36-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aeb43b99343d20ef48c1788e6e560119634f8e0cbb4c3c22e56bee5f872ff798
MD5 23ff6776aa1863f61ac86ada9e2a3d77
BLAKE2b-256 d06a1627dec2d3297af744dbd741f90e800fa1dbe8e7f4797555599843e7a258

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.3.0-cp36-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 705.4 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.0-cp36-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 03232481d443771fd90ae7d09e6f4bf99e0503f9e76f69a9fc2c24c0cec52877
MD5 3b93f7522f9ff12142a003c9d3c04ab3
BLAKE2b-256 0dd5e5cee39c3201b4b04acea6e52f8c6db33c02ce28726b7db9d6e459706d2f

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