HOME

TheInfoList



OR:

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