tools installed separatelythough python and later incorporates the ctypes extension as standard library module sip just as sip is smaller swig in the drinking worldso too is the sip system lighter alternative to swig in the python world (in factit was named on purpose for the jokeaccording to its web pagesip makes it easy to create python bindings for and +libraries originally developed to create the pyqt python bindings for the qt toolkitit can be used to create bindings for any or +library sip includes code generator and python support module much like swigthe code generator processes set of specification files and generates or +codewhich is compiled to create the bindings extension module the sip python module provides support functions to the automatically generated code unlike swigsip is specifically designed just for bringing together python and / +swig also generates wrappers for many other scripting languagesand so is viewed by some as more complex project ctypes the ctypes system is foreign function interface (ffimodule for python it allows python scripts to access and call compiled functions in binary library file directly and dynamicallyby writing dispatch code in python itselfinstead of generating or writing the integration wrapper code we've studied in this that islibrary glue code is written in pure python instead of the main advantage is that you don' need code or build system to access functions from python script the disadvantage is potential speed loss on dispatchthough this depends upon the alternative measured according to its documentationctypes allows python to call functions exposed from dlls and shared libraries and has facilities to createaccessand manipulate complex datatypes in python it is also possible to implement callback functions in pure pythonand an experimental ctypes code generator feature allows automatic creation of library wrappers from header files ctypes works on windowsmac os xlinuxsolarisfreebsdand openbsd it may run on additional systemsprovided that the libffi package it employs is supported for windowsctypes contains ctypes com packagewhich allows python code to call and implement custom com interfaces see python' library manuals for more on the ctypes functionality included in the standard library boost python the boost python system is +library that enables seamless interoperability between +and the python programming language through an idl-like model using itdevelopers generally write small amount of +wrapper code to create shared library for use in python scripts boost python handles referencescallbackstype mappingsand cleanup tasks because it is designed to wrap +interfaces nonintrusivelyc+code need not be changed to be wrapped like other python/ integration