Jython programs can import and use any Java class. Except for some standard modules, Jython programs use Java classes instead of Python modules. Jython includes almost all of the modules in the standard Python programming language distribution, lacking only some of the modules implemented originally in C. For example, a user interface in Jython could be written with Swing, AWT or SWT. Jython compiles to Java bytecode (intermediate language) either on demand or statically.
Jython was initially created in late 1997 to replace C with Java for performance-intensive code accessed by Python programs, moving to SourceForge in October 2000. The Python Software Foundation awarded a grant in January 2005, but development was slow due to lack of knowledgeable developers. Over this history, Jython had been developed successively by Jim Hugunin, Barry Warsaw, Samuele Pedroni, Brian Zimmer, and Frank Wierzbicki.
In March 2008, Sun Microsystems announced the hiring of Ted Leung and Frank Wierzbicki to work on Jython and Python, similar to Sun’s hiring of two JRuby developers.Development progressed steadily, and Jython 2.5 was released in June 2009.
Status and roadmap
The current release is Jython 2.5.3, available since August 13, 2012. While Jython 2.5.3 was entirely bug fixes, version 2.5.2 included new features, like IPv6 support in the socket module and performance enhancements, as well as its own bug fixes. Jython 2.5.2 implements the same set of language features as CPython 2.5 As of 2.5.0, Jython is able to run popular Python frameworks such as Django, Pylons, or SQLAlchemy.
On Monday, March 5, 2012, it was announced that funding had been procured to produce a 2.7 version of Jython, with release targeted at July 2012. A Beta release (2.7beta1) was made available on February 10, 2013, bringing compatibility with CPython 2.7.
From version 2.2 on, Jython (including the standard library) is released under the Python Software Foundation License (v2). Older versions are covered by the Jython 2.0, 2.1 license and the JPython 1.1.x Software License.
The first two are permissive free software licenses. The third also appears to be, but this is unclear because neither the Free Software Foundation nor the Open Source Initiativehave reviewed and commented on it.
The command line interpreter is available under the Apache Software License.
- Jython is one of two scripting languages (with Jacl) used in WebSphere Application Server. It is used in IBM Rational development tools, where Jython projects can be created using wizards. It is used as the main programming language for the SCaViS data analysis framework.