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

Uploaded Source

Built Distributions

sip-6.0.0-cp39-cp39-win_amd64.whl (610.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9

sip-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl (605.2 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

sip-6.0.0-cp38-cp38-win_amd64.whl (610.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8

sip-6.0.0-cp38-cp38-macosx_10_9_x86_64.whl (605.2 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

sip-6.0.0-cp37-cp37m-win_amd64.whl (610.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m

sip-6.0.0-cp37-cp37m-macosx_10_9_x86_64.whl (604.9 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

sip-6.0.0-cp36-cp36m-win_amd64.whl (610.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m

sip-6.0.0-cp36-cp36m-macosx_10_6_intel.whl (789.6 kB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

File details

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

File metadata

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

File hashes

Hashes for sip-6.0.0.tar.gz
Algorithm Hash digest
SHA256 6185160e1aa8e167b5919c4761cbbf68cc7478d34fb655b3a28b3eb9acb5943a
MD5 6d8d3de1c71f7c0bcec6886e1945da6d
BLAKE2b-256 9a0b3467d3481b8a440cfd852a8ed4512a6cad71860811252e8d8aeb643d7590

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 610.0 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 26a5088723361d2ad7872146770a7c6f57983505f7c9a140730f259cf327ed35
MD5 deca315f993251e4881f2793595eaed8
BLAKE2b-256 0e4d19f1db0ad950f38d61c8a8e3eecef370b76460733de708f63421befa0d62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51558cc704641e9be917438c8a4cd8afb11e194ae085fce15ae7bf0cfbed42ae
MD5 f2d4f2b80a3f1519c841c795470cc963
BLAKE2b-256 2a9684c2ee34f04a0844915be434564b8e32190f341f50ca22032f3ad1b74dc6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 605.2 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 75fc2cf359ede36bdc17229eb8ab411099c5b3a2c89645897e3742ba57828683
MD5 08e451836985fc0b0f1c217804933379
BLAKE2b-256 dca6aefee742b4a5250a0b759a95039503a6f893c536271503c665f0d693dc10

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 610.0 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8b29ae9cd8553c083340950b8383b93069ecc59e32367e41824b38e8519266de
MD5 f682d27f297a0a12e8149dac5d69ff98
BLAKE2b-256 ceb75943332f79ae63aed45c9875269081189ed5cbb2653f1745c98380476416

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa2f13892d72527f4d4e5e7c7dbcf470536481dfc4b77513187f9200386342ab
MD5 bd739add8a0a7c395b649235eaabb165
BLAKE2b-256 b79fd3afadbd90d3681ffac1756472ef01d32664f8befca42a1a7da1850411fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 605.2 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f4eded221f3ef3e026b5bb6bf06e2946146815e970e79685bcf6034850934002
MD5 cac3d7e2c67ec2fafa6cfca1759e8680
BLAKE2b-256 fd505bf0058c2b9a267ec3046c626519e0efcccdeda2acf2b44d2437fc054306

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 610.0 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 de8be1af22cbaa669502407c966e54276d1d480e8f33ea5b1cc0840e4c1bedf5
MD5 525710bbc01225eb5f5f62c44eb9f31d
BLAKE2b-256 7335a78486fba21799c215d028f732735308fe2883575a27d80fec690af2abf2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03ec0f00484a955d5305888fa82be1ff9531f9033a03d56cffacda11691cadde
MD5 2928b54506a5ddd9a9c86812b7ee7748
BLAKE2b-256 067d0dc4062fa0aa4c25526f13e2eac6da4ad57e59ed6e59a8a64c6481a54ed3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 604.9 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d5b60ffdf6352d0747c699296a02fa1f1c771483850ecf40888f43cc0c66ec59
MD5 21979d09f5a975ddc57816ee812fcecd
BLAKE2b-256 f0d3a12633d68241854f3798db9f299a1682d1fd9746de5ce582f9c508cdc86f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 610.0 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 caa18527233df78496ccdd56d38722bc740a3e1bbba5ea7a18c36523707e8464
MD5 65b26eb84b151117ccfbb5318783d781
BLAKE2b-256 5b025545efb55d482756a0e7a4863e02c53c08beac1514cd73f566c515ecfbbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e27109f13ee6a1714ef3ceeb12a1cfadf1c6bc8853442d1540640080bfcbf1a
MD5 315e17b4ae3148d7e539f732a81f1a03
BLAKE2b-256 05a97c68c0743f7d48718dcb64b774e9d868b5654cc2820450381aff76765f88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.0.0-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 789.6 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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for sip-6.0.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 d4345d9df9db10d7dde7b32cdd8816d8821f9779f0ec49b76fb2128222104359
MD5 5cd2a8bfab53a9eca256904d7bb176df
BLAKE2b-256 4107c5ba27d67815b1afd23fd2691656ce2532f3fde301b43b8293e1c8177c4c

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