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

Uploaded Source

Built Distributions

sip-6.7.8-cp37-abi3-win_amd64.whl (609.1 kB view details)

Uploaded CPython 3.7+ Windows x86-64

sip-6.7.8-cp37-abi3-win32.whl (594.9 kB view details)

Uploaded CPython 3.7+ Windows x86

sip-6.7.8-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (903.8 kB view details)

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

sip-6.7.8-cp37-abi3-macosx_10_9_universal2.whl (735.3 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.8.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.8.tar.gz
Algorithm Hash digest
SHA256 7e7186a36818c9d325c82e59ac5b049d9022c2d5783942c38d49497ac8a94c8f
MD5 e9838b911b296f944ce5848b60f01f61
BLAKE2b-256 c70968bfefcdc48875e66aabafc946620483d0cd93aba52dde37d2059e5bf927

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.8-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 609.1 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.8-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2d9461c661eb217d7d2547b3f07ce50a47f8606c40e2bc053e6549a85887579f
MD5 2733613c6c72f89ed365e9e99d0ee874
BLAKE2b-256 867802fd29ecd56539cef0ae5eb3d94be577ecaa3568a9a0b4a4354fd8563ad7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.8-cp37-abi3-win32.whl
  • Upload date:
  • Size: 594.9 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.8-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 d2deb97be232e70f3ea1f193309079f7f7433000aff6f7bf64ad864268f997bf
MD5 881f3757a8a53c2f68fcb8e0480ef86e
BLAKE2b-256 a7ae48b213aeeee1035855f61e6f70408e072a00b3b301089a5a9840801e529a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.8-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • Upload date:
  • Size: 903.8 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.8-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0270f13a21d4d006d11772eedc77f619e52758911ed9f523b3d21237e41b4d03
MD5 7a423d3e1365b4ff9b9cd7a230b78df0
BLAKE2b-256 1c6b6f9447b53d7028068c0eba113e9694f1f22ef44eb26d8a0a913b1f9bb383

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.8-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 735.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.8-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c075db1f9016b8ee282036106dbc170b29885a14ffe15836836a17f8d4a97645
MD5 ff18d6a68034994a7137e57e6a83fbc0
BLAKE2b-256 c7c3f960d06191d5101709f1b5cadbf4a13c7408e150b82dbac75fae55fd3a9a

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