Differences between revisions 65 and 67 (spanning 2 versions)
Revision 65 as of 2011-08-15 23:13:18
Size: 6164
Editor: remote
Comment: Fixing dead link, but I think this project/module is no longer maintained.
Revision 67 as of 2011-12-14 07:52:30
Size: 6572
Editor: techtonik
Comment: add shiboken
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
 * [[http://www.swig.org/|SWIG]] - generate extension module from your .h files
 * [[boost.python]] - write (tiny) C++ class to wrap your classes in an extension module
Line 11: Line 9:
 * [[http://cxx.sourceforge.net/|CXX]]  * [[http://cxx.sourceforge.net/|CXX]] - PyCXX - helper lib for writing Python extensions in C++
Line 13: Line 11:
 * [[weave]] - include C code lines in Python program
 * [[SIP]] - similar to SWIG but specialised for Python and C++. Used to create PyQt, the [[Qt]] API wrapper library
Line 17: Line 13:
 * [[http://www.picklingtools.com/|PicklingTools]] is a collection of libraries for exchanging Python Dictionaries between C++ and Python.
 * [[weave]] - include C code lines in Python program
=== C/C++ Binding Generators ===
Tools to make C/C++ functions/methods accessible from Python by generating binding (Python extension or module) from header files.
 * [[boost.python]] - expose C++ classes functions and objects to Python, and vice-versa, using just C++ compiler
Line 18: Line 19:
 * [[http://www.picklingtools.com/|PicklingTools]] is a collection of libraries for exchanging Python Dictionaries between C++ and Python.
 * [[http://code.google.com/p/pybindgen/|PyBindGen]] Python bindings code generator for pure C or C++ APIs. The generator is written in Python and has low complexity. The generated code is lean, efficient, and highly readable.
 * [[http://code.google.com/p/pybindgen/|PyBindGen]] Python bindings code generator for pure C or C++ APIs. The generator is written in Python and has low complexity. The generated code is lean, efficient, and highly readable
 * [[http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Shiboken|shiboken] - Binding Generator used to create PySide Python bindings for Qt
 * [[SIP]] - similar to SWIG but specialised for Python and C++. Used to create PyQt, the [[Qt]] API wrapper library
 * [[http://www.swig.org/|SWIG]] - generate extension module from your .h files

[Hint: The idea is to create pages for the stuff, not just link it.]

C/C++

There a various tools which make it easier to bridge the gap between Python and C/C++:

  • Pyrex - write your extension module on Python (!)

  • CXX - PyCXX - helper lib for writing Python extensions in C++

  • SCXX

  • ctypes is a Python module allowing to create and manipulate C data types in Python. These can then be passed to C-functions loaded from dynamic link libraries.

  • elmer - compile and run python code from C, as if it was written in C

  • PicklingTools is a collection of libraries for exchanging Python Dictionaries between C++ and Python.

  • weave - include C code lines in Python program

C/C++ Binding Generators

Tools to make C/C++ functions/methods accessible from Python by generating binding (Python extension or module) from header files.

  • boost.python - expose C++ classes functions and objects to Python, and vice-versa, using just C++ compiler

  • pwig is a SWIG extension for writting new language modules in Python.

  • PyBindGen Python bindings code generator for pure C or C++ APIs. The generator is written in Python and has low complexity. The generated code is lean, efficient, and highly readable

  • [[http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Shiboken|shiboken] - Binding Generator used to create PySide Python bindings for Qt

  • SIP - similar to SWIG but specialised for Python and C++. Used to create PyQt, the Qt API wrapper library

  • SWIG - generate extension module from your .h files


Articles


Related

Delphi

Fortran

Lisp

Prolog

See also http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=Python+prolog

Java

  • Jython - Python implemented in Java

  • JPype - Java for CPython

  • Jepp - Java embedded Python

C#/.NET

  • ActiveState research

  • Python for .NET is a near-seamless integration of the CPython runtime with the .NET Common Language Runtime (CLR).

  • IronPython is an implementation of Python for .net, which allows you to import .net class libraries seamlessly in Python.

Perl

See http://www.faqts.com/knowledge_base/view.phtml/aid/17202/fid/1102

For converting/porting Perl code to Python the tool 'Bridgekeeper' http://www.crazy-compilers.com/bridgekeeper/ may be handy.

PHP

R

Objective-C

Tcl

  • elmer - compile and run python code from Tcl, as if it was written in Tcl

  • TclPython - a Python package for Tcl allows execution of Python (version 2.2 or above) code from a Tcl interpreter.

  • Tcl and other languages - Tcl's equivalent of this page.

Lua

  • LunaticPython - a two-way bridge between Python and Lua.

  • Lupa - fast wrapper for LuaJIT2 written in Cython.

  • Lux - a mutant Lua emphasizing interoperation with Python, Perl, etc.

OCaml

  • Pycaml - write Python extension modules in OCaml (instead of C), and use Python code and native libraries from OCaml programs.

Eiffel and Haskell

Other (applications)

to name a few. There are much more...

Other (standards and protocols)

See also

Thinki: UsingPythonWithOtherLanguages

IntegratingPythonWithOtherLanguages (last edited 2020-07-29 18:06:27 by JaraKaca)

Unable to edit the page? See the FrontPage for instructions.