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

To ensure everything is running correctly you can run the tests using:

python -m jni.tests

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-2020 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.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.0b17.zip (216.4 kB view details)

Uploaded Source

File details

Details for the file jni-1.0.0b17.zip.

File metadata

  • Download URL: jni-1.0.0b17.zip
  • Upload date:
  • Size: 216.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for jni-1.0.0b17.zip
Algorithm Hash digest
SHA256 93e21ec6aa57645c8e02674140fabb9c42cf8a51759acb6a50e29c7de675e1bc
MD5 e5ada4ad5c5243f8ffec987d12a8aa6c
BLAKE2b-256 d0fb7876aa264022477d115c8bb297cdb8cb51fcf542a8df3ef0f8c78c74594a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page