Skip to main content

Bi-directional Python-Java bridge

Project description

Build Status

jpy - a Python-Java Bridge

jpy is a bi-directional Python-Java bridge which you can use to embed Java code in Python programs or the other way round. It has been designed particularly with regard to maximum data transfer speed between the two languages. It comes with a number of outstanding features:

  • Fully translates Java class hierarchies to Python
  • Transparently handles Java method overloading
  • Support of Java multi-threading
  • Fast and memory-efficient support of primitive Java array parameters via Python buffers (e.g. Numpy arrays)
  • Support of Java methods that modify primitive Java array parameters (mutable parameters)
  • Java arrays translate into Python sequence objects
  • Java API for accessing Python objects (jpy.jar)

jpy has been tested with Python 3.9–3.14 and OpenJDK 11+ on Linux, Windows, and macOS.

The initial development of jpy was driven by the need to write Python extensions to an established scientific imaging application programmed in Java, namely the SNAP toolbox, the SeNtinel Application Platform project, funded by the European Space Agency (ESA). (jpy is bundled with the SNAP distribution.) Current development and maintenance is funded by Deephaven.

Writing such Python plug-ins for a Java application usually requires a bi-directional communication between Python and Java since the Python extension code must be able to call back into the Java APIs.

For more information please have a look into jpy's

How to build wheels for Linux and Mac

Install a JDK 11. Set JDK_HOME or JPY_JDK_HOME to point to your JDK installation and run the build script:

$ export JDK_HOME=<your-jdk-dir>
$ export JAVA_HOME=$JDK_HOME
$ pip install setuptools wheel
$ python setup.py build maven bdist_wheel

On success, the wheel is found in the dist directory.

