Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Authors

Changelog

1.2.0b1 (2025-06-17)

  • Add support for Python 3.14

  • Add support for PyPy 3.11

  • Drop support for Python 3.9 (due to compatibility issues).

  • Drop support for PyPy 3.9

  • Drop support for Oracle Java 1.8 (jdk, jre) due to licensing issues
    and the end of support from Oracle.
  • Update readthedocs’s python to version 3.13

  • Update tox’s base_python to version 3.13

  • The distribution is now created using ‘build’ instead of ‘setuptools’.

  • Copyright year update.

  • Setup (dependencies) update.

1.1.0b6 (2024-12-01)

  • Fixes for embedded python.

  • Java 17 is now the primary build/test environment.

  • Add support for Python 3.13

  • Drop support for Python 3.8

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

  • Unittest have been performed for much more JVMs.

  • Tox configuration is now in native (toml) format.

  • 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.

Metadata

Release files for jni 1.2.0b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jni 1.2.0b1
File Size Uploaded
jni-1.2.0b1.tar.gz 250.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for jni 1.2.0b1
File
jni-1.2.0b1-pp311-pypy311_pp73-win_amd64.whl PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 Details
jni-1.2.0b1-pp310-pypy310_pp73-win_amd64.whl PyPy 3.10 PyPy 3.10 7.3 Windows x86-64 Details
jni-1.2.0b1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
jni-1.2.0b1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
jni-1.2.0b1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
jni-1.2.0b1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
jni-1.2.0b1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details

Total release size: 1.3 MB

Release files / jni-1.2.0b1.tar.gz

Download URL jni-1.2.0b1.tar.gz
Size 250.9 kB
Tags Source
SHA-256 checksum
How to use checksums
70938d9bd9fe8dd540725740116d23e678aa581ffb3ed3cb8af113cff6f4803d
BLAKE2b-256 checksum
How to use checksums
53a06a82e1f0aa2fe9d87980455349e2ee5e42a18466151b4887e131c87de25c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / jni-1.2.0b1-pp311-pypy311_pp73-win_amd64.whl

Download URL jni-1.2.0b1-pp311-pypy311_pp73-win_amd64.whl
Size 152.7 kB
Tags PyPy 3.11 PyPy 3.11 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
351a19d6226741d01ced1c3acd8fe9e9e8f382a9ae7c3f1e17812cb461971f59
BLAKE2b-256 checksum
How to use checksums
f5b90f118c7f7e0c5f4962813c74bc29bffadd4c17817c5b4800a4e9d40523d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / jni-1.2.0b1-pp310-pypy310_pp73-win_amd64.whl

Download URL jni-1.2.0b1-pp310-pypy310_pp73-win_amd64.whl
Size 153.7 kB
Tags PyPy 3.10 PyPy 3.10 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
4d23452ddbb4f8c84b826dc1ce4016cce5e4546662fc02ffce0e445928d89231
BLAKE2b-256 checksum
How to use checksums
5a257c20d8c75f6a72efaacbcd18a121ff577a5fb34eeadfc23921f85af148e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / jni-1.2.0b1-cp314-cp314-win_amd64.whl

Download URL jni-1.2.0b1-cp314-cp314-win_amd64.whl
Size 153.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
55b88b333d91ac205b3c7dc41ae690a133903e80928af94163325d73f0e0c351
BLAKE2b-256 checksum
How to use checksums
af57a2c2641a0a85401677912bd5d5c74d6b6417f70659db0e7f56ceb7d04461
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / jni-1.2.0b1-cp313-cp313-win_amd64.whl

Download URL jni-1.2.0b1-cp313-cp313-win_amd64.whl
Size 149.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
de195412bcfc3522add30dd81c3bdecd3d49e6845251d884c3fe36f85e2b4aaf
BLAKE2b-256 checksum
How to use checksums
4badd843dfed31ca1d50350bd229b4724b4987baa431d3ac87593949f90b4658
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / jni-1.2.0b1-cp312-cp312-win_amd64.whl

Download URL jni-1.2.0b1-cp312-cp312-win_amd64.whl
Size 149.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3307d911fc8f848d0737ede1111b544f043207707f8dcef4f9b3ee58e9670069
BLAKE2b-256 checksum
How to use checksums
2429f7fe9c3aa80990bb500257920b1aac287d15ee00f2f84daab88e34f6bc37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / jni-1.2.0b1-cp311-cp311-win_amd64.whl

Download URL jni-1.2.0b1-cp311-cp311-win_amd64.whl
Size 155.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8dfc98ba49d29db1cc1eff2632795222c95e5f314faedb506ef30daaa62e66cf
BLAKE2b-256 checksum
How to use checksums
87eb67189a19a5d92901ece262458000b93f95f9c98dab2f151e7bf17918a7a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / jni-1.2.0b1-cp310-cp310-win_amd64.whl

Download URL jni-1.2.0b1-cp310-cp310-win_amd64.whl
Size 135.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1e986215c5d6f748df50dcd953ec7a72e5bffbf855bc8704fb1c0a5d18afe993
BLAKE2b-256 checksum
How to use checksums
2288e5b690f0d7bb307f84872c950056fd091eaffcd5ecbe04131bc0698d53e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page