jni
===
Python bridge for the Java Native Interface.
Overview
========
| |package_bold| 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`_.
| |package_bold| 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++.
| |package_bold| also contains a JNI wrapper in pure C based on Python C-API (currently under
development) - mainly for performance reasons.
What is |package|:
------------------
| |package_bold| 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:
+ 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:: jni
.. |package_bold| replace:: **jni**
.. |copyright| replace:: Copyright (c) 2004-2024 Adam Karpierz
.. |respository| replace:: https://github.com/karpierz/jni.git
.. _Development page: https://github.com/karpierz/jni
.. _PyPI record: https://pypi.org/project/jni/
.. _Documentation: https://jni.readthedocs.io/
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.
Raw data
{
"_id": null,
"home_page": null,
"name": "jni",
"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/5e/7a/daeb4e18e39b0b49e9ccd5be60917154988afb52627da97aeeaee9808df0/jni-1.1.0b5.zip",
"platform": "any",
"description": "jni\r\n===\r\n\r\nPython bridge for the Java Native Interface.\r\n\r\nOverview\r\n========\r\n\r\n| |package_bold| is a complete bridge between Python and Java JNI.\r\n| It is an effort to allow python programs full access to Java JNI API.\r\n\r\n`PyPI record`_.\r\n\r\n`Documentation`_.\r\n\r\n| |package_bold| is a lightweight Python package, based on the *ctypes*, or *cffi* library,\r\n or Cython wrapper (currently under development).\r\n| It is done by implementing whole JNI API functionality in a clean Python instead of C/C++.\r\n| |package_bold| also contains a JNI wrapper in pure C based on Python C-API (currently under\r\n development) - mainly for performance reasons.\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 JNI API.\r\n| This is achieved not through re-implementing Python, as Jython has done,\r\n but rather through interfacing at the native level in both virtual machines.\r\n\r\nKnown Bugs/Limitations :\r\n * Because of lack of JVM support, you cannot shutdown the JVM and then restart it.\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:: jni\r\n.. |package_bold| replace:: **jni**\r\n.. |copyright| replace:: Copyright (c) 2004-2024 Adam Karpierz\r\n.. |respository| replace:: https://github.com/karpierz/jni.git\r\n.. _Development page: https://github.com/karpierz/jni\r\n.. _PyPI record: https://pypi.org/project/jni/\r\n.. _Documentation: https://jni.readthedocs.io/\r\n\r\nChangelog\r\n=========\r\n\r\n1.1.0b5 (2024-11-08)\r\n--------------------\r\n- Add support for Python 3.13\r\n- Drop support for Python 3.8\r\n- jni.c and pvm.c (useful for embedded python applications) have been added.\r\n- Unittest have been performed for much more JVMs.\r\n- Setup fixes.\r\n- Setup (dependencies) update.\r\n\r\n1.0.0b22 (2024-01-26)\r\n---------------------\r\n- Tox configuration has been moved to pyproject.toml\r\n- Setup update (now based on tox >= 4.0).\r\n- Add support for Python 3.10, 3.11 and 3.12\r\n- Drop support for Python 3.7\r\n- Add support for PyPy 3.9 and 3.10\r\n- Copyright year update.\r\n\r\n1.0.0b20 (2022-01-29)\r\n---------------------\r\n- Drop support for Python 3.6\r\n- Setup update.\r\n\r\n1.0.0b18 (2021-10-13)\r\n---------------------\r\n- dll_path argument of load() can also be type os.PathLike.\r\n- Copyright year update.\r\n- Setup update.\r\n\r\n1.0.0b17 (2020-11-10)\r\n---------------------\r\n- Add support for Python 3.9\r\n- General update, improvements and cleanup.\r\n- Setup update and improvements.\r\n- Fixed docs setup.\r\n\r\n1.0.0b7 (2020-03-08)\r\n--------------------\r\n- Drop support for Python2\r\n- Update of license info.\r\n- Setup update.\r\n\r\n1.0.0b4 (2019-07-10)\r\n--------------------\r\n- Last release for Python2\r\n\r\n1.0.0b3 (2018-05-22)\r\n--------------------\r\n- Update of the required setuptools version.\r\n\r\n1.0.0b2 (2018-02-26)\r\n--------------------\r\n- Improvement and simplification of setup and packaging.\r\n\r\n1.0.0b1 (2017-11-18)\r\n--------------------\r\n- First 'official' version.\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 Native Interface.",
"version": "1.1.0b5",
"project_urls": {
"Documentation": "https://jni.readthedocs.io/",
"Download": "https://pypi.org/project/jni/",
"Homepage": "https://pypi.org/project/jni/",
"Issues": "https://github.com/karpierz/jni/issues",
"Source": "https://github.com/karpierz/jni"
},
"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": "a5f8fb720d6bc38ab9c2060a7065dc015e35d7036742594b82998c7cc08463cd",
"md5": "d3186d8665dfd5e636177dbc617f4496",
"sha256": "d3cd71905133e8b0bc3465b3058ba23e155da27cf93906b13ce88759c7923533"
},
"downloads": -1,
"filename": "jni-1.1.0b5-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "d3186d8665dfd5e636177dbc617f4496",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0.0,>=3.9.0",
"size": 128119,
"upload_time": "2024-11-09T08:59:38",
"upload_time_iso_8601": "2024-11-09T08:59:38.005793Z",
"url": "https://files.pythonhosted.org/packages/a5/f8/fb720d6bc38ab9c2060a7065dc015e35d7036742594b82998c7cc08463cd/jni-1.1.0b5-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dadd4421207c1b23cb7a461947ee6ddfcd48f16fb6b181ec8003dec439d92799",
"md5": "cf3651f202ba457bcefc85ba703a8e64",
"sha256": "a928cd65cdaa69f0071f767c72b8362ef2fea83ab62f25d514f892baaaaf1ff8"
},
"downloads": -1,
"filename": "jni-1.1.0b5-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "cf3651f202ba457bcefc85ba703a8e64",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0.0,>=3.9.0",
"size": 128223,
"upload_time": "2024-11-09T08:59:40",
"upload_time_iso_8601": "2024-11-09T08:59:40.262908Z",
"url": "https://files.pythonhosted.org/packages/da/dd/4421207c1b23cb7a461947ee6ddfcd48f16fb6b181ec8003dec439d92799/jni-1.1.0b5-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b8da8c75de230969786da5750bd5efbcae828e1ebf5d2c6f7117c52a9948a0f1",
"md5": "876530ed513bba687f9571714cc66c80",
"sha256": "4c045c80d90d34b09b1c0623892194330654b3cdcfddf7b4ea8cc025c0b2fa05"
},
"downloads": -1,
"filename": "jni-1.1.0b5-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "876530ed513bba687f9571714cc66c80",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0.0,>=3.9.0",
"size": 127663,
"upload_time": "2024-11-09T08:59:41",
"upload_time_iso_8601": "2024-11-09T08:59:41.564588Z",
"url": "https://files.pythonhosted.org/packages/b8/da/8c75de230969786da5750bd5efbcae828e1ebf5d2c6f7117c52a9948a0f1/jni-1.1.0b5-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d22139a4ead912507fa1d1dd60563badab8ad82d952155efc6c464cb0c9dfb65",
"md5": "5377599b488e0343946abf16b573a31f",
"sha256": "34489d7d8ccb701ea4e0bbd7fb572008a28af5e5b38a1946d8c2bf2a3d4f902f"
},
"downloads": -1,
"filename": "jni-1.1.0b5-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "5377599b488e0343946abf16b573a31f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0.0,>=3.9.0",
"size": 127133,
"upload_time": "2024-11-09T08:59:44",
"upload_time_iso_8601": "2024-11-09T08:59:44.440314Z",
"url": "https://files.pythonhosted.org/packages/d2/21/39a4ead912507fa1d1dd60563badab8ad82d952155efc6c464cb0c9dfb65/jni-1.1.0b5-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6cf76acfe2ef50346cb9a25e3f48ea35222a869f07db978ac6ea29e265286a64",
"md5": "f98813fa606bce3d67347a6ca97257fd",
"sha256": "50c7d79b63e40281c5f6f55e1b8aa295b45954a35a96f6d599d3d18443dfad3b"
},
"downloads": -1,
"filename": "jni-1.1.0b5-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "f98813fa606bce3d67347a6ca97257fd",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0.0,>=3.9.0",
"size": 128710,
"upload_time": "2024-11-09T08:59:46",
"upload_time_iso_8601": "2024-11-09T08:59:46.249986Z",
"url": "https://files.pythonhosted.org/packages/6c/f7/6acfe2ef50346cb9a25e3f48ea35222a869f07db978ac6ea29e265286a64/jni-1.1.0b5-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e312861f4acd54975ef28d4a9eb584247ed79188ca71a30c489795476862441c",
"md5": "28262126810b0badb87fb572f4836552",
"sha256": "a9e016accf383e9e0fec2ffa2f6e1bcec4d0e2b6925dd3a36bbd5ed2895001f4"
},
"downloads": -1,
"filename": "jni-1.1.0b5-pp310-pypy310_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "28262126810b0badb87fb572f4836552",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": "<4.0.0,>=3.9.0",
"size": 125777,
"upload_time": "2024-11-09T08:59:47",
"upload_time_iso_8601": "2024-11-09T08:59:47.495416Z",
"url": "https://files.pythonhosted.org/packages/e3/12/861f4acd54975ef28d4a9eb584247ed79188ca71a30c489795476862441c/jni-1.1.0b5-pp310-pypy310_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "65923b673736e5a282c8dab79a8c6ee6e6b945721bdeedf2e6979d371e97819d",
"md5": "67ca4b6c245d9da7070db1c8aee1fe98",
"sha256": "60425c22cc3f1ad7e3e2ce65421cf0da7a80a39bd4f5bbe93760f3ca1652a66b"
},
"downloads": -1,
"filename": "jni-1.1.0b5-pp39-pypy39_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "67ca4b6c245d9da7070db1c8aee1fe98",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": "<4.0.0,>=3.9.0",
"size": 125855,
"upload_time": "2024-11-09T08:59:48",
"upload_time_iso_8601": "2024-11-09T08:59:48.718483Z",
"url": "https://files.pythonhosted.org/packages/65/92/3b673736e5a282c8dab79a8c6ee6e6b945721bdeedf2e6979d371e97819d/jni-1.1.0b5-pp39-pypy39_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e7adaeb4e18e39b0b49e9ccd5be60917154988afb52627da97aeeaee9808df0",
"md5": "6c2aa7d469878a1e46792c3dd0bc0eb8",
"sha256": "b42b02421ad531695a7bfaaf2844e75be4f5c48bd822a18cd9c2d7e4c0eaf67d"
},
"downloads": -1,
"filename": "jni-1.1.0b5.zip",
"has_sig": false,
"md5_digest": "6c2aa7d469878a1e46792c3dd0bc0eb8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.9.0",
"size": 269737,
"upload_time": "2024-11-09T08:59:49",
"upload_time_iso_8601": "2024-11-09T08:59:49.977609Z",
"url": "https://files.pythonhosted.org/packages/5e/7a/daeb4e18e39b0b49e9ccd5be60917154988afb52627da97aeeaee9808df0/jni-1.1.0b5.zip",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-09 08:59:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "karpierz",
"github_project": "jni",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "jni"
}