Python bridge for the Java Native Interface.


Keywords
jni, jvm, jtypes, jt, jpype, jep, pyjnius, jpy, javabridge, pyjava, jcc, py4j, jython, java, pythonjava, rubicon-java
License
Other
Install
pip install jni==1.0.0b22

Documentation

jni

Python bridge for the Java Native Interface.

Overview

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.

Documentation.

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.

Installation

Prerequisites:

To install run:

python -m pip install --upgrade jni

Development

Prerequisites:

  • 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:

git clone https://github.com/karpierz/jni.git jni

and run:

python -m pip install ./jni

or on development mode:

python -m pip install --editable ./jni

License

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.

Authors