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.
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.
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.
Prerequisites:
- Python 3.8 or higher
- https://www.python.org/
- Java 11 is a primary test environment.
- pip and setuptools
To install run:
python -m pip install --upgrade jni
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
Copyright (c) 2004-2024 Adam KarpierzLicensed under CC BY-NC-ND 4.0Licensed under proprietary LicensePlease refer to the accompanying LICENSE file.
- Adam Karpierz <[email protected]>