Jython is an implementation of the
Python programming language designed to run on the
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
platform. The implementation was formerly known as JPython until 1999.
Overview
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
Swing or swinging may refer to:
Apparatus
* Swing (seat), a hanging seat that swings back and forth
* Pendulum, an object that swings
* Russian swing, a swing-like circus apparatus
* Sex swing, a type of harness for sexual intercourse
* Swing ri ...
,
AWT or
SWT. Jython compiles Python source code to
Java bytecode
In computing, Java bytecode is the bytecode-structured instruction set of the Java virtual machine (JVM), a virtual machine that enables a computer to run programs written in the Java programming language and several other programming langua ...
(an intermediate language) either on demand or statically.
History
Jython was initially created in late 1997 to replace
C with
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
for performance-intensive code accessed by Python programs, moving to
SourceForge
SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring ...
in October 2000. The
Python Software Foundation awarded a grant in January 2005. Jython 2.5 was released in June 2009.
Status and roadmap
The most recent release is Jython 2.7.2. It was released on 21 March 2020 and is compatible with Python 2.7.
Python 3 compatible changes are planned in Jython 3 Roadmap.
Although Jython implements the Python language specification, it has some differences and incompatibilities with
CPython, which is the
reference implementation of Python.
License terms
From version 2.2 on, Jython (including the standard library) is released under the
Python Software Foundation License
The Python Software Foundation License (PSFL) is a BSD-style, permissive software license which is compatible with the GNU General Public License (GPL). Its primary use is for distribution of the Python project software and its documentation. ...
(v2). Older versions are covered by the ''Jython 2.0, 2.1 license'' and the ''JPython 1.1.x Software License''.
The command line interpreter is available under the Apache Software License.
Usage
*
JBoss Application Server's
command line interface
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
scripting using Jython
*
Oracle Weblogic Server
Oracle WebLogic Server is a Java EE application server currently developed by Oracle Corporation. Oracle acquired WebLogic Server when it purchased BEA Systems in 2008.
Application Server versions
* WebLogic Server 14c (14.1.1) - March 30, 2020 ...
Scripting Tool uses Jython
* IBM
Rational development tools allow Jython scripting
* IBM
WebSphere Application Server tool scripting with ''
wsadmin'' allows using Jython and
Jacl
*
ZK – a Java Ajax framework that allows glue logic written in Jython
*
Ignition
Ignition may refer to:
Science and technology
* Firelighting, the human act of creating a fire for warmth, cooking and other uses
* Combustion, an exothermic chemical reaction between a fuel and an oxidant
* Fusion ignition, the point at which a ...
- A software development platform focused on HMI and SCADA
*
Ghidra - a
reverse engineering tool developed by the
NSA
The National Security Agency (NSA) is a national-level intelligence agency of the United States Department of Defense, under the authority of the Director of National Intelligence (DNI). The NSA is responsible for global monitoring, collec ...
allows plugins to be written in
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
or Jython
*
openHAB - home automation software
See also
*
List of Java scripting languages
*
IronPython – an implementation of Python for .NET and Mono
*
PyPy – a self-hosting interpreter for the Python programming language.
*
JRuby – similar project for the Ruby programming language.
*
GraalVM
GraalVM is a Java VM and JDK based on HotSpot/ OpenJDK, implemented in Java. It supports additional programming languages and execution modes, like ahead-of-time compilation of Java applications for fast startup and low memory footprint. The f ...
- a polyglot runtime written in Java, has a Python 3 implementation
References
External links
*
{{Authority control
JVM programming languages
Object-oriented programming languages
Python (programming language) implementations
Scripting languages
Software using the PSF license