Differences between revisions 16 and 17
Revision 16 as of 2007-11-15 17:48:20
Size: 4378
Editor: PaulBoddie
Comment: Added jcc.
Revision 17 as of 2007-11-16 18:12:43
Size: 4423
Editor: PaulBoddie
Comment: Linked to the PyPI entry for JCC, changed notes.
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
[http://svn.osafoundation.org/pylucene/trunk/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:
 * Currently part of the [http://pylucene.osafoundation.org/ PyLucene] project.  * Used in the [http://pylucene.osafoundation.org/ PyLucene] project to provide access to the Lucene Java API (instead of using GCJ and SWIG).

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


[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://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://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]

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

[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. 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 a 2.2 beta release likely to come out soon (November 2006). 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 [http://fwierzbicki.blogspot.com/ Frank Wierzbicki's blog] or the [http://wiki.python.org/jython/ 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 [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.

  • 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.

["Laurent Pointal"] comments on these and a few other Java-related Python projects in a [http://www.limsi.fr/Individu/pointal/python.html#liens-intautlang-java page he maintains].


Discontinued Projects


[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.

  • 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.

[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).

  • Project Status as of 2002 is discontinued.

[http://www.ndim.edrc.cmu.edu/dougc/jpi/Home.html 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.