Jython

From Wikipedia, the free encyclopedia
(Redirected from JPython)
Jump to navigation Jump to search

Jython
Initial releaseJanuary 17, 2001; 25 years ago (2001-01-17)[1]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inPython and Java
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    PlatformJava virtual machine
    TypePython Interpreter
    LicensePython Software Foundation License (for older releases see License terms)

    Jython is an implementation of the Python programming language designed to run on the Java platform. It was known as JPython until 1999.[2]

    Overview

    [edit | edit source]

    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

    [edit | edit source]

    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.[3]

    Status and roadmap

    [edit | edit source]

    The most recent release is Jython 2.7.4. It was released on August 18, 2024 and is compatible with Python 2.7.[4]

    Python 3 compatible changes are planned in Jython 3 Roadmap.[5]

    Although Jython implements the Python language specification, it has some differences and incompatibilities with CPython, which is the reference implementation of Python.[6][7]

    License terms

    [edit | edit source]

    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.[8]

    The command-line interpreter is available under the Apache Software License.

    Usage

    [edit | edit source]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    • 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

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]
    • Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).

    Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).