To deploy the jpy.jar (if you don't know why you need this step, this is not for you)::

$ mvn clean deploy -DskipTests=true

How to build a wheel for Windows

Set JDK_HOME or JPY_JDK_HOME to point to your JDK installation. You'll need Windows SDK 7.1 or Visual Studio C++ to build the sources. With Windows SDK 7.1::

> SET VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
> SET DISTUTILS_USE_SDK=1
> C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\setenv /x64 /release
> SET JDK_HOME=<your-jdk-dir>
> pip install setuptools wheel
> python setup.py build maven bdist_wheel

With Visual Studio 14 and higher it is much easier::

> SET VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
> SET JDK_HOME=<your-jdk-dir>
> pip install setuptools wheel
> python setup.py build maven bdist_wheel

On success, the wheel can be found in the dist directory.

How to install from sources

TBD

Releasing jpy

The target reader of this section is a jpy developer wishing to release a new jpy version. Note: You need to have Sphinx installed to update the documentation.

  1. Make sure all Java and Python units tests run green
  2. Remove the -SNAPSHOT qualifier from versions names in both the Maven pom.xml and setup.py files, and update the version numbers and copyright years in jpyutil.py and doc/conf.py.
  3. Generate Java API doc by running mvn javadoc:javadoc which will update directory doc/_static
  4. Update documentation, cd doc and run make html
  5. http://peterdowns.com/posts/first-time-with-pypi.html

Running Tests

Run: python setup.py build test

Code Of Conduct

This project has adopted the Contributor Covenant Code of Conduct. For more information see the Code of Conduct or contact opencode@deephaven.io with any additional questions or comments.

Contributing

For instructions on contributing, see CONTRIBUTING.md.

Notes

Some of the details on this README are out of date. Efforts to improve them will be made in the future.

jpy Changelog

Version 2.0.0

This version bumps the minimum Java requirements from 8 to 11. See #226 for more details.

  • #226 fix: Fix a race caused by premature-finalization when calling a method on transient PyObjects
  • #228 Replace Java 23 with 25 in Check CI due to EOL
  • #229 Update top level documentation
  • #231 Fix the empty jar issue

Version 1.4.0

  • #220 Use Python built-in exception formating
  • #215 Bump actions/checkout from 5 to 6
  • #207 Bump actions/setup-python from 5 to 6
  • #223 Bump docker/setup-buildx-action from 3 to 4
  • #224 Bump docker/bake-action from 6.9.0 to 7.1.0
  • #221 Bump actions/download-artifact from 4 to 8
  • #222 Bump actions/upload-artifact from 4 to 7
  • #225 Bump docker/setup-qemu-action from 3 to 4

Version 1.3.0

  • #212 feat: Add 3.14 builds
  • #214 Remove 3.6, 3.7, 3.8 from project's metadata and related dead code in the code base

Version 1.2.0

  • #199 Call PyObject_IsTrue() to test truthiness

Version 1.1.0

  • #179 Improve libpython search with python's sysconfig INSTSONAME

Version 1.0.0

  • #176 fix: make PyObject cleanup thread-safe in free-threaded Python and reduce contention
  • #175 Update project's Development Status classifier

Version 0.19.0

  • #165 feat: free-threaded Python (3.13.0+) support
  • #168 Add Python 3.13 builds
  • #164 fix: Make org.jpy.PyLib.getCurrentLocals/Globals work for Python 3.13
  • #162 Find Zero-Assembler OpenJDK 21

Version 0.18.0

  • #158 Get the correct computed tb lineno
  • #153 Remove pip upgrade from CI
  • #150 Bump docker/bake-action from 4.5.0 to 4.6.0

Version 0.17.0

  • #146 Delay resolving super classes until referenced
  • #145 Use Py_ssize_t when calculate buffer len

Version 0.16.0

  • #128 Function for converting Python values to an explicit Java type
  • #132 Update auditwheel command to use --exclude
  • Various CI-related version bumps

Version 0.15.0

  • #112 Add jpy.byte_buffer() function
  • #119 Fix Mac OSX + OpenJDK builds where JAVA_HOME contains libexec but not lib
  • #121 Python 3.12 build
  • #109 Add aarch64 Linux wheels to build / release workflow
  • #113 Update build.yml actions

Version 0.14.0

  • #99 Check for exception in getInt/Long/DoubleValue()
  • #104 PyDictWrapper.values() incorrectly close the underlying PyObject while it is still referenced

Version 0.13.0

  • #96 Python 3.11 compatibility

Version 0.12.0

  • #88 Use valueOf() to box primitive values instead of creating new objects every time
  • #89 Add Java process lookup for 'java.home' in find_jvm_dll_file()
  • #85 Support creation of zero-sized primitive Java arrays

Version 0.11.1

  • #79 Produce usable / distributable macosx wheels

Version 0.11.0

  • Publish artifacts to PyPi. Source tarball and binary wheels for Python 3.6 - 3.10 for Linux, Mac, and Windows (x86_64).
  • Publish release to Maven Central with group id org.jpyconsortium and artifact id jpy. Java-8 compatible jars.
  • Many more changes.

Version 0.10

  • Add the ability to pass properties and options to write_config_files. These values get passed to the jvm when it is initialized. #180 Contribution by davidlehrian.
  • Make jpy work with Anaconda by setting environment variable PYTHONHOME from Java #143. Contribution by Dr-Irv.
  • Fixed: Constants are not properly passed from Java to Python when using interfaces #140. Contribution by Dr-Irv.
  • Fixed: Cannot iterate through a dict in Python 3.x #136. Contribution by Dr-Irv.
  • Automatically build 64-bit Python wheels for all Python versions from 3.4 to 3.8 on Linux, Windows, and Mac (fixes #174).

Version 0.9

This version includes a number of contributions from supportive GitHub users. Thanks to all of you!

Fixes

  • Corrected Java reference count of complex PyObject passed back and forth to methods (issue #120). Fix by sbarnoud.
  • Fixed problem where default methods on Java 8 Interfaces were not found (issue #102). Fix by Charles P. Wright.
  • Fixed error caused by missing sys.argv in Python when called from Java (issue #81). Fix by Dave Voutila.
  • Fixed problem where calling jpy.get_type() too many times causes a memory access error (issue #74). Fix by Dave Voutila.
  • Fixed a corruption when retrieving long values (#72). Fix by chipkent.
  • Fixed fatal error when stopping python session (issue #70, #77). Fix by Dave Voutila.
  • Explicit null checks for avoiding JVM crash (issue #126). Fix by Geomatys.

Improvements

  • Can now use pip to install Python jpy package directly from GitHub (#83). This works for Linux and OS X where C compilers are available by default and should work on Windows with Visual Studio 15 installed. Contribution by Dave Voutila.
  • Java PyObject is now serializable. Contribution by Mario Briggs.
  • Improved Varargs method matching. You may pass in either an array (as in the past) or individual Python arguments, the match for a varargs method call is the minimum match for each of the arguments. Zero length arrays (i.e. no arguments) are also permitted with a match value of 10.
  • jpy.type_translations dictionary for callbacks when instantiating Python objects.
  • jpy.VerboseExceptions enables full Java stack traces.
  • More Python exceptions are translated to the corresponding Java type.
  • Globals and locals are converted when executing code with PyLib, to allow variables to be used across statement invocation; and interrogated from Java.
  • PyObject wrappers for dictionary, list, and introspection functions to tell you whether or not you can convert the object.
  • Support for isAssignable checks when dealing with Python Strings and primitives, to allow matches for argument types such as java.lang.Comparable or java.lang.Number.

Version 0.8

Fixes

  • Java interface types don't include methods of extended interfaces (issue #64)
  • Loading of jpy DLL fails for user-specific Python installations on Windows (issue #58)
  • Java interface types didn't expose java.lang.Object methods (issue #57)
  • Java 1-arg static method was confused with a zero-arg non-static method (issue #54)
  • Python interpreter crash occurred when executing del statement on Java arrays (issue #52)
  • Python extensions loaded from Java couldn't see Python symbols (Linux) (issue #38)

Improvements

  • It is now possible to use jpy Java API to work with multiple Python installations (issue #35). A tool called 'jpyutil.py' can be used to write configuration files that determine the required shared libraries for a given Python versions. A new Java system property 'jpy.config' is used to point to a desired configuration file.
  • Simplified jpy installation (issue #15):
    • removed need to add JVM path to PATH (Windows) / LD_LIBRARY_PATH (Unix) environment variable
    • removed need to compile Java module using Maven
    • removed need to specify JDK_HOME environment variable, if JAVA_HOME already points to a JDK
  • Added 'jclass' attribute to Python type that wraps a Java class (issue #63) .
  • Java API extensions
  • new jpy.org.PyObject.executeCode() methods
  • new jpy.org.PyModule.getBuiltins() method
  • new jpy.org.PyModule.getMain() method
  • new jpy.org.PyModule.extendSysPath() method
  • Java API configuration changes:
    • System property jpy.jpyLib:
    • System property jpy.jdlLib:
    • System property jpy.pythonLib:
    • System property jpy.config:
    • Loaded from
      • File ./jpyconfig.properties
      • Resource /jpyconfig.properties
      • File ${jpy.config}
  • Python API configuration changes:
    • Loaded from
      • File ./jpyconfig.py
      • Resource ${jpy-module}/jpyconfig.py
    • Attribute java_home
    • Attribute jvm_dll
  • Python API extensions
    • new jpyutil module
      • jpyutil.init_jvm(...)
      • jpyutil.preload_jvm_lib(...)
    • new jpyutil tool
      • usage: jpyutil.py [-h] [--out OUT] [--java_home JAVA_HOME] [--jvm_dll JVM_DLL]
  • Added basic support for Java Scripting Engine API (issue #53)

Other changes

  • Switched to Apache 2.0 license from version 0.8 and later (issue #60)

Version 0.7.5

  • Fixed bad pointer in C-code which caused unpredictable crashes (issue #43)

Version 0.7.4

  • Fixed a problem where jpy crashes with unicode arguments (issue #42)
  • Fixed segmentation fault occurring occasionally during installation of jpy (issue #40)
  • Improved Java exception messages on Python errors (issue #39)

Version 0.7.3

  • Fixed problem where a Java primitive array argument has occasionally not been initialised by a related Python buffer argument (issue #37)

Version 0.7.2

  • Added backward compatibility with Python 2.7 (issue #34).
  • Added Java parameter annotation 'output' (issue #36). This is used to optimise passing Python buffer arguments where Java primitive arrays are expected.
  • Removed debugging prints of the form "JNI_OnLoad: ..."
  • Corrected documentation of jpy.array(type, init) function, which was said to be jpy.array(type, length)
  • Removed console dumps that occurred when calling from Java proxies into Python
  • Updated Java API documentation and added it to Sphinx doc folder (doc/_static/java-apidoc)
  • Added new diagnostic F_ERR flag to Java class PyLib.Diag
  • Java class PyLib is no longer instantiable

Version 0.7.1

  • Updated README and added MANIFEST.in after recognising that the jpy-0.7.zip distribution misses most of the required source files and learning what to do on this case.

Version 0.7

  • Initial version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jpy-2.0.0.tar.gz (189.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

jpy-2.0.0-cp314-cp314t-win_amd64.whl (80.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

jpy-2.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl (341.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ x86-64

jpy-2.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl (342.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ ARM64

jpy-2.0.0-cp314-cp314t-macosx_10_15_universal2.whl (145.0 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ universal2 (ARM64, x86-64)

jpy-2.0.0-cp314-cp314-win_amd64.whl (77.8 kB view details)

Uploaded CPython 3.14Windows x86-64

jpy-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl (305.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

jpy-2.0.0-cp314-cp314-manylinux_2_34_aarch64.whl (303.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

jpy-2.0.0-cp314-cp314-macosx_10_15_universal2.whl (140.7 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

jpy-2.0.0-cp313-cp313t-win_amd64.whl (79.2 kB view details)

Uploaded CPython 3.13tWindows x86-64

jpy-2.0.0-cp313-cp313t-manylinux_2_34_x86_64.whl (340.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.34+ x86-64

jpy-2.0.0-cp313-cp313t-manylinux_2_34_aarch64.whl (342.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.34+ ARM64

jpy-2.0.0-cp313-cp313t-macosx_10_13_universal2.whl (144.7 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ universal2 (ARM64, x86-64)

jpy-2.0.0-cp313-cp313-win_amd64.whl (76.1 kB view details)

Uploaded CPython 3.13Windows x86-64

jpy-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (311.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

jpy-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (309.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

jpy-2.0.0-cp313-cp313-macosx_10_13_universal2.whl (140.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

jpy-2.0.0-cp312-cp312-win_amd64.whl (76.1 kB view details)

Uploaded CPython 3.12Windows x86-64

jpy-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (312.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

jpy-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (311.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

jpy-2.0.0-cp312-cp312-macosx_10_13_universal2.whl (140.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

jpy-2.0.0-cp311-cp311-win_amd64.whl (75.6 kB view details)

Uploaded CPython 3.11Windows x86-64

jpy-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (309.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

jpy-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (309.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

jpy-2.0.0-cp311-cp311-macosx_10_9_universal2.whl (140.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

jpy-2.0.0-cp310-cp310-win_amd64.whl (75.7 kB view details)

Uploaded CPython 3.10Windows x86-64

jpy-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (303.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

jpy-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (303.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

jpy-2.0.0-cp310-cp310-macosx_11_0_universal2.whl (140.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ universal2 (ARM64, x86-64)

jpy-2.0.0-cp39-cp39-win_amd64.whl (125.3 kB view details)

Uploaded CPython 3.9Windows x86-64

jpy-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (300.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

jpy-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (301.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

jpy-2.0.0-cp39-cp39-macosx_11_0_universal2.whl (140.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file jpy-2.0.0.tar.gz.

File metadata

  • Download URL: jpy-2.0.0.tar.gz
  • Upload date:
  • Size: 189.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0.tar.gz
Algorithm Hash digest
SHA256 411aedf5678b2859236636cbcfda4fdf5c4afbdb9b3f56e0c15e377e19ee7cc5
MD5 badddeee17c5f184840521dc2a10054b
BLAKE2b-256 50978228e2260780f61ee8a0649924d982f614a9b1b716c96fa7950d56fb1a98

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 80.9 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 9a832cc9a88868c786bb73dd4e3615d3d3721414196785e15f60384e3e97380e
MD5 757088394014a70357522eb261981f87
BLAKE2b-256 035073f62d86c273100aaac553727508d661c5c9579201b3ddf2b6ef274aed00

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9e8ec1f9f6824332d8b315305b4e04554ea2ab6d292c9af9c34a0ea16dd8dd8d
MD5 ea2d8a001ed8c5f719084b436362f5b9
BLAKE2b-256 54f922de9fcaa5718870db95493ae4526e6acce1277a457b347e01d42a2ea123

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ecbf45e842b71966bd7f2b60c94ed1404b4d9e651d352289648797e44dc94ca0
MD5 bdf0db1076dfe0c93d3c5b8b0e227087
BLAKE2b-256 e62d3b0a36d30aef6307884d37708c7f522188b1aec22fd52665296887965059

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314t-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 1c7fb8e1e536988ad759cb0a395fd2596c7e083a29c61f6cfab117f99da564aa
MD5 3f09e3d896c9be4b15d71f545e3c5f22
BLAKE2b-256 3d90eb2282a61574039a91211af13cf21bb7f27a2d776eeaf59084aab153c22c

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 77.8 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 021e430022a334b11df50df19c55fc272c1f007f093d40fcc78cc5d119f5e5f6
MD5 4b7f5fad75cef8f01f06300a2b707ff3
BLAKE2b-256 29b06c2c5915b998ca0304d2e37a74f61bac895e5e23b575b553f655a4009210

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e1e1c51c3345f61652c08fd520d891da192233a1b910f34e41b1a1b8f0fca4bf
MD5 bd0905da06453da4859f8c5cdb1c9548
BLAKE2b-256 1fade791e6ac8c109938b851493a0456dcb55944df4496006ac687940bac7da1

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 71f33e76091f688013d03f7e0a8daf8ff39ad485eaf3709a0a96947901c75f47
MD5 16db114a5f8e89fb5972c00266dbc933
BLAKE2b-256 6b8e54cb359f5de0b606cf9df9110330e61b290ad7ff4b9c155f0ffc15f4ac1c

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

  • Download URL: jpy-2.0.0-cp314-cp314-macosx_10_15_universal2.whl
  • Upload date:
  • Size: 140.7 kB
  • Tags: CPython 3.14, macOS 10.15+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 508792f1c2f855d06ce0785932660ee8af2f91dd6eb94d3d96900120e5aa9f1d
MD5 8eed033b7096d1444a1d0c8f4b986630
BLAKE2b-256 b148a02b804a52344d505d8f0f46d8cd30cb9ccd6374a33aacbe21a24dda4751

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 79.2 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 05b9c8abc21fbdf00d3cb707490dc3df65cb75ec858db467aeda1ffa83513cc3
MD5 ab6a89ee9a8f0179658111c1b86c0e7a
BLAKE2b-256 5e17dee74fa564723698f1d2fcca3176779e045ac05adfc9bb64800b77a6b103

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313t-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp313-cp313t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 30b17d97e0fe68a31dec783615a1d7c383ee3598a4802dfaf373e52b09c1fde3
MD5 c51acdde5298d2d110f02e52c514fc92
BLAKE2b-256 89b8d5b5197cd99f059090142a9096e6f6b0e2372584c4c111d64000a25c004a

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313t-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp313-cp313t-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 d80f0401a3a23a84479ad411c44951d6e9b98dd698b95098431f40dc9e0eab37
MD5 2918a56dd4ebc310a4b4a3a3be04e2b5
BLAKE2b-256 74bdfaceecd39c5df3b78482cb3ee26daa5f60fee79439b4c0a5f83ad9c36551

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313t-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp313-cp313t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 2e4f9d22ed6534dd9f98acf6087104a2601911b02e97898397bf1afffd32506c
MD5 ab687b044aa32f08b80a7e55b374081b
BLAKE2b-256 9d7b866ac2319527805a7579ae3961d83e3b3cd79f4814c615c8b962bcb181b6

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 76.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fdb7bb5d84553cb9f5bcdd2b6e3c5ab68312b1dc854e50615f49198b0fae883d
MD5 124f2daad3a2a873cebe6454018ba4af
BLAKE2b-256 45d672ccc864197ba7deb331af3b0d1aa23935d9dc1456e55aac15389f0ed40b

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 98a43f84a4c092360cba14368df5fab298e1448dbfeb91a285de815b96c4ce15
MD5 b525a633b8afdb0abc380a768a7afc91
BLAKE2b-256 6eb4dabe69f3e240629688f9a643a560e77cec8fe9b6f37fb0519270234fe85c

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 afbcaf0b84f5af1f2a63e9bc58e175599552f34a02f04df07324154eedd8c5e2
MD5 648baed201dd24fd1d0ed56dcd1b1a9b
BLAKE2b-256 d0d42c75c6ab9c11a7be5070985c04c37dd1c2dd26279541db7ee055a96fec87

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

  • Download URL: jpy-2.0.0-cp313-cp313-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 140.6 kB
  • Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 188491aa61a56eb2133b924db07151a5776c8c1ac8311faabfd632ad2271647c
MD5 b31b755be44bbf6ecb9fab2c096bd653
BLAKE2b-256 e2348407a3965328a2552a534be2d2c81ffd448adb1538bf7827a40eb3b5c78a

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 76.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 37a737254c2c70c6dc90dbba93b1bd600d556c07ad168dc6aaf2305122292968
MD5 b111f1869545994d306b6c38ed439663
BLAKE2b-256 aae0310528d705cfc111ebd56b616513855cb62a236eaf399e0d87f06be59220

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c767f5b4cb66587ce4b86451a390d22d1ae787c0ee7dcb6e59d18cc163c7702c
MD5 3e692dc51a2e1e77eaf6233344ba2344
BLAKE2b-256 5457636fbbe8384f5c00f22a6886e4e2825c4ec4312723157fc4ca7c1c3c6b3b

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 eff9d1c532f1f2510ad59505a722056418e3eb30412855edef630ecab9d114a9
MD5 b0a378088ac4fd53631b43b53c8f233b
BLAKE2b-256 66024c48d8d9f94217c52f506af38c78e5a161a3c262764b29d08ff6fa7a11f4

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

  • Download URL: jpy-2.0.0-cp312-cp312-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 140.4 kB
  • Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 53b5fec20fad0c2ee7c7835c6af93b2c3cdeb729098c423a2c8c3c1fb7e46796
MD5 5fe52cfda7ecaf53e3bcbc0faed6e9df
BLAKE2b-256 004aaae86c8b39076f34d951c2d3571ec241692734357cb89a58cc97f2fe3e83

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 75.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ed735631062c9d42053a5f6c25a0c5c00bfd4cbe43b549452f5c75a1cc2eeb48
MD5 46c758c4f15c74db0a6b753b0f058232
BLAKE2b-256 3bd103fa3f60dcf843716c4f93bb24867276de98e52c49bdfa12c0294809f35d

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5ebd5e299f87a940c632d1532a3fb3fded4721df9e560edee3909caa61f0b9e2
MD5 eb19e9b411ee83d94d48db20e687adb3
BLAKE2b-256 507ae56be09f6c9ad3859336c7e113c3bfacd74e4248eba5cdbbf1caf4403d3a

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 42ce53cfafb64b3af86c63bb1b1b76c7c638a0b29934958c8c1d5985e1f89468
MD5 27c0a356c562a766015da69217ba6779
BLAKE2b-256 dc656d9a2d7655b0ec86bcbd33467962bb1b9813c962d3cf085e502be7d17d09

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

  • Download URL: jpy-2.0.0-cp311-cp311-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 140.0 kB
  • Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f0d4dd3960edfd6c27bc457d888d0439dd8028705695ac7ed079b462a73b6c36
MD5 0e685071ab5492e9d42280ae2a1a69ca
BLAKE2b-256 7578bd6883db14b6380413177ae13e6ea265fee1115c0629ca385c2653143056

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 75.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 47723e11ade4cd98cd150ec29a11302a3cecd963ed18dc239922d48356d40455
MD5 5d28d9ed0e10c1710afc1fc108cca5e2
BLAKE2b-256 6fba8ced2049dd2781869664151352554bf37a3871ebb5a5d36541610202c3c8

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e3e891fee0e06e2cd7b0c51fb8a6c2cacd19d9704f3976155798cccf726a1faf
MD5 14a20cad930f494b80f37aa0c280b47d
BLAKE2b-256 79baa0c9ca99e32783007be73d06f68ea79ddc34e0f8cdd4bf94d96e1d4b4603

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 49ccd51f3c4aa1271a50be2b2bfd7b0f0f3dc1b540c0d037467b8c64ac463fb4
MD5 01760b2b3b7ca0741d4f03653c877477
BLAKE2b-256 dc472edf2c3aff89e6a9bda009af0eb4d77208ba68fd4c810aa142e616c7a770

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp310-cp310-macosx_11_0_universal2.whl.

File metadata

  • Download URL: jpy-2.0.0-cp310-cp310-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 140.1 kB
  • Tags: CPython 3.10, macOS 11.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp310-cp310-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 ecf4bd3652bc514ce523ca3df841650e30aa380bfc41a247561f2063d758dbad
MD5 896d33be7d9627fcc6293d9f5013d3fe
BLAKE2b-256 e113eee702d2d8e21cfce8c5325c2487a775f377dc8f6d94c5ede506e4222734

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: jpy-2.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 125.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a371de260c76074da63082b90a2f35ad98ad5db2779a4bcc6de4bfb6d77ca0bd
MD5 dd2e70ce409db6f189796c5a10820543
BLAKE2b-256 1a844cd09e69ca3f97f28043e50c458af713245a60bfb4ccf6fbba30618aa479

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 636b2c57b3b0a857acc730ee9c8b6dd9429ee5e999022ab073bde4f82db93976
MD5 a7b4f311f2389b4ddd4b981ab753586e
BLAKE2b-256 1176523404e083d94cf48a2ff2282c18d93f9feefff19933a062a5f6cc3924f0

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for jpy-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c256c8831b2b4e47947151a8af002e3c936265c40ae46122f3b86aed28e0155f
MD5 6002ebcb546a8600846b29f75ca6de26
BLAKE2b-256 2baf8d29203e0a190da0274ea5d2e11b57b379f69556a9ed475423b806c93191

See more details on using hashes here.

File details

Details for the file jpy-2.0.0-cp39-cp39-macosx_11_0_universal2.whl.

File metadata

  • Download URL: jpy-2.0.0-cp39-cp39-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 140.1 kB
  • Tags: CPython 3.9, macOS 11.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpy-2.0.0-cp39-cp39-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 0faff610244b56724718321cc7e8cb9cafa6d7ade9fb0b84fd599fd9333cc0b5
MD5 9d7fddcea37ba89a71cc27b8052752fd
BLAKE2b-256 0322987fb8af027d05e86a7f7982f2b2aea744bc4c65239753b9a5746934c3c1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page