jni 1.0.0b22
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:
Python 3.8 or higher
https://www.python.org/
Java 11 is a primary test environment.
pip and setuptools
https://pypi.org/project/pip/
https://pypi.org/project/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 Karpierz
Licensed under CC BY-NC-ND 4.0
Licensed under proprietary License
Please refer to the accompanying LICENSE file.
Authors
Adam Karpierz <adam@karpierz.net>
Changelog
1.0.0b22 (2024-01-26)
Tox configuration has been moved to pyproject.toml
Setup update (now based on tox >= 4.0).
Add support for Python 3.10, 3.11 and 3.12
Drop support for Python 3.7
Add support for PyPy 3.9 and 3.10
Copyright year update.
1.0.0b20 (2022-01-29)
Drop support for Python 3.6
Setup update.
1.0.0b18 (2021-10-13)
dll_path argument of load() can also be type os.PathLike.
Copyright year update.
Setup update.
1.0.0b17 (2020-11-10)
Add support for Python 3.9
General update, improvements and cleanup.
Setup update and improvements.
Fixed docs setup.
1.0.0b7 (2020-03-08)
Drop support for Python2
Update of license info.
Setup update.
1.0.0b4 (2019-07-10)
Last release for Python2
1.0.0b3 (2018-05-22)
Update of the required setuptools version.
1.0.0b2 (2018-02-26)
Improvement and simplification of setup and packaging.
1.0.0b1 (2017-11-18)
First ‘official’ version.
0.1.1 (2005-10-05)
Initial version.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.