Python bridge for the Java Virtual Machine.
Project description
jvm
Python bridge for the Java Virtual Machine.
Overview
What is jvm:
Eventually, it should be possible to replace Java with python in many, though not all, situations. JSP, Servlets, RMI servers and IDE plugins are good candidates.
Once this integration is achieved, a second phase will be started to separate the Java logic from the Python logic, eventually allowing the bridging technology to be used in other environments, I.E. Ruby, Perl, COM, etc …
- Known Bugs/Limitations :
Java classes outside of a package (in the <default>) cannot be imported.
Because of lack of JVM support, you cannot shutdown the JVM and then restart it.
Some methods rely on the “current” class/caller. Since calls coming directly from python code do not have a current class, these methods do not work. The User Manual lists all the known methods like that.
Installation
Prerequisites:
Python 3.7 or higher
3.7 with Java 8 is a primary test environment.
pip and setuptools
To install run:
python -m pip install --upgrade jvm
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/jvm.git jvm
and run:
python -m pip install ./jvm
or on development mode:
python -m pip install --editable ./jvm
License
Copyright (c) 2004-2022 Adam KarpierzLicensed under CC BY-NC-ND 4.0Licensed under proprietary LicensePlease refer to the accompanying LICENSE file.
Changelog
0.5.0b7 (2022-01-29)
Drop support for Python 3.6.
Setup update.
0.5.0b5 (2021-10-16)
dll_path argument of JVM() can also be type os.PathLike.
Copyright year update.
Setup update.
0.5.0b3 (2020-12-13)
Add support for Python 3.9.
General update, improvements and cleanup.
Setup update.
Elimination of dependence on _testcapi.
0.4.0b3 (2020-03-08)
Drop support for Python2.
Update of Mozilla Rhino.
Update of license info.
Setup update.
0.3.0b2 (2019-07-10)
Last release for Python2.
0.3.0b1 (2018-11-08)
Bug fixes and improvements.
Add Java 10 support.
Update of the required setuptools version.
Setup and tests improvements.
0.2.0b3 (2018-05-29)
Bug fixes and improvements in Java 9 support.
Improved support for Cygwin.
Update of Mozilla Rhino.
Update of the required setuptools version.
0.2.0b1 (2018-02-26)
Improvement and simplification of setup and packaging.
0.1.1 (2005-10-05)
Initial version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jvm-0.5.0b7.zip
.
File metadata
- Download URL: jvm-0.5.0b7.zip
- Upload date:
- Size: 4.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcff0da3d65fcb5e3f524c214121d849b48eb73545f96e6d7f044587642843a8 |
|
MD5 | c0d00d9c2dc58437243c8c2957869ebb |
|
BLAKE2b-256 | c9b121322fbc4cc68a2556770b5da1485675f537b11341fcc5ce97cbc15d4829 |
File details
Details for the file jvm-0.5.0b7-py3-none-any.whl
.
File metadata
- Download URL: jvm-0.5.0b7-py3-none-any.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3b193fd5ad290571f15fe274fabf9ed9411b7ec7a12f2e2e19d92b5b1120eb7 |
|
MD5 | 931684b7801a4ef0a333263cfcbba3ff |
|
BLAKE2b-256 | 7847345ec9caefe665a3fb668e49b4fab084ce29c025e2f57a098850ec2e8a24 |