Registry / devops / sip
library6.15.3pypypi✓ verified 83d ago

SIP is a tool for creating Python bindings for C and C++ libraries. It is primarily used to generate Python modules that allow Python code to call C/C++ functions and classes directly. Maintained by Riverbank Computing, it is the foundation for PyQt. The current version is 6.15.3, with releases typically tied to PyQt development.

pip install sip
INSTALL
IMPORT
SIG · SIP
S
sip
devopspythonv6.15.3
Install
2.3s avg
Import
Disk
35MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v6.15.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 32.9MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 2.3s · import 0.000s · 33MB
35MB installed
● package 35MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

sipbuild
import sipbuild
import sip

While SIP is mainly a build tool for C/C++ extensions, the installed `sip` module provides introspective information about the SIP environment. The primary use case involves defining `.sip` files and leveraging the `sip-build` command-line tool to generate Python bindings for a C/C++ library, typically as part of a larger build process.

import sip # SIP is primarily a C/C++ bindings generator, not typically used directly in applications. # This example shows basic introspection of the installed sip module. print(f"SIP Version: {sip.SIP_VERSION_STR}") print(f"SIP API ID: {sip.SIP_API_ID_STR}") # To truly 'quickstart' SIP for generating bindings, you would: # 1. Write a .sip file defining the C/C++ API. # 2. Use the 'sip-build' command-line tool or integrate it into your build system. # Example (conceptual command-line use): # # In a terminal, after setting up project.sip and C/C++ sources: # # sip-build --build-dir=build --sip-module=my_module project.sip
sip --version
Debug
Known issues
breakingSIP v6 introduced significant breaking changes from v5, including the removal of `sip.setapi()` and the standalone `sipconfig` module. The API versioning and configuration are now implicitly handled during the build process using the `sip-build` tool.
fix
Migrate your binding generation process to use `sip-build`. Remove calls to `sip.setapi()` from your `.sip` files or generated Python code. Consult the SIP v6 documentation for updated `.sip` file directives and build configurations (e.g., `PyQt-builder`).
affects: >=6.0.0
gotchaMixing SIP versions or using a `sip` module incompatible with a generated library (e.g., PyQt) can lead to `ImportError` or `RuntimeError` due to ABI incompatibilities. For example, PyQt5 typically uses SIP v4/v5, while PyQt6 requires SIP v6.
fix
Ensure that the `sip` package version precisely matches the requirements of the Python library you are using (e.g., PyQt, PySide). If you manage multiple Python environments, use virtual environments to isolate dependencies. Always upgrade `sip` alongside the primary library it serves.
affects: All versions
gotchaWhen building C/C++ extensions with SIP, ensure your development environment has a compatible C++ compiler (e.g., MSVC on Windows, GCC/Clang on Linux/macOS) and that necessary build tools (like `make` or `ninja`) are correctly configured and accessible in your system's PATH.
fix
Verify compiler installations, associated environmental variables (e.g., `VCINSTALLDIR` for MSVC, `PATH` for GCC/Clang), and ensure build tools are available. Common issues include 'Microsoft Visual C++ 14.0 is required' errors on Windows, or missing `g++` on Linux.
affects: All versions
Upgrade
Version history
6.15.3latest on PyPI · released Mar 24, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
20 hits · last 30 days
node
16
OpenAI (training)
1
Resources
sip — pip install sip · libregistry