developing new extensions from scratch writing interface code for large libraries can be more involved than the code generation approaches of swig and sipbut it' easier than manually wrapping libraries and may afford greater control than fully automated wrapping tool in additionthe py+and older pyste systems provide boost python code generatorsin which users specify classes and functions to be exported using simple interface file both use gcc-xml to parse all the headers and extract the necessary information to generate +code cython (and pyrexcythona successor to the pyrex systemis language specifically for writing python extension modules it lets you write files that mix python code and datatypes as you wishand compiles the combination into extension for python in principledevelopers need not deal with the python/ api at allbecause cython takes care of things such as error-checking and reference counts automatically technicallycython is distinct language that is python-likewith extensions for mixing in datatype declarations and function calls howeveralmost any python code is also valid cython code the cython compiler converts python code into codewhich makes calls to the python/ api in this aspectcython is similar to the now much older python conversion project by combining python and codecython offers different approach than the generation or coding of integration code in other systems cxxweaveand more the cxx system is roughly +version of python' usual apiwhich handles reference countersexception translationand much of the type checking and cleanup inherent in +extensions as suchcxx lets you focus on the application-specific parts of your code cxx also exposes parts of the +standard template library containers to be compatible with python sequences the weave package allows the inclusion of / +in python code it' part of the scipy package ( page at which we don' have space to mention here other languagesjavac#fortranobjective-cand others although we're focused on and +in this you'll also find direct support for mixing python with other programming languages in the open source world this includes languages that are compiled to binary form like cas well as some that are not for exampleby providing full byte code compilersthe jython and ironpython systems allow code written in python to interface with java and #net components in largely seamless fashion alternativelythe jpype and python for net projects support java and #net integration for normal cpython (the standard other extending tools