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

Uploaded Source

Built Distributions

sip-6.7.10-cp37-abi3-win_amd64.whl (609.7 kB view details)

Uploaded CPython 3.7+ Windows x86-64

sip-6.7.10-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (886.2 kB view details)

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

sip-6.7.10-cp37-abi3-macosx_10_9_universal2.whl (735.5 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.10.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.10.tar.gz
Algorithm Hash digest
SHA256 398aeb84ee03f3a953947cac70e60d3b02dceba3c4f4dd46c5383e9dbe3936bb
MD5 08065fec7294abc7d38423c13ea582ac
BLAKE2b-256 503aae9b9e36c7f1db92675b25f722ff7a8c3f6efd50817d5c946a7637dacd88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.10-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 609.7 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.10-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bf663e25a55b16147dc9c7d9d0c926c8f81e91fe62a3c72c74ff9099328a26af
MD5 26bb99f1b62410a3b7fb3e6a0210544b
BLAKE2b-256 31919628a306c1563ec7fa7586ec70cbe21f06ffa06c06a434ef4f81695c1dc7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.10-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • Upload date:
  • Size: 886.2 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.10-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0eabc3ae7f85edbce619f286f9a1a7f6d40f38356b4a0c9a01f42048586d4158
MD5 751b5778eff5ab20773f4151a064be02
BLAKE2b-256 0230343acdedc3a26fb2eab0dcfe88ed9b523617692d9989643fde5c2e551496

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.10-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 735.5 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.10-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 70c1517d3b7ac31e205a27dc2899d1fe0e32545bf59deee9c64adee01a488494
MD5 c7d9c29fcea23e7af13375acead82232
BLAKE2b-256 c53edacc04b68ae60f14d5d4d21f05eb886d7445f6d82e5d337f327aa266a03f

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