Differences between revisions 18 and 19
Revision 18 as of 2007-11-16 18:21:01
Size: 4450
Editor: PaulBoddie
Comment: Updated Jython status.
Revision 19 as of 2008-11-15 14:00:58
Size: 4480
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
[http://www.python.org/pypi/JCC JCC] is a wrapper generator for Java APIs, exposing them to C++ and Python, and producing Python extensions which communicate via JNI with a Java virtual machine. [[http://www.python.org/pypi/JCC|JCC]] is a wrapper generator for Java APIs, exposing them to C++ and Python, and producing Python extensions which communicate via JNI with a Java virtual machine.
Line 20: Line 20:
 * Used in the [http://pylucene.osafoundation.org/ PyLucene] project to provide access to the Lucene Java API (instead of using GCJ and SWIG).  * Used in the [[http://pylucene.osafoundation.org/|PyLucene]] project to provide access to the Lucene Java API (instead of using GCJ and SWIG).
Line 23: Line 23:
[http://jepp.sourceforge.net/ Jepp] embeds CPython in Java. It is safe to use in a heavily threaded environment, it is quite fast and its stability is a main feature and goal. [[http://jepp.sourceforge.net/|Jepp]] embeds CPython in Java. It is safe to use in a heavily threaded environment, it is quite fast and its stability is a main feature and goal.
Line 27: Line 27:
 * For a quick introduction see this [http://programming.newsforge.com/programming/06/10/20/1423240.shtml?tid=54&tid=109 article on NewsForge].  * For a quick introduction see this [[http://programming.newsforge.com/programming/06/10/20/1423240.shtml?tid=54&tid=109|article on NewsForge]].
Line 29: Line 29:
[http://jpype.sourceforge.net/ JPype] is an effort to allow python programs full access to java class libraries. This is achieved not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at the native level in both Virtual Machines.
 * For information on the current status of the project, see the [http://jpype.blogspot.com/ JPype Blog]
[[http://jpype.sourceforge.net/|JPype]] is an effort to allow python programs full access to java class libraries. This is achieved not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at the native level in both Virtual Machines.
 * For information on the current status of the project, see the [[http://jpype.blogspot.com/|JPype Blog]]
Line 35: Line 35:
[http://www.jython.org/Project/index.html Jython] (formerly: JPython) is a Python-to-Java bytecode compiler. It is written in Java. Most Python scripts should run with little or no modification on Jython. [[http://www.jython.org/Project/index.html|Jython]] (formerly: JPython) is a Python-to-Java bytecode compiler. It is written in Java. Most Python scripts should run with little or no modification on Jython.
Line 39: Line 39:
 * For information about the current status of the project see [http://fwierzbicki.blogspot.com/ Frank Wierzbicki's blog] or the [http://wiki.python.org/jython/ Jython wiki]  * For information about the current status of the project see [[http://fwierzbicki.blogspot.com/|Frank Wierzbicki's blog]] or the [[http://wiki.python.org/jython/|Jython wiki]]
Line 43: Line 43:
 * In December 2001, Jython version 2.1 was released. For more information see the old [http://jython.sourceforge.net/Jython21.html Jython 2.1 homepage].
 * In 2004, the [http://www.python.org/psf/grants/ PSF awarded a grant] for a ''Moving Jython Forward'' project led by Brian Zimmer.
 * In December 2001, Jython version 2.1 was released. For more information see the old [[http://jython.sourceforge.net/Jython21.html|Jython 2.1 homepage]].
 * In 2004, the [[http://www.python.org/psf/grants/|PSF awarded a grant]] for a ''Moving Jython Forward'' project led by Brian Zimmer.
Line 49: Line 49:
["Laurent Pointal"] comments on these and a few other [[Laurent Pointal]] comments on these and a few other
Line 51: Line 51:
[http://www.limsi.fr/Individu/pointal/python.html#liens-intautlang-java page he maintains]. [[http://www.limsi.fr/Individu/pointal/python.html#liens-intautlang-java|page he maintains]].
Line 56: Line 56:
[http://www.python.org/pypi/javaclass javaclass] is a project which attempts to import Java class files as Python modules by translating the structures and bytecode. [[http://www.python.org/pypi/javaclass|javaclass]] is a project which attempts to import Java class files as Python modules by translating the structures and bytecode.
Line 59: Line 59:
[http://jpe.sourceforge.net/ JPE] (Java-Python Extension) uses JNI to provide a bridging mechanism between Java and a Python interpreter (including use of C extensions for Python). [[http://jpe.sourceforge.net/|JPE]] (Java-Python Extension) uses JNI to provide a bridging mechanism between Java and a Python interpreter (including use of C extensions for Python).
Line 62: Line 62:
[http://www.ndim.edrc.cmu.edu/dougc/jpi/Home.html JPI] was a two-way Python-Java Interface. [[http://www.ndim.edrc.cmu.edu/dougc/jpi/Home.html|JPI]] was a two-way Python-Java Interface.

Tools for scripting Java using Python

This page lists tools for Java/Python interoperatbility.

The purpose of this page is to provide:

  • a list of tools for Java/Python interoperability
  • a summary of the capabilities/uses of each tool
  • brief overview information about the developers, maintainers, and current status of each project.


Active Projects


JCC is a wrapper generator for Java APIs, exposing them to C++ and Python, and producing Python extensions which communicate via JNI with a Java virtual machine.

  • Used in the PyLucene project to provide access to the Lucene Java API (instead of using GCJ and SWIG).

  • Announced in November 2007 as part of the Chandler 0.7 release.

Jepp embeds CPython in Java. It is safe to use in a heavily threaded environment, it is quite fast and its stability is a main feature and goal.

  • Version 2.0 was released in October 2006.
  • Jepp was developed by Trinity Capital, a division of Bank of the West.

  • For a quick introduction see this article on NewsForge.

JPype is an effort to allow python programs full access to java class libraries. This is achieved not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at the native level in both Virtual Machines.

  • For information on the current status of the project, see the JPype Blog

  • The author of JPype is Steve Menard.
  • Version 0.5 was released May 2006.
  • As of November 2006 version 0.6 is being developed.

Jython (formerly: JPython) is a Python-to-Java bytecode compiler. It is written in Java. Most Python scripts should run with little or no modification on Jython. The exception is scripts that use Python extensions written in C. Some modules in the standard library may not be available in Jython.

  • Jython has recently seen renewed interest. With the recent emphasis on dynamic languages for the JVM, Jython appears to be getting new contributors and making progress again.
  • For information about the current status of the project see Frank Wierzbicki's blog or the Jython wiki

  • JPython was created in late 1997 by Jim Hugunin.
  • In February 1999 Barry Warsaw took over as primary developer and released JPython version 1.1.
  • In October 2000 Barry helped move the software to SourceForge where it was renamed to Jython, and Finn Bock became the primary maintainer.

  • In December 2001, Jython version 2.1 was released. For more information see the old Jython 2.1 homepage.

  • In 2004, the PSF awarded a grant for a Moving Jython Forward project led by Brian Zimmer.

  • An alpha version of 2.2 was released in July 2005. This was an experimental, unstable release with significant known issues.
  • Frank Wierzbicki became the project's chief maintainer in November 2005.
  • In August 2007, Jython 2.2 was finally released, followed by Jython 2.2.1 in October 2007.

Laurent Pointal comments on these and a few other Java-related Python projects in a page he maintains.


Discontinued Projects


javaclass is a project which attempts to import Java class files as Python modules by translating the structures and bytecode.

  • Project Status as of 2005 is discontinued, although there remains a vague possibility of it being re-evaluated in the light of recent Python releases.

JPE (Java-Python Extension) uses JNI to provide a bridging mechanism between Java and a Python interpreter (including use of C extensions for Python).

  • Project Status as of 2002 is discontinued.

JPI was a two-way Python-Java Interface.

  • Project Status as of 2002 is discontinued.


ScriptingJava (last edited 2008-11-15 14:00:58 by localhost)

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