Skip to main content
Pre-release

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

jtypes.pyjava

A Python to Java bridge.

Overview

jtypes.pyjava is a bridge allowing to use Java classes in regular Python code.

PyPI record.

Documentation.

jtypes.pyjava is an almost fully compliant implementation of Remi Rampin’s PyJava package by reimplementing whole its functionality in a clean Python instead of C.
jtypes.pyjava package is closely based on the jvm and jni Python packages.

About PyJava:

Borrowed from the original website:

PyJava is a bridge allowing to use Java classes in regular Python code.
It is similar to JPype.

It is a C extension that uses JNI to access a Java virtual machine, meaning that it can be used anywhere Python is available. It is not a different interpreter like Jython and does not require anything, other than a JRE. The JVM dynamic library is load dynamically through pyjava.start() (some basic logic for locating this library on major platforms will be provided).

The integration with Java code is meant to be as complete as possible, allowing to use Java and Python objects seemlessly and converting objects back and forth when Java code is called. Furthermore, subclassing Java classes or interfaces in Python code to allow callback from Java is planned for the 0.2 version.

Please note that this extension is still at a very early stage of development and probably shouldn’t be used for anything.

Requirements

  • Either the Sun/Oracle JRE/JDK or OpenJDK.

Installation

Prerequisites:

To install run:

python -m pip install --upgrade jtypes.pyjava

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/jtypes.pyjava.git jtypes.pyjava

and run:

python -m pip install ./jtypes.pyjava

or on development mode:

python -m pip install --editable ./jtypes.pyjava

License

Copyright (c) 2016-2024 Adam Karpierz
Licensed under the MIT License
Please refer to the accompanying LICENSE file.

Authors

Changelog

0.1.5b8 (2024-11-08)

  • Add support for Python 3.10, 3.11, 3.12 and 3.13

  • Drop support for Python 3.7 and 3.8

  • Add support for PyPy 3.9 and 3.10

  • Copyright year update.

  • Setup update (currently based on pyproject.toml).

  • Tox configuration has been moved to pyproject.toml
    and now based on tox >= 4.0
  • Setup (dependencies) update.

0.1.5b6 (2022-01-29)

  • Drop support for Python 3.6.

  • Setup update.

0.1.5b5 (2021-10-16)

  • dll_path argument of JVM() can also be type os.PathLike.

  • Copyright year update.

  • Setup update.

0.1.5b2 (2020-11-10)

  • Fix for exception handling in start(…).

  • Add support for Python 3.8 and 3.9.

  • Drop support for Python2.

  • General update, improvements and cleanup.

  • Setup update.

0.1.5a10 (2019-07-10)

  • Last release for Python2.

0.1.5a9 (2018-11-08)

  • Update of the required setuptools version.

  • Minor setup and tests improvements.

0.1.5a5 (2018-05-22)

  • Update of the required setuptools version.

0.1.5a4 (2018-02-26)

  • Improvement and simplification of setup and packaging.

0.1.5a3 (2018-01-29)

  • Development moved to github.

  • General improvements and update.

0.0.16a1 (2017-05-13)

0.0.15a2 (2017-01-03)

  • Next alpha releases.

0.0.10a1 (2016-09-24)

  • First alpha release.

0.0.1 (2016-01-05)

  • Initial version.

Release files for jtypes.pyjava 0.1.5b8

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

Source distribution (sdist)

Source distribution for jtypes.pyjava 0.1.5b8
File Size Uploaded
jtypes_pyjava-0.1.5b8.zip 66.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jtypes.pyjava 0.1.5b8
File Interpreter ABI Platform
jtypes.pyjava-0.1.5b8-py3-none-any.whl Python 3 none any Details

Total release size: 100.2 kB

Release files / jtypes_pyjava-0.1.5b8.zip

Download URL jtypes_pyjava-0.1.5b8.zip
Size 66.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c44a7851ec1d128526e3afd8e29b6c6400c0c5ce1b3f0d8225cc0280e00c1094
BLAKE2b-256 checksum
How to use checksums
0c6b662bf071c3e5254a9cd7e38be1d122d15a17e0eea5fc820ef7b8544c8bfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / jtypes.pyjava-0.1.5b8-py3-none-any.whl

Download URL jtypes.pyjava-0.1.5b8-py3-none-any.whl
Size 33.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d6c4134f54edb2397cbb5aee71e210e286751dd65ed16c8394c945a500b886d3
BLAKE2b-256 checksum
How to use checksums
fe88e3504796fc0d7b46bb2ff3eafb54610d388c07a7ac8c5414b31b9c0aa44d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7
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