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

Uploaded Source

Built Distributions

sip-6.7.11-cp37-abi3-win_amd64.whl (609.7 kB view details)

Uploaded CPython 3.7+ Windows x86-64

sip-6.7.11-cp37-abi3-win32.whl (595.5 kB view details)

Uploaded CPython 3.7+ Windows x86

sip-6.7.11-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (885.8 kB view details)

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

sip-6.7.11-cp37-abi3-macosx_10_9_universal2.whl (734.8 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.11.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.11.tar.gz
Algorithm Hash digest
SHA256 f0dc3287a0b172e5664931c87847750d47e4fdcda4fe362b514af8edd655b469
MD5 7ac376aee3ea5ebee3c9a52a3d407072
BLAKE2b-256 ce8cf66d1c45946e73a46f258b9628fe974ba8cc46c41b4750a59be192981695

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.11-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 609.7 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.11-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1f2cbdbff2350e876f2a23c88b360f2979cad6c855a4d1aaff3ccb91afc11ec2
MD5 05fb26379d15378b7cda31c8bead54ec
BLAKE2b-256 14c805baa1cda10eb8a87223598a083dd269147969d287f22eaa76fe22e75111

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.11-cp37-abi3-win32.whl
  • Upload date:
  • Size: 595.5 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.11-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 12fc8c680f527bb1b5240b6ac9019efe69b0be7643e2a3c400a61b991bfed0c9
MD5 576deba12105bc38ffe920a8fb1474b3
BLAKE2b-256 5a4437120a1280b6235244304015acc329364b274146b295fdf0288963722cde

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.11-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • Upload date:
  • Size: 885.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.11-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2fac5ac506cd90e5c46a709368599b574a507e28c5491947db20819c5ce37ace
MD5 3547b712c78f7c88bcddbe7ed06fdfdb
BLAKE2b-256 cb02a0b56805ea629002003b0da340eed85582e2149e501732db0fe9f27c6cb2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.11-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 734.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.11-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 878ef9d5c9da4bb2a65bb10a919319d2253c05f3b40ee2cd1ae730e2069ec8f3
MD5 e04caf647c677b3489a4f3a6e5ad1999
BLAKE2b-256 3a53bc0418b5362678332a6654eb130d1874a88cda319b1040b50f06a95f3c13

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