jvm
===
Python bridge for the Java Virtual Machine.
Overview
========
| |package_bold| is a bridge between Python and JVM, allowing these to intercommunicate.
| It is an effort to allow Python programs full access to Java class libraries.
`PyPI record`_.
`Documentation`_.
| |package_bold| package is closely based on the `jni`_ Python package.
What is |package|:
------------------
| |package_bold| is an effort to allow Python programs full access to Java class libraries.
| This is achieved not through re-implementing Python, as Jython has done, but rather
through interfacing at the native level in both virtual machines.
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.9 or higher
* https://www.python.org/
* Java 11 is a primary test environment.
+ pip and setuptools
* https://pypi.org/project/pip/
* https://pypi.org/project/setuptools/
To install run:
.. parsed-literal::
python -m pip install --upgrade |package|
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:
.. parsed-literal::
git clone |respository| |package|
and run:
.. parsed-literal::
python -m pip install ./|package|
or on development mode:
.. parsed-literal::
python -m pip install --editable ./|package|
License
=======
| |copyright|
| Licensed under CC BY-NC-ND 4.0
| Licensed under proprietary License
| Please refer to the accompanying LICENSE file.
Authors
=======
* Adam Karpierz <adam@karpierz.net>
.. |package| replace:: jvm
.. |package_bold| replace:: **jvm**
.. |copyright| replace:: Copyright (c) 2004-2024 Adam Karpierz
.. |respository| replace:: https://github.com/karpierz/jvm.git
.. _Development page: https://github.com/karpierz/jvm
.. _PyPI record: https://pypi.org/project/jvm/
.. _Documentation: https://jvm.readthedocs.io/
.. _jni: https://pypi.org/project/jni/
Changelog
=========
0.6.0b5 (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
- pvm.h has been included for further development.
- Tox configuration has been moved to pyproject.toml
- Setup update (now based on tox >= 4.0).
- Fix the bug in lib/classproperty.
- Fixes for bugs in JVMFinder's.
- Copyright year update.
- Unittest have been performed for much more JVMs.
- Setup fixes.
- Setup (dependencies) update.
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.
Raw data
{
"_id": null,
"home_page": null,
"name": "jvm",
"maintainer": "Adam Karpierz",
"docs_url": null,
"requires_python": "<4.0.0,>=3.9.0",
"maintainer_email": "adam@karpierz.net",
"keywords": "jni, jvm, jtypes, jt, jpype, jep, pyjnius, jpy, javabridge, pyjava, jcc, py4j, jython, java, pythonjava, rubicon-java",
"author": "Adam Karpierz",
"author_email": "adam@karpierz.net",
"download_url": "https://files.pythonhosted.org/packages/b3/12/eb872169493fb7e16762748db5df8a96b96240eeb249ff125a4f7bc1ca82/jvm-0.6.0b5.zip",
"platform": "any",
"description": "jvm\r\n===\r\n\r\nPython bridge for the Java Virtual Machine.\r\n\r\nOverview\r\n========\r\n\r\n| |package_bold| is a bridge between Python and JVM, allowing these to intercommunicate.\r\n| It is an effort to allow Python programs full access to Java class libraries.\r\n\r\n`PyPI record`_.\r\n\r\n`Documentation`_.\r\n\r\n| |package_bold| package is closely based on the `jni`_ Python package.\r\n\r\nWhat is |package|:\r\n------------------\r\n\r\n| |package_bold| is an effort to allow Python programs full access to Java class libraries.\r\n| This is achieved not through re-implementing Python, as Jython has done, but rather\r\n through interfacing at the native level in both virtual machines.\r\n\r\nEventually, it should be possible to replace Java with python in many, though not all,\r\nsituations. JSP, Servlets, RMI servers and IDE plugins are good candidates.\r\n\r\nOnce this integration is achieved, a second phase will be started to separate the Java\r\nlogic from the Python logic, eventually allowing the bridging technology to be used\r\nin other environments, I.E. Ruby, Perl, COM, etc ...\r\n\r\nKnown Bugs/Limitations :\r\n * Java classes outside of a package (in the <default>) cannot be imported.\r\n * Because of lack of JVM support, you cannot shutdown the JVM and then restart it.\r\n * Some methods rely on the \"current\" class/caller. Since calls coming directly from\r\n python code do not have a current class, these methods do not work. The User Manual\r\n lists all the known methods like that.\r\n\r\nInstallation\r\n============\r\n\r\nPrerequisites:\r\n\r\n+ Python 3.9 or higher\r\n\r\n * https://www.python.org/\r\n * Java 11 is a primary test environment.\r\n\r\n+ pip and setuptools\r\n\r\n * https://pypi.org/project/pip/\r\n * https://pypi.org/project/setuptools/\r\n\r\nTo install run:\r\n\r\n .. parsed-literal::\r\n\r\n python -m pip install --upgrade |package|\r\n\r\nDevelopment\r\n===========\r\n\r\nPrerequisites:\r\n\r\n+ Development is strictly based on *tox*. To install it run::\r\n\r\n python -m pip install --upgrade tox\r\n\r\nVisit `Development page`_.\r\n\r\nInstallation from sources:\r\n\r\nclone the sources:\r\n\r\n .. parsed-literal::\r\n\r\n git clone |respository| |package|\r\n\r\nand run:\r\n\r\n .. parsed-literal::\r\n\r\n python -m pip install ./|package|\r\n\r\nor on development mode:\r\n\r\n .. parsed-literal::\r\n\r\n python -m pip install --editable ./|package|\r\n\r\nLicense\r\n=======\r\n\r\n | |copyright|\r\n | Licensed under CC BY-NC-ND 4.0\r\n | Licensed under proprietary License\r\n | Please refer to the accompanying LICENSE file.\r\n\r\nAuthors\r\n=======\r\n\r\n* Adam Karpierz <adam@karpierz.net>\r\n\r\n.. |package| replace:: jvm\r\n.. |package_bold| replace:: **jvm**\r\n.. |copyright| replace:: Copyright (c) 2004-2024 Adam Karpierz\r\n.. |respository| replace:: https://github.com/karpierz/jvm.git\r\n.. _Development page: https://github.com/karpierz/jvm\r\n.. _PyPI record: https://pypi.org/project/jvm/\r\n.. _Documentation: https://jvm.readthedocs.io/\r\n.. _jni: https://pypi.org/project/jni/\r\n\r\nChangelog\r\n=========\r\n\r\n0.6.0b5 (2024-11-08)\r\n--------------------\r\n- Add support for Python 3.10, 3.11, 3.12 and 3.13\r\n- Drop support for Python 3.7 and 3.8\r\n- Add support for PyPy 3.9 and 3.10\r\n- pvm.h has been included for further development.\r\n- Tox configuration has been moved to pyproject.toml\r\n- Setup update (now based on tox >= 4.0).\r\n- Fix the bug in lib/classproperty.\r\n- Fixes for bugs in JVMFinder's.\r\n- Copyright year update.\r\n- Unittest have been performed for much more JVMs.\r\n- Setup fixes.\r\n- Setup (dependencies) update.\r\n\r\n0.5.0b7 (2022-01-29)\r\n--------------------\r\n- Drop support for Python 3.6\r\n- Setup update.\r\n\r\n0.5.0b5 (2021-10-16)\r\n--------------------\r\n- dll_path argument of JVM() can also be type os.PathLike.\r\n- Copyright year update.\r\n- Setup update.\r\n\r\n0.5.0b3 (2020-12-13)\r\n--------------------\r\n- Add support for Python 3.9\r\n- General update, improvements and cleanup.\r\n- Setup update.\r\n- Elimination of dependence on _testcapi.\r\n\r\n0.4.0b3 (2020-03-08)\r\n--------------------\r\n- Drop support for Python2\r\n- Update of Mozilla Rhino.\r\n- Update of license info.\r\n- Setup update.\r\n\r\n0.3.0b2 (2019-07-10)\r\n--------------------\r\n- Last release for Python2\r\n\r\n0.3.0b1 (2018-11-08)\r\n--------------------\r\n- Bug fixes and improvements.\r\n- Add Java 10 support.\r\n- Update of the required setuptools version.\r\n- Setup and tests improvements.\r\n\r\n0.2.0b3 (2018-05-29)\r\n--------------------\r\n- Bug fixes and improvements in Java 9 support.\r\n- Improved support for Cygwin.\r\n- Update of Mozilla Rhino.\r\n- Update of the required setuptools version.\r\n\r\n0.2.0b1 (2018-02-26)\r\n--------------------\r\n- Improvement and simplification of setup and packaging.\r\n\r\n0.1.1 (2005-10-05)\r\n------------------\r\n- Initial version.\r\n",
"bugtrack_url": null,
"license": "Creative Commons BY-NC-ND 4.0 License ; https://creativecommons.org/licenses/by-nc-nd/4.0 ; Copyright (c) 2004-2024 Adam Karpierz, All Rights Reserved, Licensed under proprietary License",
"summary": "Python bridge for the Java Virtual Machine.",
"version": "0.6.0b5",
"project_urls": {
"Documentation": "https://jvm.readthedocs.io/",
"Download": "https://pypi.org/project/jvm/",
"Homepage": "https://pypi.org/project/jvm/",
"Issues": "https://github.com/karpierz/jvm/issues",
"Source": "https://github.com/karpierz/jvm"
},
"split_keywords": [
"jni",
" jvm",
" jtypes",
" jt",
" jpype",
" jep",
" pyjnius",
" jpy",
" javabridge",
" pyjava",
" jcc",
" py4j",
" jython",
" java",
" pythonjava",
" rubicon-java"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b69174c03bdcb97549a2ecc6ae5c593270de064abefe600f368c8c5c520f7a20",
"md5": "4631f5afed70ce2ca15d922eb407a8ba",
"sha256": "7a164ce90e5c1a64b174be46b887ccdab4ad4fea430a9407d43d5866b0ac297d"
},
"downloads": -1,
"filename": "jvm-0.6.0b5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4631f5afed70ce2ca15d922eb407a8ba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.9.0",
"size": 4512526,
"upload_time": "2024-11-08T15:24:45",
"upload_time_iso_8601": "2024-11-08T15:24:45.893094Z",
"url": "https://files.pythonhosted.org/packages/b6/91/74c03bdcb97549a2ecc6ae5c593270de064abefe600f368c8c5c520f7a20/jvm-0.6.0b5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b312eb872169493fb7e16762748db5df8a96b96240eeb249ff125a4f7bc1ca82",
"md5": "8314531191762e6c0b2c9cfa4bf24b37",
"sha256": "7d4b3d968ef56988dbf6a64715cc322ce8d057be2c7824f15ee140646aabb1d6"
},
"downloads": -1,
"filename": "jvm-0.6.0b5.zip",
"has_sig": false,
"md5_digest": "8314531191762e6c0b2c9cfa4bf24b37",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.9.0",
"size": 4548174,
"upload_time": "2024-11-08T15:24:50",
"upload_time_iso_8601": "2024-11-08T15:24:50.969793Z",
"url": "https://files.pythonhosted.org/packages/b3/12/eb872169493fb7e16762748db5df8a96b96240eeb249ff125a4f7bc1ca82/jvm-0.6.0b5.zip",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-08 15:24:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "karpierz",
"github_project": "jvm",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "jvm"
}