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

Authors

Changelog

1.1.0b5 (2024-11-08)

  • Add support for Python 3.13

  • Drop support for Python 3.8

  • jni.c and pvm.c (useful for embedded python applications) have been added.

  • Unittest have been performed for much more JVMs.

  • Setup fixes.

  • Setup (dependencies) update.

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.

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.1.0b5.zip (269.7 kB view details)

Uploaded Source

Built Distributions

jni-1.1.0b5-pp310-pypy310_pp73-win_amd64.whl (125.8 kB view details)

Uploaded PyPy Windows x86-64

jni-1.1.0b5-pp39-pypy39_pp73-win_amd64.whl (125.9 kB view details)

Uploaded PyPy Windows x86-64

jni-1.1.0b5-cp313-cp313-win_amd64.whl (127.1 kB view details)

Uploaded CPython 3.13 Windows x86-64

jni-1.1.0b5-cp312-cp312-win_amd64.whl (127.7 kB view details)

Uploaded CPython 3.12 Windows x86-64

jni-1.1.0b5-cp311-cp311-win_amd64.whl (128.2 kB view details)

Uploaded CPython 3.11 Windows x86-64

jni-1.1.0b5-cp310-cp310-win_amd64.whl (128.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

jni-1.1.0b5-cp39-cp39-win_amd64.whl (128.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

File details

Details for the file jni-1.1.0b5.zip.

File metadata

  • Download URL: jni-1.1.0b5.zip
  • Upload date:
  • Size: 269.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jni-1.1.0b5.zip
Algorithm Hash digest
SHA256 b42b02421ad531695a7bfaaf2844e75be4f5c48bd822a18cd9c2d7e4c0eaf67d
MD5 6c2aa7d469878a1e46792c3dd0bc0eb8
BLAKE2b-256 5e7adaeb4e18e39b0b49e9ccd5be60917154988afb52627da97aeeaee9808df0

See more details on using hashes here.

File details

Details for the file jni-1.1.0b5-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for jni-1.1.0b5-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a9e016accf383e9e0fec2ffa2f6e1bcec4d0e2b6925dd3a36bbd5ed2895001f4
MD5 28262126810b0badb87fb572f4836552
BLAKE2b-256 e312861f4acd54975ef28d4a9eb584247ed79188ca71a30c489795476862441c

See more details on using hashes here.

File details

Details for the file jni-1.1.0b5-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for jni-1.1.0b5-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 60425c22cc3f1ad7e3e2ce65421cf0da7a80a39bd4f5bbe93760f3ca1652a66b
MD5 67ca4b6c245d9da7070db1c8aee1fe98
BLAKE2b-256 65923b673736e5a282c8dab79a8c6ee6e6b945721bdeedf2e6979d371e97819d

See more details on using hashes here.

File details

Details for the file jni-1.1.0b5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: jni-1.1.0b5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 127.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jni-1.1.0b5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 34489d7d8ccb701ea4e0bbd7fb572008a28af5e5b38a1946d8c2bf2a3d4f902f
MD5 5377599b488e0343946abf16b573a31f
BLAKE2b-256 d22139a4ead912507fa1d1dd60563badab8ad82d952155efc6c464cb0c9dfb65

See more details on using hashes here.

File details

Details for the file jni-1.1.0b5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: jni-1.1.0b5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 127.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jni-1.1.0b5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4c045c80d90d34b09b1c0623892194330654b3cdcfddf7b4ea8cc025c0b2fa05
MD5 876530ed513bba687f9571714cc66c80
BLAKE2b-256 b8da8c75de230969786da5750bd5efbcae828e1ebf5d2c6f7117c52a9948a0f1

See more details on using hashes here.

File details

Details for the file jni-1.1.0b5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: jni-1.1.0b5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 128.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jni-1.1.0b5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a928cd65cdaa69f0071f767c72b8362ef2fea83ab62f25d514f892baaaaf1ff8
MD5 cf3651f202ba457bcefc85ba703a8e64
BLAKE2b-256 dadd4421207c1b23cb7a461947ee6ddfcd48f16fb6b181ec8003dec439d92799

See more details on using hashes here.

File details

Details for the file jni-1.1.0b5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: jni-1.1.0b5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 128.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jni-1.1.0b5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d3cd71905133e8b0bc3465b3058ba23e155da27cf93906b13ce88759c7923533
MD5 d3186d8665dfd5e636177dbc617f4496
BLAKE2b-256 a5f8fb720d6bc38ab9c2060a7065dc015e35d7036742594b82998c7cc08463cd

See more details on using hashes here.

File details

Details for the file jni-1.1.0b5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: jni-1.1.0b5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 128.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jni-1.1.0b5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 50c7d79b63e40281c5f6f55e1b8aa295b45954a35a96f6d599d3d18443dfad3b
MD5 f98813fa606bce3d67347a6ca97257fd
BLAKE2b-256 6cf76acfe2ef50346cb9a25e3f48ea35222a869f07db978ac6ea29e265286a64

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