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

Uploaded Source

Built Distributions

sip-6.5.1-cp36-abi3-win_amd64.whl (521.1 kB view details)

Uploaded CPython 3.6+ Windows x86-64

sip-6.5.1-cp36-abi3-win32.whl (498.3 kB view details)

Uploaded CPython 3.6+ Windows x86

sip-6.5.1-cp36-abi3-manylinux2014_x86_64.whl (982.6 kB view details)

Uploaded CPython 3.6+

sip-6.5.1-cp36-abi3-macosx_10_9_universal2.whl (701.0 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.5.1.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.5.1.tar.gz
Algorithm Hash digest
SHA256 204f0240db8999a749d638a987b351861843e69239b811ec3d1881412c3706a6
MD5 aa0166e60afcd92f02d7fd928d01fa20
BLAKE2b-256 dec19ac5596c10f6ce28abc1849ed1b6299b3953af0b6ff21e227024991a517e

See more details on using hashes here.

File details

Details for the file sip-6.5.1-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: sip-6.5.1-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 521.1 kB
  • Tags: CPython 3.6+, 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.5.1-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 57e5ac40744c0f10a6c53dd45d2ef2c90e52f34a0210d8309e6563a07f914d0d
MD5 4c81ac34d00a07e931bcbb5078833da7
BLAKE2b-256 36863a1cab7d04d5e5045576edfd4ec5914ed0cedd8f72c68ef173cbd10cf087

See more details on using hashes here.

File details

Details for the file sip-6.5.1-cp36-abi3-win32.whl.

File metadata

  • Download URL: sip-6.5.1-cp36-abi3-win32.whl
  • Upload date:
  • Size: 498.3 kB
  • Tags: CPython 3.6+, 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.5.1-cp36-abi3-win32.whl
Algorithm Hash digest
SHA256 de1cb4004d75a3a236f82a69cd7a3e51ff76b414df412fea22bf433b28876e3f
MD5 d83199112eda68679ba4930c1aadf31d
BLAKE2b-256 7b031bc6a066923878bad55a23dabf2b97cd7ddff20878be0b9461843befe842

See more details on using hashes here.

File details

Details for the file sip-6.5.1-cp36-abi3-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.5.1-cp36-abi3-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 982.6 kB
  • Tags: CPython 3.6+
  • 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.5.1-cp36-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13b09357615c2d8bcb23bf21c1637941ac8ff5f28b346c1ccad7efafa57673e9
MD5 eec8dbb918fa8e6f3e341846ceb7bc82
BLAKE2b-256 27043348131511d6bf95b3d121a1d5543132cd663a4452c7ad7869428c4fbfa6

See more details on using hashes here.

File details

Details for the file sip-6.5.1-cp36-abi3-macosx_10_9_universal2.whl.

File metadata

  • Download URL: sip-6.5.1-cp36-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 701.0 kB
  • Tags: CPython 3.6+, 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.5.1-cp36-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 01a637b44c5918505801c3d56e1e010b8e86a4edee71c0bd8541c54387b57ae2
MD5 e1aa86c26582f4b0efeb1ecbb7a32048
BLAKE2b-256 44a5d6d7378e2a01af5c412f9ab3773761f94d2222558bb9542539b5a197082d

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