Skip to content
forked from karpierz/jni

Python bridge for the Java Native Interface.

License

Notifications You must be signed in to change notification settings

thisisthepy/jni

 
 

Repository files navigation

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

About

Python bridge for the Java Native Interface.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 85.4%
  • Cython 14.3%
  • Batchfile 0.3%