🌐
GitHub
github.com › bcdev › jpy
GitHub - bcdev/jpy: A bi-directional Python-Java bridge used to embed Java in CPython or the other way round. · GitHub
August 5, 2021 - jpy is a bi-directional Python-Java bridge which you can use to embed Java code in Python programs or the other way round. It has been designed particularly with regard to maximum data transfer speed between the two languages.
Starred by 188 users
Forked by 37 users
Languages   C 54.6% | Java 25.9% | Python 18.7%
🌐
Readthedocs
jpy.readthedocs.io
Welcome to jpy’s documentation! — jpy 0.9.0 documentation
jpy is a bi-directional Java-Python bridge allowing you to call Java from Python and Python from Java.
🌐
pytz
pythonhosted.org › javabridge
javabridge: running and interacting with the JVM from Python — python-javabridge 1.0.12 documentation
The javabridge Python package makes it easy to start a Java virtual machine (JVM) from Python and interact with it.
🌐
PyPI
pypi.org › project › python-javabridge
python-javabridge · PyPI
The python-javabridge package makes it easy to start a Java virtual machine (JVM) from Python and interact with it. Python code can interact with the JVM using a low-level API or a more convenient high-level API.
      » pip install python-javabridge
    
Published   Sep 13, 2024
Version   4.0.4
🌐
Py4j
py4j.org
Welcome to Py4J — Py4J
Py4J - A Bridge between Python ... Enter search terms or a module, class or function name. Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine....
🌐
Deephaven
deephaven.io › core › docs › how-to-guides › use-jpy
Use jpy | Deephaven
jpy is a bi-directional Java-Python bridge that facilitates calling Java from Python and vice versa. Python programs that use jpy can access Java functionalitie...
🌐
PyPI
pypi.org › project › javabridge
javabridge · PyPI
The python-javabridge package makes it easy to start a Java virtual machine (JVM) from Python and interact with it. Python code can interact with the JVM using a low-level API or a more convenient high-level API.
      » pip install javabridge
    
Published   May 26, 2020
Version   1.0.19
🌐
GeoAPI
geoapi.org › java-python
GeoAPI Java-Python bridge | GeoAPI
May 5, 2025 - The GeoAPI Java ↔ Python bridge also requires JPY, a bi-directional bridge used to embed Java in CPython or the other way round. JPY has been designed particularly with regard to maximum data transfer speed between the two languages. This page explains how to build JPY locally.
🌐
GitHub
github.com › LeeKamentsky › python-javabridge
GitHub - LeeKamentsky/python-javabridge: Python wrapper for the Java Native Interface
The javabridge Python package makes it easy to start a Java virtual machine (JVM) from Python and interact with it.
Starred by 117 users
Forked by 64 users
Languages   Python 93.1% | Cython 4.4% | C 1.5% | Python 93.1% | Cython 4.4% | C 1.5%
Find elsewhere
🌐
PyPI
pypi.org › project › jpy
jpy · PyPI
jpy is a bi-directional Python-Java bridge which you can use to embed Java code in Python programs or the other way round. It has been designed particularly with regard to maximum data transfer speed between the two languages.
      » pip install jpy
    
