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

Uploaded Source

Built Distributions

sip-6.6.0-cp36-abi3-win_amd64.whl (567.5 kB view details)

Uploaded CPython 3.6+ Windows x86-64

sip-6.6.0-cp36-abi3-win32.whl (548.6 kB view details)

Uploaded CPython 3.6+ Windows x86

sip-6.6.0-cp36-abi3-manylinux2014_x86_64.whl (970.6 kB view details)

Uploaded CPython 3.6+

sip-6.6.0-cp36-abi3-macosx_10_9_universal2.whl (700.5 kB view details)

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

File details

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

File metadata

  • Download URL: sip-6.6.0.tar.gz
  • Upload date:
  • Size: 1.1 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.6.0.tar.gz
Algorithm Hash digest
SHA256 00ee0197e46ca232e58c5600ec99a6b3d613673dda1666797fb936b71e4ae70b
MD5 7f2d29f02fda8839f9ab38ba11803c8f
BLAKE2b-256 86549d95750323c60c7739c48fe080324c23907fdd3aa76f86780f11b0d0f8bb

See more details on using hashes here.

File details

Details for the file sip-6.6.0-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: sip-6.6.0-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 567.5 kB
  • Tags: CPython 3.6+, 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.6.0-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7ea907414992513962849f19a1f6a959a1d51247d1676b9a4cc7593205827cc8
MD5 1e52a803783a5d66442c4658ded34d27
BLAKE2b-256 96c96f87f2565c8de40af1ebb0e7dabf9cdc1478f43a437537122811e2909e74

See more details on using hashes here.

File details

Details for the file sip-6.6.0-cp36-abi3-win32.whl.

File metadata

  • Download URL: sip-6.6.0-cp36-abi3-win32.whl
  • Upload date:
  • Size: 548.6 kB
  • Tags: CPython 3.6+, 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.6.0-cp36-abi3-win32.whl
Algorithm Hash digest
SHA256 7dcf25e3221e97a856c73ea5ee8db096b7f0b13e3d7606764cc75f34b7da85c1
MD5 ac5a0b2fb1128509ee7f9a72c46e0f82
BLAKE2b-256 5e6dff2e4e97a9bb86c83510f281502ceca6e15780e900cb6805bc5e24450505

See more details on using hashes here.

File details

Details for the file sip-6.6.0-cp36-abi3-manylinux2014_x86_64.whl.

File metadata

  • Download URL: sip-6.6.0-cp36-abi3-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 970.6 kB
  • Tags: CPython 3.6+
  • 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.6.0-cp36-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d177b3330aeaddb91796c3aca78572bdcc6819fc3583f97b1f4c6e1502d0886d
MD5 51c5e3df429090b1739dff3e162fc7d2
BLAKE2b-256 8c48dc922e64559a3cb321f1dc1b498b1d153e78eb6ea9b22f3ad28b7f7accd1

See more details on using hashes here.

File details

Details for the file sip-6.6.0-cp36-abi3-macosx_10_9_universal2.whl.

File metadata

  • Download URL: sip-6.6.0-cp36-abi3-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 700.5 kB
  • Tags: CPython 3.6+, 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.6.0-cp36-abi3-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3e28ec4661751adb07d1433ea32149b945d5016fceec2f7736e6d6ea09ec6d8d
MD5 bf1a20c27a48e9ece07662b5f37419dd
BLAKE2b-256 5339a2cb3d1fb0af962cdd5eeb3a098821a6ab9b1c305006f8e26bf40ec3b06f

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page