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

Uploaded Source

Built Distributions

sip-6.7.12-cp37-abi3-win_amd64.whl (611.0 kB view details)

Uploaded CPython 3.7+ Windows x86-64

sip-6.7.12-cp37-abi3-win32.whl (596.8 kB view details)

Uploaded CPython 3.7+ Windows x86

sip-6.7.12-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (882.5 kB view details)

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

sip-6.7.12-cp37-abi3-macosx_10_9_universal2.whl (715.9 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.12.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.12.tar.gz
Algorithm Hash digest
SHA256 08e66f742592eb818ac8fda4173e2ed64c9f2d40b70bee11db1c499127d98450
MD5 992ab248fa118accb01493c040557d8d
BLAKE2b-256 a64ec34eee70109e9a8110672f074fc18b5022bf4b9b4c92641245c73ae0b21a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.12-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 611.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.12-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 37c08e42ff3b36a07f9fc19661771df3e9cb5a56a70a575ad46e28edc0360221
MD5 ec9910a4da8616c79624c779d3929a69
BLAKE2b-256 badd9f97e0d2aaaf7bca8b7a275dddeea5c3b187a2d7144810e21ae3196ecd7e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.12-cp37-abi3-win32.whl
  • Upload date:
  • Size: 596.8 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.12-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 b79dc28f99f8565c3f1cbb4d8cf3c3b4ffdca65cf563e87144916224e7b72991
MD5 e3a050d8d9f4fdb634ad0d672dd4d310
BLAKE2b-256 20c0ad11365d5b6948d79ec95ae1ba6fb11a667538164ceb72df80ed4cbb0054

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.12-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • Upload date:
  • Size: 882.5 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.12-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3b3b731b7bf5a8eac2dad12bed5e61c892477ced7df27e78ee0ead6dd38c5aa0
MD5 ebb344f1a36d51cce51fafaf6c68eb43
BLAKE2b-256 22deb4aa6174bef9a916ab67317dae78288fda9a5fd0c07186444b2e8ee0daa9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.12-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 715.9 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.12-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ea1f0c4711199a6ae733c2d3776f3a920cc4ff5c4f0016dc29a70731d07d062b
MD5 eea09f4809b4e6659b73f01491a2b004
BLAKE2b-256 972052d120e0a1a712de991912d64e176d96d647913960935dedcae38689f299

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