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

Uploaded Source

Built Distributions

sip-6.2.0-cp39-cp39-win_amd64.whl (537.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

sip-6.2.0-cp39-cp39-manylinux2014_x86_64.whl (998.7 kB view details)

Uploaded CPython 3.9

sip-6.2.0-cp39-cp39-macosx_10_9_x86_64.whl (531.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

sip-6.2.0-cp38-cp38-win_amd64.whl (537.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

sip-6.2.0-cp38-cp38-manylinux2014_x86_64.whl (999.0 kB view details)

Uploaded CPython 3.8

sip-6.2.0-cp38-cp38-macosx_10_9_x86_64.whl (531.7 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

sip-6.2.0-cp37-cp37m-win_amd64.whl (537.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

sip-6.2.0-cp37-cp37m-manylinux2014_x86_64.whl (999.2 kB view details)

Uploaded CPython 3.7m

sip-6.2.0-cp37-cp37m-macosx_10_9_x86_64.whl (531.5 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

sip-6.2.0-cp36-cp36m-win_amd64.whl (537.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

sip-6.2.0-cp36-cp36m-manylinux2014_x86_64.whl (998.2 kB view details)

Uploaded CPython 3.6m

sip-6.2.0-cp36-cp36m-macosx_10_6_intel.whl (713.8 kB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

File details

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

File metadata

  • Download URL: sip-6.2.0.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.2.0.tar.gz
Algorithm Hash digest
SHA256 34d2270b4ed8d7f8e55cc4ba821d718ee40d9bb2449c6b5cf8a10139d5c121ac
MD5 34a05ae141da6d4f96d719554ac5d315
BLAKE2b-256 983af1b69503d6129ba3b06cf066740f5188aa20bd32cfd2e788ca58c073b2ba

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: sip-6.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 537.7 kB
  • Tags: CPython 3.9, 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.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 82cca67e84a660e4cd61a06a759b7685d8c341a5300077b6ccc7fc724c3ac134
MD5 57b13864b3273ad6692740bae2dbfb6c
BLAKE2b-256 2f104183a06f1ac5ffdd10fbcb181afb143ef50409a3394fc273a18d325625b8

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.2.0-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 998.7 kB
  • Tags: CPython 3.9
  • 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.2.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 faa5a5432f5cb9b1798eae1ff33f543ea5517a3e62ea12eed7995a5b3855ef8f
MD5 2d6dd4e2f8edbca8fbd3de54e7828ec5
BLAKE2b-256 0d4f0b4d37ae732401c6815088abb95b2695320fe9b58590a9248623bbec7775

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: sip-6.2.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 531.7 kB
  • Tags: CPython 3.9, macOS 10.9+ 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.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 796cdc7d78ab03012130371fa4e9673c820a75e05ba4fa7e5ff3d2d2d013140a
MD5 51e00f2c65849b822bb972ba6950563c
BLAKE2b-256 c7371b8e7f871198da4477572e3e8f81671c55ba71b2047026a2ca0095a5a289

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: sip-6.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 537.7 kB
  • Tags: CPython 3.8, 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.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 aa6b57e53518db227d52a5a2813b1abad594c677d96051a217b1ffb6f8dc3e73
MD5 20288b72f0c2bdc6f041d46b98682a1b
BLAKE2b-256 4754ed6198c9f0db006c6a115a4b80d6f23e4eb604d6095c7162749074724951

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.2.0-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 999.0 kB
  • Tags: CPython 3.8
  • 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.2.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff998946cc9f0726013fae57c222c9ec90bce1fc3b605e8a9c073532b5db930b
MD5 5189da15adc7f51cd213c6e37e027480
BLAKE2b-256 43b0d67484603795f7d5ba84f22f0148e560489dd08017b9bef50face2a5048a

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: sip-6.2.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 531.7 kB
  • Tags: CPython 3.8, macOS 10.9+ 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.2.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4fc22f969cd8df55a6b3ba762df28b9ad6a2644a76aae051b5ede3c02fb8f9b1
MD5 1f43ad489903a2c3756c8759d096b421
BLAKE2b-256 9c5e3e9cd158378ce8c99ad8906493ec2b66b320291fd9f7aa0be17a019191d2

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: sip-6.2.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 537.7 kB
  • Tags: CPython 3.7m, 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.2.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3c1cdfca88d99e3b8ae731809c0dced4f0ccb2be4fe008665c787ee2ef4e5698
MD5 b8f518ee40c2ebcd30ab053952dee0db
BLAKE2b-256 3e7b7e0f0fc269815cad5b76bfc75838be5ace238d0dd1b4e81b1279e958e433

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.2.0-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 999.2 kB
  • Tags: CPython 3.7m
  • 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.2.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c467bd0be6843ea92c667c480f184796b1fcf5e155ab04c37a5925c11487441a
MD5 673379011d591cfc2b413203a299f3ff
BLAKE2b-256 395d7af27b231b6c2d229f12b10c47bb102f2c2a2894de41a6b9f0fb020a22d1

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: sip-6.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 531.5 kB
  • Tags: CPython 3.7m, macOS 10.9+ 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.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9eb5534a1aa13a26c5b378af7685cbd701c68ebfd43fecc99e6e7c2b2154900d
MD5 7b9a30e14cbc7422a76a5854ffe8aced
BLAKE2b-256 b4c7973c6a6ff918831c76a6d96a2959cd433e76e2e1018ed14ce551a96c906e

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: sip-6.2.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 537.7 kB
  • Tags: CPython 3.6m, 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.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f733c1754fe14954fde58d39d98d9e3d70fbf742d4abae6073cfe2b3432284e7
MD5 d5d43e5599df8197f0620cf6e1653a78
BLAKE2b-256 b7f2e1106c00bc0262dca5d091b84f893b20ac8d9e8681eb25613930b988eb0b

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.2.0-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 998.2 kB
  • Tags: CPython 3.6m
  • 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.2.0-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75f6d11652e41b2c714bdaee09a123e8e2606cb8e3d6181dad7b83a58277cc41
MD5 fc24563772db19c420c8e97839122c5d
BLAKE2b-256 e2f4f88c99ddc28e6e0530f9758e99bbf01120b61c4d9b2b34dc43a8a7e2938a

See more details on using hashes here.

File details

Details for the file sip-6.2.0-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: sip-6.2.0-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 713.8 kB
  • Tags: CPython 3.6m, macOS 10.6+ intel
  • 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.2.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 493d1779a61887341a82989733749b2b1d34c1c751dde081bd913c28cd6deccc
MD5 0528d541dfab1eb5dca31881bd9bd0de
BLAKE2b-256 2051fc80a8db6bcccbc6538411c3c0c8a43f74423f070e2072802bd6bb969f6c

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