python-sip
Port variant v12
Summary Bindings generator for C/C++ libraries (3.12)
BROKEN
Package version 6.8.6
Homepage https://github.com/Python-SIP/sip
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v11
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 15 JUL 2024, 01:34:54 UTC
Port created 21 APR 2020, 22:22:44 UTC
Subpackage Descriptions
single # SIP - A Python Bindings Generator for C and C++ Libraries 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 `.sip` 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. 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.8, v3.9, v3.10, v3.11, v3.12). 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++. [MetaSIP] is a GUI development for SIP that can take the header files of a C/C++ library into a project from which API items can be managed, compared with new versions etc. and from which the `.sip` specification files can be generated from. ## Documentation The documentation can be found at [Read the Docs]. ## License SIP is licensed under the BSD 2 clause license. SIP includes a copy of [ply] which is licensed under the BSD 3 clause license. ## Installation To install SIP, run: pip install sip ## Creating Packages for Distribution Python sdists and wheels can be created with any standard Python build frontend. For example, using [build] an sdist and wheel will be created from a checkout in the current directory by running: python -m build --outdir . ## Building the Documentation The documentation is built using [Sphinx], [myst_parser] and the [sphinx-rtd-theme] theme. Change to the `docs` directory of a checkout and run: make html The HTML documentation can then be found in the `_build/html` subdirectory.
Configuration Switches (platform-specific settings discarded)
PY311 OFF Build using Python 3.11 PY312 ON Build using Python 3.12
Package Dependencies by Type
Build (only) python312:dev:std
python-pip:single:v12
autoselect-python:single:std
Build and Runtime python312:primary:std
Runtime (only) python-packaging:single:v12
python-setuptools:single:v12
Download groups
main mirror://PYPIWHL/26/7e/1fbee86c34d21f32fd8a6e3efbe4a796fb506541051280d5c94264343db7
Distribution File Information
3d715cb29396db8ff5258cfd2082dc24a75ed0821d9c3d53acccdc83a7f2617f 469683 sip-6.8.6-py3-none-any.whl
Ports that require python-sip:v12
No other ports depend on this one.