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

Uploaded Source

Built Distributions

sip-6.6.1-cp37-abi3-win_amd64.whl (567.4 kB view details)

Uploaded CPython 3.7+ Windows x86-64

sip-6.6.1-cp37-abi3-win32.whl (548.6 kB view details)

Uploaded CPython 3.7+ Windows x86

sip-6.6.1-cp37-abi3-manylinux2014_x86_64.whl (970.6 kB view details)

Uploaded CPython 3.7+

sip-6.6.1-cp37-abi3-macosx_10_9_universal2.whl (700.4 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.6.1.tar.gz
  • Upload date:
  • Size: 1.1 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.6.1.tar.gz
Algorithm Hash digest
SHA256 696c575c72144122701171f2cc767fe6cc87050ea755a04909152a8508ae10c3
MD5 52f4db66138e8cba4a4a9653bd749b04
BLAKE2b-256 c60834642c4db19e9d41f43640547c5a997cb9b12b512f8c61d0d476e8b9e883

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.6.1-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 567.4 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.6.1-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5b36ffdb0807444549de43d84df8902834ef6ebd671680a45187fb2f39ab85bc
MD5 947863c840fb03666ebfd051cb89259a
BLAKE2b-256 00f08fde593df3069210d2c317ca64316ae36bf3a4c185392bd2df00ed9237a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.6.1-cp37-abi3-win32.whl
  • Upload date:
  • Size: 548.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.6.1-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 be60ed5d1bb1cbb11d355772a3b9418c48097fe74ecbaf5baf6e86ed5d15cbdf
MD5 fde06846f5e0efde8e6399c54c9b6971
BLAKE2b-256 f58506e86d75cd59390309bd76ef8e898a1769b6556500fcb1e21f1c99c0e809

See more details on using hashes here.

File details

Details for the file sip-6.6.1-cp37-abi3-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.6.1-cp37-abi3-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 970.6 kB
  • Tags: CPython 3.7+
  • 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.6.1-cp37-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 940a704c0128d42790e88ede2d1e81e33252e40e0cf00ce7d18dd86836b2c7a4
MD5 9d910fef1a803d1cba5f11a51a1239ee
BLAKE2b-256 1c15dc5ed81babdfe86053d61566fe7e9fc391427bab10b3a00acb5a4578fec7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.6.1-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 700.4 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.6.1-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c41f96a5e6db09505776d6a52a9dc2e676b4cb4dd47e56585160e163b21d6d25
MD5 e7b1604c70b9c341fc6ba93ae09c5164
BLAKE2b-256 b2d4cf9caee9b1f2bbd14979956e21287dbfafa73ede25bcce99f5d7b8604d32

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