Python bridge for the Java Native Interface.
Project description
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.7 or higher
- https://www.python.org/
- 3.7 with Java 8 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-2022 Adam KarpierzLicensed under CC BY-NC-ND 4.0Licensed under proprietary LicensePlease refer to the accompanying LICENSE file.
Changelog
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jni-1.0.0b20.zip
(218.6 kB
view hashes)
Built Distribution
jni-1.0.0b20-cp37-cp37m-win_amd64.whl
(117.6 kB
view hashes)
Close
Hashes for jni-1.0.0b20-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a85a0b1d3eae80eabaa28f9e76d113b0b9eb43d33c64483c978e9476d35db2ce |
|
MD5 | a784ab13cd335ed0e5ed9fee574c1890 |
|
BLAKE2-256 | 13036bc0ea48133f69f37b2bc5f5a26121a3a39381600883bdb568b3bbea958f |