🌐
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%
🌐
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
🌐
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 › 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   Jun 04, 2026
Version   2.1.0
🌐
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%
🌐
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.
🌐
Deephaven
deephaven.io › core › docs › how-to-guides › use-jpy
Use jpy | Deephaven
The Deephaven query engine is implemented in Java, making it relatively easy to use Java from within Python. jpy is used as the bridge between the two languages. This guide covers how to use Java from Python.
🌐
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.
🌐
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....
Find elsewhere
🌐
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
🌐
Anaconda.org
anaconda.org › conda-forge › python-javabridge
Python Javabridge | Anaconda.org
Python wrapper for the Java Native Interface copied from cf-staging / python-javabridge
🌐
GeoAPI
geoapi.org › java-python
GeoAPI Java-Python bridge | GeoAPI
May 5, 2025 - The first line in the example below assumes that a Java class named com.​mycompany.​MyClass contains a static getMetadata() method. That method is invoked from Python code, and its return value is wrapped in a Python object provided by JPY. If the caller knows that the return type is GeoAPI interface org.​opengis.​metadata.​Metadata, then (s)he can wrap the return value in opengis.​bridge.​java.​metadata.​Metadata in order to manipulate that object using GeoAPI for Python interfaces.
🌐
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.
🌐
pytz
pythonhosted.org › javabridge › installation.html
Installation and testing — python-javabridge 1.0.12 documentation
Create and activate a virtualenv ... your system-wide python installation with new packages. ... If you do not have a C compiler installed, you can install the Windows SDK 7.1 and .Net Framework 4.0 to perform the compile steps. You should install a Java Development Kit (JDK) ...
🌐
Pythonpodcast
pythonpodcast.com › jpype-java-python-bridge-episode-286
The Python Podcast.__init__: Power Up Your Java Using Python With JPype
Go to pythonpodcast.com/conferences ... Macey and today I’m interviewing Karl Nelson about JPype, a language bridge that lets you use Java classes in your Python programs...
🌐
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 › 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.
🌐
Deephaven
deephaven.io › core › docs › conceptual › python-java-boundary
The Python-Java boundary and how it affects query efficiency | Deephaven
Deephaven's Python API allows users to perform tasks by wrapping the Java operations in Python. This is accomplished via jpy, a bi-directional Python-Java bridge that can be used to embed Java code in Python programs.
🌐
Awesomeopensource
awesomeopensource.com › projects › bridge › java › python
The Top 7 Bridge Java Python Open Source Projects
JPype is cross language bridge to allow Python programs full access to Java class libraries.