Skip to main content

Python extension module generator for C and 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 tool that makes it very easy to create Python bindings for C and C++ libraries. It was originally developed to create PyQt, the Python bindings for the Qt toolkit, but can be used to create bindings for any C or C++ library.

SIP comprises a code generator and a Python module. The code generator processes a set of specification files and generates C or C++ code which is then compiled to create the bindings extension module. The sip Python module provides support functions to the automatically generated code.

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 the corresponding header file.

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 source packages, and Linux 64-bit wheels, can be dowloaded from https://www.riverbankcomputing.com/software/sip/download/.

Wheels for 32 and 64-bit Windows, 64-bit OS X and 64-bit Linux can be installed from PyPI:

pip3 install sip

All wheels include the sip extension module but do not include the code generator.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

sip-4.18.1-cp35-none-win_amd64.whl (46.8 kB view details)

Uploaded CPython 3.5 Windows x86-64

sip-4.18.1-cp35-none-win32.whl (39.1 kB view details)

Uploaded CPython 3.5 Windows x86

sip-4.18.1-cp35-cp35m-manylinux1_x86_64.whl (61.0 kB view details)

Uploaded CPython 3.5m

sip-4.18.1-cp35-cp35m-macosx_10_6_intel.whl (46.3 kB view details)

Uploaded CPython 3.5m macOS 10.6+ intel

File details

Details for the file sip-4.18.1-cp35-none-win_amd64.whl.

File metadata

File hashes

Hashes for sip-4.18.1-cp35-none-win_amd64.whl
Algorithm Hash digest
SHA256 529d77130e0e445679c9f596b082ea3f29d343ffc4759043b3da3443c98a4e01
MD5 eac5005e7a55a07805f436e7a1b6780e
BLAKE2b-256 737c7f40c734bba4523190b87bc3ac95113264bd53efc69322712002192c9823

See more details on using hashes here.

File details

Details for the file sip-4.18.1-cp35-none-win32.whl.

File metadata

File hashes

Hashes for sip-4.18.1-cp35-none-win32.whl
Algorithm Hash digest
SHA256 b5b3958b69ad5bcfa983ed589bf21178f4f955995e22abb2db3e1c3ee1b72397
MD5 696162ddaff39189809df1598fac9ee7
BLAKE2b-256 90e1103eba6a762a8e48357488352221d1ec24a5c44de372d204313e1e5215f8

See more details on using hashes here.

File details

Details for the file sip-4.18.1-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for sip-4.18.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 31c00020731574b135deedd41460c47f1ac11636da7b0816d1c1b44f18501c8f
MD5 945654e4c3af6a7f6bcfa1b8fc2a45d8
BLAKE2b-256 4048295e0dcdb3b0180d74f8c3dd77c67e727f5aa7e4cc68005fee8c4fae92cb

See more details on using hashes here.

File details

Details for the file sip-4.18.1-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for sip-4.18.1-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 dd4bbdebcb6921f095db7a5b82b90f5076a11071c4f59b474e64af8527c4b64c
MD5 ebf9fb471c220daf21faa1300942f23b
BLAKE2b-256 aa61d3e33258a7f65c17074de62a8a34bbb999e7ffb0688e562e6e68df7fde4f

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