Jython
{{Short description|Java implementation of Python}}
{{Use mdy dates|date=July 2023}}
{{Infobox software
| name = Jython
| logo = Jython.png
| logo size = 100px
| logo alt = Jython Logo
| screenshot =
| caption =
| developer =
| released = {{Start date and age|2001|01|17}}{{cite web
|url = https://hg.python.org/jython/file/tip/NEWS
|title = jython: 3d8067c56a1d NEWS
|date = March 22, 2015
|access-date = March 28, 2015
|first1 = Frank
|last1 = Wierzbicki}}
| latest release version = {{wikidata|property|preferred|references|edit|P348|P548=Q2804309}} | latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|P348|P548=Q2804309|P577}}|df=yes}}
| latest preview version =
| latest preview date =
| operating system = Cross-platform
| platform = Java virtual machine
| programming language = Python and Java
| genre = Python Interpreter
| license = Python Software Foundation License (for older releases see License terms)
| website = {{Official URL}}
}}
Jython is an implementation of the Python programming language designed to run on the Java platform. It was known as JPython until 1999.
{{cite web
|url = https://wiki.python.org/jython/JythonFaq/GeneralInfo
|title = JythonFaq/GeneralInfo - JythonWiki
|date = April 3, 2014
|access-date = March 28, 2015}}
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, AWT or SWT. Jython compiles Python source code to Java bytecode (an intermediate language) either on demand or statically.
History
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. Jython 2.5 was released in June 2009.{{cite web
|url=http://fwierzbicki.blogspot.com/2009/06/jython-250-final-is-out.html
|title=Jython 2.5.0 Final is out!
|date=June 16, 2009
|access-date=July 2, 2009
|last=Wierzbicki|first=Frank
}}
Status and roadmap
The most recent release is Jython 2.7.4. It was released on August 18, 2024 and is compatible with Python 2.7.{{Cite web|url=https://www.jython.org/news.html|title=News|website=Jython|language=en-US|access-date=April 19, 2020}}
Python 3 compatible changes are planned in Jython 3 Roadmap.{{Cite web|url=https://www.jython.org/jython-3-roadmap.html|website=Jython|title=Jython 3 Roadmap|language=en-US|access-date=October 14, 2022}}
Although Jython implements the Python language specification, it has some differences and incompatibilities with CPython, which is the reference implementation of Python.{{cite web
| url=https://wiki.python.org/jython/JythonFaq/GeneralInfo#IsJythonthesamelanguageasPython.3F
| title=JythonFaq
|publisher=Jython's project
| access-date=July 5, 2009}}{{cite web
| url=http://jython.sourceforge.net/archive/21/docs/differences.html
| title=Differences between CPython and Jython
| publisher=Jython's project
| access-date=July 5, 2009
| archive-url=https://web.archive.org/web/20231007235503/https://jython.sourceforge.net/archive/21/docs/differences.html
| archive-date=2023-10-07}}
License terms
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.{{cite web
| url=https://www.jython.org/Project/license.html
| title=The Jython License
| publisher=Jython's project
| access-date=February 9, 2008
| archive-date=October 9, 2018
| archive-url=https://web.archive.org/web/20181009152125/http://www.jython.org/Project/license.html
| url-status=dead
}}
The command-line interpreter is available under the Apache Software License.
Usage
- JBoss Application Server's command line interface scripting using Jython
- Oracle Weblogic Server 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 - A software development platform focused on HMI and SCADA{{Cite web|url=https://docs.inductiveautomation.com/display/DOC79/Introducing+Ignition|title=Introducing Ignition - Ignition User Manual 7.9 - Ignition Documentation|website=docs.inductiveautomation.com|access-date=April 24, 2019}}
- Ghidra - a reverse engineering tool developed by the NSA allows plugins to be written in Java or Jython
- openHAB - home automation software
See also
{{Portal|Computer programming|Free and open-source software}}
- List of JVM 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 - a polyglot runtime written in Java, has a Python 3 implementation
References
{{Reflist|30em}}
External links
- {{Official website}}
{{Python (programming language)}}
{{Java (Sun)}}
{{Authority control}}
Category:JVM programming languages
Category:Object-oriented programming languages
Category:Python (programming language) implementations
Category:Software using the Python Software Foundation License