Skip to main content

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.

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-2022 Adam Karpierz
Licensed under CC BY-NC-ND 4.0
Licensed under proprietary License
Please refer to the accompanying LICENSE file.

Authors

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


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)

Uploaded source

Built Distribution

jni-1.0.0b20-cp37-cp37m-win_amd64.whl (117.6 kB view hashes)

Uploaded cp37

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page