Jython
   HOME

TheInfoList



OR:

Jython is an implementation of the
Python programming language Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected. It supports multiple programming p ...
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 List ...
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 Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected. It supports multiple programming p ...
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 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 List ...
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, mirrorin ...
in October 2000. The
Python Software Foundation The Python Software Foundation (PSF) is an American nonprofit organization devoted to the Python programming language, launched on March 6, 2001. The mission of the foundation is to foster development of the Python community and is responsible for ...
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 CPython is the reference implementation of the Python programming language. Written in C and Python, CPython is the default and most widely used implementation of the Python language. CPython can be defined as both an interpreter and a compi ...
, which is the
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation o ...
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 WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss (company), JBoss, now developed by Red Hat. WildFly is written in Java (programming language), Java and implements the Java Platform, Enterprise Editi ...
'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, 20 ...
Scripting Tool uses Jython * IBM
Rational Rationality is the quality of being guided by or based on reasons. In this regard, a person acts rationally if they have a good reason for what they do or a belief is rational if it is based on strong evidence. This quality can apply to an abi ...
development tools allow Jython scripting * IBM
WebSphere Application Server WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product with ...
tool scripting with ''
wsadmin The wsadmin tool is a command shell for the purpose of performing systems administration on all the artifacts in an IBM WebSphere Application Server (WAS) cell. It gets its name from the name of the shell script that invokes this command shell. ...
'' 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 Ghidra (pronounced gee-druh; ) is a free and open source reverse engineering tool developed by the National Security Agency (NSA) of the United States. The binaries were released at RSA Conference in March 2019; the sources were published one mo ...
- a
reverse engineering Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
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, collecti ...
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 List ...
or Jython *
openHAB open Home Automation Bus (openHAB) is an open source home automation software written in Java. It is deployed on premises and connects to devices and services from different vendors. As of 2019, close to 300 bindings are available as OSGi modules ...
- home automation software


See also

*
List of Java scripting languages This list of JVM Languages comprises notable computer programming languages that are used to produce computer software that runs on the Java virtual machine (JVM). Some of these languages are interpreted by a Java program, and some are compiled ...
* IronPython – an implementation of Python for .NET and Mono *
PyPy PyPy () is an implementation of the Python programming language. PyPy often runs faster than the standard implementation CPython because PyPy uses a just-in-time compiler. Most Python code runs well on PyPy except for code that depends on CPytho ...
– a self-hosting interpreter for the Python programming language. *
JRuby JRuby is an implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java. It is free software released under a three-way EPL/GPL/ LGPL license. JRuby is tightly integrated with Java to allow the embeddin ...
– 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 fi ...
- 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