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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7+ Windows x86-64

sip-6.7.4-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (901.8 kB view details)

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

sip-6.7.4-cp37-abi3-macosx_10_9_universal2.whl (732.8 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.4.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.4.tar.gz
Algorithm Hash digest
SHA256 9dbf8a0e7c8d76d1642e2fdd3f53e6a522f7c30980e527763c45760c2505cfbf
MD5 f9e94863f1435cd9942aa1dfea7ca5c4
BLAKE2b-256 08f606ad8d62331b302b68fbd730eedec8346213db71857128cb3b8309fee2ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.4-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.4-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 05533090073db1256fa7728b9d5943660a1767a21fb1395d7c1f8d83f900a0d3
MD5 553e770b052a9aa794c5d61b2c18965c
BLAKE2b-256 ceb1580a13830680ba65d5c09172422801b873ea5a62334bfbcc712576f92e54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.4-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • Upload date:
  • Size: 901.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.4-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ddffb505c5ebfbce96709777ad9b65b110d6ce3fd1d699800149502fda217769
MD5 e3ad5a412f973f0486a23b0237671338
BLAKE2b-256 d9cb3be0d015634b088df6a68cdde0c6d841a1791c03387d09a2d87e1a4bde8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.4-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 732.8 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.4-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4f9127b9b64e4eb498f6cd104da67a14c06ad136a9a5bcbb1b0616d9b03293ef
MD5 6d22979ec88513f76c8a47f7fbd69865
BLAKE2b-256 9ae6a0b9c70d4f516ae9e5aaa998891a32d89a98aa644fc5ae4c9c68a94b0ad8

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