jni 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.
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:
Python 3.9 or higher
Java 17 is a primary test environment.
pip and setuptools
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 KarpierzLicensed under CC BY-NC-ND 4.0Licensed under proprietary LicensePlease refer to the accompanying LICENSE file.