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

Uploaded Source

Built Distributions

sip-6.0.1-cp39-cp39-win_amd64.whl (610.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

sip-6.0.1-cp39-cp39-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9

sip-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl (605.3 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

sip-6.0.1-cp38-cp38-win_amd64.whl (610.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

sip-6.0.1-cp38-cp38-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8

sip-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl (605.3 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

sip-6.0.1-cp37-cp37m-win_amd64.whl (610.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

sip-6.0.1-cp37-cp37m-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m

sip-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl (605.1 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

sip-6.0.1-cp36-cp36m-win_amd64.whl (610.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

sip-6.0.1-cp36-cp36m-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m

sip-6.0.1-cp36-cp36m-macosx_10_6_intel.whl (789.8 kB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

File details

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

File metadata

  • Download URL: sip-6.0.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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1.tar.gz
Algorithm Hash digest
SHA256 c933e92b24aedc6d5827748bd8167209102b5de1526e86681a2202549027a784
MD5 3aee9be94a8a837e34e76608657374f5
BLAKE2b-256 12497cc823f72c0637a3b2afcfc18acb5c9880249018ee5bf1417a4ea69dfb76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 610.1 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 de7951c4a7c4f0c0f6c98e35019b3b059dcd9ff85881fe29e666d1340fef1a94
MD5 d902848406ea12e941ef0e862c930653
BLAKE2b-256 5891e94cfb5364c0832de54303732858b756a3519223634522dfe888f3944704

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f6a0fd17db67f6f377d0505c8db0b012bf0dedc820f9653244cad373ac4a356
MD5 3bd33ef7a3831b194f64306f66b9bd1c
BLAKE2b-256 6232565e2dd470d6a088971eef46362952d78e4e1ba31e4e39f8c87f6136bc0f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 605.3 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28e24b4c5742dd7ac4a6a3d1b0f8cc0a6ac372df0e9e6289e9f2c38f68b91c3b
MD5 d34895efc8ee840f4c6cc6824367ed02
BLAKE2b-256 ef9115760b3b0698a2acd226e65877c8327daa66739324ad0b4ee1fe4648a53b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 610.1 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1f5e72b3bbc5b7820cc51b89ac6aaf23a7bea019cc6729dd01aa37a7a7e35d5c
MD5 4d8b35ad733531f547089ad8224f0063
BLAKE2b-256 6b4cdf87257f791d63f11d34719d6c8e69a47c9b771426518b94b74308a11d89

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ecae847ad5c031a6b817a5d1e1382c43a4e661d05c351de229ad8e27339d7ec
MD5 87a71990339080c778148ac82ba6942b
BLAKE2b-256 5c85f0da743505c35535a9347f796bee43a7ebdff30670b77f392882bcf2a61e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 605.3 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bd12e11934cd764bb53465129e76341280af178c2f2d442a34d1b9010029c65c
MD5 fd1087bb3ad1b091cc383fd550394589
BLAKE2b-256 0083f130d22ee2726a4d4e298becfbb0ddb10ef421fca78066b8a0568e231eeb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 610.1 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 38396f0b032b251282e6aa029241fd8e26d09f2313ff3d79c4044338b0abd722
MD5 2a825bb18758010facca140a5844d513
BLAKE2b-256 20f641dbaa8cd4661898f6ad14e2430f5e2f75eb4b1db7ea732f45d6f73f6bef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f9693876a78ec4336b7511dfe28ed39a92ca7be85fd3f97fdc530c15524f19a
MD5 ff5aaa3823f86550980b09f1680a0ec3
BLAKE2b-256 50766d79c45bdf7cbf3d3845201bc4724bbad07a73e3ebd45491f2e6cf717d66

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 605.1 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a0a8b0917368059e928a977cf9c8c866aae1fd980520ca4d00a7a209dfb96416
MD5 8dd53c4185a34ddacf3fb7f43b2e49dc
BLAKE2b-256 03a9e097567660a7d2fe6ac1013e222bba53ebcbf8e7b6247fcdb929fb9e0b6a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 610.1 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 af455d827085274fc748602b5c8f396fdcb7bf27182a7d752ec3547e948471aa
MD5 3eb00375753e3bc466a0fc445aa8ea50
BLAKE2b-256 4d72706aced9276b2241c588fcd2005b90069cf0e919344f40d6bed86fbf03c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • 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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1064d523e38dd6c6fa4cfd1ceb2c8d97d69ed3a49f7e1f67a8968ac271a12f54
MD5 d892ea8ae4297ecacb57d54f5f47706f
BLAKE2b-256 acd7546924e577f28423557a9473334332318a5bbcf0ca99855c9cea14d9f198

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.1-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 789.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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for sip-6.0.1-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 91168fad6e4a95476f70021ba2cda36c1e18b8da3646230b3daf1d76bf19022b
MD5 529e4bbce2b6f44ca2cdee1a01940f17
BLAKE2b-256 e7c2182af088e46df6b8f0b62059c5cc17bb19fed85608891fbd14ce92b43650

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