• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

code_generator/H23-Nov-2020-52,14937,708

doc/H23-Nov-2020-10,8337,582

examples/H23-Nov-2020-203143

sip.egg-info/H03-May-2022-8663

sipbuild/H03-May-2022-44,13328,164

ChangeLogH A D23-Nov-2020388.5 KiB13,41710,020

LICENSEH A D23-Nov-20202.7 KiB5040

LICENSE-GPL2H A D23-Nov-202017.7 KiB345283

LICENSE-GPL3H A D23-Nov-202034.5 KiB679555

MANIFEST.inH A D23-Nov-2020109 54

NEWSH A D23-Nov-20202.7 KiB6253

PKG-INFOH A D23-Nov-20203.6 KiB8663

READMEH A D23-Nov-20202.7 KiB7351

pyproject.tomlH A D23-Nov-202057 32

setup.cfgH A D23-Nov-2020311 1310

setup.pyH A D23-Nov-20202.7 KiB7138

README

1SIP - A Python Bindings Generator for C and C++ Libraries
2=========================================================
3
4What is SIP?
5------------
6
7One of the features of Python that makes it so powerful is the ability to take
8existing libraries, written in C or C++, and make them available as Python
9extension modules.  Such extension modules are often called bindings for the
10library.
11
12SIP is a collection of tools that makes it very easy to create Python bindings
13for C and C++ libraries.  It was originally developed in 1998 to create PyQt,
14the Python bindings for the Qt toolkit, but can be used to create bindings for
15any C or C++ library.  For example it is also used to generate wxPython, the
16Python bindings for wxWidgets.
17
18SIP comprises a set of build tools and a sip module. The build tools process a
19set of specification files and generates C or C++ code which is then compiled
20to create the bindings extension module.  Several extension modules may be
21installed in the same Python package.  Extension modules can be built so that
22they are are independent of the version of Python being used.  In other words a
23wheel created from them can be installed with any version of Python starting
24with v3.5.
25
26The specification files contain a description of the interface of the C or C++
27library, i.e. the classes, methods, functions and variables.  The format of a
28specification file is almost identical to a C or C++ header file, so much so
29that the easiest way of creating a specification file is to edit a copy of the
30corresponding header file.
31
32The sip module provides support functions to the automatically generated
33code.  The sip module is installed as part of the same Python package as the
34generated extension modules.  Unlike the extension modules the sip module is
35specific to a particular version of Python (e.g. v3.5, v3.6, v3.7, v3.8).
36
37SIP makes it easy to exploit existing C or C++ libraries in a productive
38interpretive programming environment.  SIP also makes it easy to take a Python
39application (maybe a prototype) and selectively implement parts of the
40application (maybe for performance reasons) in C or C++.
41
42
43Author
44------
45
46SIP is copyright (c) Riverbank Computing Limited.  Its homepage is
47https://www.riverbankcomputing.com/software/sip/.
48
49Support may be obtained from the PyQt mailing list at
50https://www.riverbankcomputing.com/mailman/listinfo/pyqt/.
51
52
53License
54-------
55
56SIP is released under the GPL v2, GPL v3 licenses, and under a license similar
57to the BSD license.
58
59
60Installation
61------------
62
63SIP can be installed from PyPI::
64
65    pip install sip
66
67
68Documentation
69-------------
70
71The documentation for the latest release can be found
72`here <https://www.riverbankcomputing.com/static/Docs/sip/>`__.
73