Published   Nov 13, 2025
Version   1.3.0
🌐
Talvi
talvi.net › posts › a-brief-overview-of-python-java-bridges-in-2020.html
A brief overview of Python-Java bridges in 2020 - talvi.net
January 10, 2020 - Python code can interact with the JVM using a low-level API or a more convenient high-level API. The documentation seems a little sparse, but for calling jarred Java code from Python it seems to work smoothly. A comment on this issue mentions that the ‘two most useful classes’ are JWrapper and JClassWrapper.
🌐
Readthedocs
jpy.readthedocs.io › en › latest › intro.html
Introduction — jpy 0.9.0 documentation
jpy is a bi-directional Python-Java bridge which you can use to embed Java code in Python programs or the other way round. It has been designed particularly with regard to maximum data transfer speed between the two languages.
🌐
Pythonpodcast
pythonpodcast.com › jpype-java-python-bridge-episode-286
The Python Podcast.__init__: Power Up Your Java Using Python With JPype
An interview with Karl Nelson about using the JPype library for bridging the Java and Python ecosystems for scientific computing
🌐
GitHub
github.com › beeware › rubicon-java
GitHub - beeware/rubicon-java: A bridge interface between Python and Java. · GitHub
Rubicon-Java is a bridge between the Java Runtime Environment and Python.
Starred by 72 users
Forked by 28 users
Languages   Python 68.4% | C 20.3% | Java 8.6% | Makefile 2.7%
🌐
GitHub
github.com › karpierz › jvm
GitHub - karpierz/jvm: Python bridge for the Java Virtual Machine.
jvm is a bridge between Python and JVM, allowing these to intercommunicate. It is an effort to allow Python programs full access to Java class libraries.
Starred by 5 users
Forked by 2 users
Languages   Python 99.4% | Batchfile 0.6% | Python 99.4% | Batchfile 0.6%
🌐
pytz
pythonhosted.org › javabridge › java2python.html
Calling Python from Java — python-javabridge 1.0.12 documentation
The Javabridge loads a Java class, org.cellprofiler.javabridge.CPython, that can be used to execute Python code.
🌐
Reddit
reddit.com › r/programminglanguages › java and cpython compatibility bridge
r/ProgrammingLanguages on Reddit: Java and CPython compatibility bridge
March 26, 2021 -

I've implemented support for two-way compatibility between Java and Python/CPython, meaning that Java can import standard CPython modules and use code as if it were Java, and Python can import Java classes and use them as if they were Python classes.

Imports in both languages are done with standard import statements.

How It Works

Java code imported into Python is subjected to reflection and then Python wrapper classes are generated using the Python API that provide runtime translations between the two language runtimes. A native Python module is provided that provides the "magic import" functionality from Java to Python (https://qoretechnologies.com/manual/qorus/current/python/html/index.html#python_qoreloader_import_java).

Python code imported into Java is introspected using the Python C API and then bytecode is generated for Java wrapper classes that provide a similar runtime translation as the imports in the other direction. A custom compiler based on javax.tools is provided (QoreJavaCompiler docs) as well as runtime dynamic code generation support for wrapper APIs in a custom class loader (QoreURLClassLoader - more info with some code examples here: https://qoretechnologies.com/manual/qorus//gitlab-docs/develop/jni/html/index.html).

This is all accomplished using a third language called Qore that provides the functionality of a "language bridge" and also manages the references to data in each separate runtime. Because Qore has a deterministic garbage collector, strong references to Python and Java data are managed in Qore and released when there are no more valid references to the data (in Qore - therefore various tricks are used to manage references transparently including sing thread-local data; there is also the possibility of using custom reference handlers to maintain the validity of objects using different language runtimes and garbage collection implementations). A high level description of the approach is here: https://drive.google.com/file/d/1QfzoXKoqgm6s1wTTykB0VdnIo4j5p0oK/view?usp=sharing

While support for importing Java into Python has been released, importing Python into Java will be released in April 2021 but is currently working and stable.

The idea is to facilitate the mixed use of enterprise technologies (Java) and AI / data science technologies (Python).

All of the source code required has been released under permissive open source licenses (MIT).

I hope it could be interesting and useful for someone - happy to provide more information if there's interest.

🌐
pytz
pythonhosted.org › javabridge › installation.html
Installation and testing — python-javabridge 1.0.12 documentation
The Javabridge requires Python 2.6 or above, NumPy, the Java Development Kit (JDK), and a C compiler.
🌐
PyPI
pypi.org › project › jtypes.javabridge
jtypes.javabridge · PyPI
Running and interacting with the JVM from Python (ctypes/cffi-based javabridge).
      » pip install jtypes.javabridge
    
Published   Nov 10, 2024
Version   4.0.4b1