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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7+ Windows x86-64

sip-6.7.5-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.5-cp37-abi3-macosx_10_9_universal2.whl (734.9 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.5.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.5.tar.gz
Algorithm Hash digest
SHA256 9655d089e1d0c5fbf66bde11558a874980729132b5bd0c2ae355ac1a7b893ab4
MD5 8b919ffcfc6d9b41e444b464c8011528
BLAKE2b-256 fd9b8e727256983e5b1d975f8dfce6f477b5ab6bada14a00b07fa3db51fcd6fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.5-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.5-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ee83b3b98e7e672d114370b9e4ce78685b9f349ed5f96e0f032a1dd8d9f0be74
MD5 87cca8ccea257639467148eece374b61
BLAKE2b-256 4cd34a441a6d05b58db2d7a8413a9e59d283ffa2dfa359a2644ff2bf823965f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.5-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.5-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b4c03e9f4065dc3a48d8d68feb18ccffeed9e31c23f9cc78a2be3baac58ff87a
MD5 ec92e546648d95e0117352021c2c5a75
BLAKE2b-256 e1c773bb94be34d9f18cff28c106e0d5d2dd7b98f110ff020621e83257bee062

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.5-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 734.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.5-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 986aeaeb0bcb2d984c0de3208194fea37704412bacafd9c867a99d9932ae6e36
MD5 1e7200b23b0d1e4132b98c617244cbfd
BLAKE2b-256 fe43ee261079f3e31f63f4f226fb28984f53ad26633235d1f1e2b6000334a905

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