Reference

sip5(1)

generate Python extension modules for C/C++ libraries

NAME

sip5 - generate Python extension modules for C/C++ libraries

SYNOPSIS

sip5 [options] [specification]

specification is the name of the specification file for the module. If it is omitted then stdin is used.

Command line options can also be placed in a file and passed on the command line using the @ prefix.

DESCRIPTION

sip5 is a drop-in replacement for the sip code generator included with SIP v4.

OPTIONS

-h

Display a help message.

-V

Display the SIP version number.

-a FILE

The name of the QScintilla API file to generate. This file contains a description of the module API in a form that the QScintilla editor component can use for auto-completion and call tips. (The file may also be used by the SciTE editor but must be sorted first.) By default the file is not generated.

--abi-version VERSION

The version of the ABI implemented by the sip module is VERSION. By the default the latest version is used.

-B TAG

The tag is added to the list of backstops. The option may be given more than once if multiple timelines have been defined.

-c DIR

The name of the directory (which must exist) into which all of the generated C or C++ code is placed. By default no code is generated.

-D

Code is generated for a debug build of Python.

-e

Support for C++ exceptions is enabled. This causes all calls to C++ code to be enclosed in try/catch blocks and C++ exceptions to be converted to Python exceptions. By default exception support is disabled.

-f

Warnings are handled as if they were errors and the program terminates.

-g

The Python GIL is released before making any calls to the C/C++ library being wrapped and reacquired afterwards. See ref-gil and the ReleaseGIL and HoldGIL annotations.

-I DIR

The directory is added to the list of directories searched when looking for a specification file given in an %Include or %Import directive. Directory separators must always be /. This option may be given any number of times.

-j FILES

The generated code is split into the given number of files. This makes it easier to use the parallel build facility of most modern implementations of make. By default 1 file is generated for each C structure or C++ class.

-n NAME

The fully qualified name of the sip module (i.e. including the package name).

-o

Docstrings will be automatically generated that describe the signature of all functions, methods and constructors.

-P

By default SIP generates code to provide access to protected C++ functions from Python. On some platforms (notably Linux, but not Windows) this code can be avoided if the protected keyword is redefined as public during compilation. This can result in a significant reduction in the size of a generated Python module. This option disables the generation of the extra code.

-r

Debugging statements that trace the execution of the bindings are automatically generated. By default the statements are not generated.

-s SUFFIX

The suffix to use for generated C or C++ source files. By default .c is used for C and .cpp for C++.

-t TAG

The SIP version tag (declared using a %Timeline directive) or the SIP platform tag (declared using the %Platforms directive) to generate code for. This option may be given any number of times so long as the tags do not conflict.

-w

The display of warning messages is enabled. By default warning messages are disabled.

-x FEATURE

The feature (declared using the %Feature directive) is disabled.

-X ID:FILE

The extract (defined with the %Extract directive) with the identifier ID is written to the file FILE.

-y FILE

The name of the Python type hints stub file to generate. This file contains a description of the module API that is compliant with PEP 484. By default the file is not generated.