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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sip-6.7.9-cp37-abi3-win_amd64.whl (609.1 kB view details)

Uploaded CPython 3.7+Windows x86-64

sip-6.7.9-cp37-abi3-win32.whl (594.9 kB view details)

Uploaded CPython 3.7+Windows x86

sip-6.7.9-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (904.2 kB view details)

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

sip-6.7.9-cp37-abi3-macosx_10_9_universal2.whl (735.3 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.7.9.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.9.tar.gz
Algorithm Hash digest
SHA256 35d51fc10f599d3696abb50f29d068ad04763df7b77808c76b74597660f99b17
MD5 1f3ae601456105a78d0fdbd386585052
BLAKE2b-256 487598987181e897ef378d6c239ee733328a7264a41f2d8263e61d7b7c4c0909

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.9-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 609.1 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.9-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 18d1a4654fe9a914b5ef1f2a1b87f61602e2225c5cd0d2adb4151a6d9ff0b50b
MD5 f5d8baafaba6c53e36d76e8e1a1c7355
BLAKE2b-256 9275d1e76ca42d675b2c6f94d36e618e6a1394405335f50ff8ff9bd66ba43996

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.9-cp37-abi3-win32.whl
  • Upload date:
  • Size: 594.9 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.9-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 6e495e28e8b054895538fa5969f8bd28a4b80d4a76bd7498fb3a39caf96d0ebe
MD5 f473e7a3bd8babb6e3f516d5de7989cf
BLAKE2b-256 9dac372a76dacf61912c7f833229a27ad19040617d35363bfe6000e033c9a960

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.9-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • Upload date:
  • Size: 904.2 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.9-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a0adaaed74475fde5882d8db9e3a88a93697a77de3cd37c28b0eb0bb4b3eb8e8
MD5 ef34747e38f69da2c8feab36b8e16643
BLAKE2b-256 e651c1eb77f706bc0d173f7dbfe697ff8ab8b4c511d3a71a1e84c6094c6becee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sip-6.7.9-cp37-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 735.3 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.9-cp37-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5e86fff08c74e8b96bd53a042b96ccdf0a24bda8d6a4c6ef840f089573f76589
MD5 cb5e2a60280173ef40bf8a8fcb7fb727
BLAKE2b-256 8e8b8f3a137d0b869dcf873588d78f58ed930351d7724f6f89d03e4b562fef9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page