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

Uploaded Source

Built Distributions

sip-6.7.6-cp37-abi3-win_amd64.whl (608.0 kB view details)

Uploaded CPython 3.7+ Windows x86-64

sip-6.7.6-cp37-abi3-win32.whl (593.6 kB view details)

Uploaded CPython 3.7+ Windows x86

sip-6.7.6-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (903.9 kB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.5+ x86-64

sip-6.7.6-cp37-abi3-macosx_10_9_universal2.whl (734.3 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.6.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.7.6.tar.gz
Algorithm Hash digest
SHA256 21d39b5b1956eefb912e93a4c10b9db252bc86302c36589742525345bfd2b2ea
MD5 ea46fe0760c0c426552c408101036a54
BLAKE2b-256 b032e4821b4f32836293068edba3036bf3de07a0aaae465214ee280c677f3860

See more details on using hashes here.

File details

Details for the file sip-6.7.6-cp37-abi3-win_amd64.whl.

File metadata

  • Download URL: sip-6.7.6-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 608.0 kB
  • Tags: CPython 3.7+, 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.7.6-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ce9c13301b6b0643346bdbc64153585e1ba3e8411f589c218797b1c47126a5f5
MD5 c238540716e631ef3610fe0724e1a0f8
BLAKE2b-256 5b43be29a24f072d8c910c51e08e51c8bbadc42040fe81124b8dee0cbdc679e6

See more details on using hashes here.

File details

Details for the file sip-6.7.6-cp37-abi3-win32.whl.

File metadata

  • Download URL: sip-6.7.6-cp37-abi3-win32.whl
  • Upload date:
  • Size: 593.6 kB
  • Tags: CPython 3.7+, 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.7.6-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 dc849db6bad0a4aa915e6b456fb86759cfc2eba89a9d4c84fb0acbdc52e31074
MD5 1d44c2ed063978192b658cef66f9572f
BLAKE2b-256 2b54374ec07c172bd2b001cc1546e097162010f3742fa9c6a44c0782e12d0e48

See more details on using hashes here.

File details

Details for the file sip-6.7.6-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

  • Download URL: sip-6.7.6-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • Upload date:
  • Size: 903.9 kB
  • Tags: CPython 3.7+, manylinux: glibc 2.5+ 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.7.6-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8ff73a54bd1851e681e4f5fee305944044077adf22f6c160708168a54d8c1ce2
MD5 72fdbb487c13c8d51511cc24b95c26aa
BLAKE2b-256 8650edb4149be28337e2592405355d2d4159bac7270d48737947f4bfd8117df0

See more details on using hashes here.

File details

Details for the file sip-6.7.6-cp37-abi3-macosx_10_9_universal2.whl.

File metadata

  • Download URL: sip-6.7.6-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 734.3 kB
  • Tags: CPython 3.7+, 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.7.6-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ac3ef9e31c75f3a1c1acc4abd753c7d92df5e54245865883cebf77fe91394e4a
MD5 4e2214989f825958f03277366f2064ce
BLAKE2b-256 ecd904e18806f7d4b01bf0bcd039661b3c7c19fedbb9efc248ac28c5e692f536

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