jni documentation


Python bridge for the Java Native Interface.


jni is a complete bridge between Python and Java JNI.
It is an effort to allow python programs full access to Java JNI API.

PyPI record.


jni is a lightweight Python package, based on the ctypes, or cffi library, or Cython wrapper (currently under development).
It is done by implementing whole JNI API functionality in a clean Python instead of C/C++.
jni also contains a JNI wrapper in pure C based on Python C-API (currently under development) - mainly for performance reasons.

What is jni:

jni is an effort to allow python programs full access to Java JNI API.
This is achieved not through re-implementing Python, as Jython has done, but rather through interfacing at the native level in both virtual machines.
Known Bugs/Limitations :
  • Because of lack of JVM support, you cannot shutdown the JVM and then restart it.



To install run:

python -m pip install --upgrade jni



  • Development is strictly based on tox. To install it run:

    python -m pip install --upgrade tox

Visit Development page.

Installation from sources:

clone the sources:

and run:

python -m pip install ./jni

or on development mode:

python -m pip install --editable ./jni


Copyright (c) 2004-2024 Adam Karpierz
Licensed under CC BY-NC-ND 4.0
Licensed under proprietary License
Please refer to the accompanying LICENSE file.



Indices and tables