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.6–3.13 and OpenJDK 8+ 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 8, preferably the Oracle distribution. 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 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-1.1.0.tar.gz (184.5 kB view details)

Uploaded Source

Built Distributions

jpy-1.1.0-cp313-cp313t-win_amd64.whl (78.3 kB view details)

Uploaded CPython 3.13tWindows x86-64

jpy-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (351.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl (82.2 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

jpy-1.1.0-cp313-cp313t-macosx_10_9_x86_64.whl (82.2 kB view details)

Uploaded CPython 3.13tmacOS 10.9+ x86-64

jpy-1.1.0-cp313-cp313-win_amd64.whl (75.0 kB view details)

Uploaded CPython 3.13Windows x86-64

jpy-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (346.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp313-cp313-macosx_10_13_universal2.whl (141.1 kB view details)

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

jpy-1.1.0-cp312-cp312-win_amd64.whl (74.9 kB view details)

Uploaded CPython 3.12Windows x86-64

jpy-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (313.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp312-cp312-macosx_10_13_universal2.whl (140.9 kB view details)

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

jpy-1.1.0-cp311-cp311-win_amd64.whl (74.5 kB view details)

Uploaded CPython 3.11Windows x86-64

jpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (352.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (310.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp311-cp311-macosx_10_9_universal2.whl (140.4 kB view details)

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

jpy-1.1.0-cp310-cp310-win_amd64.whl (74.5 kB view details)

Uploaded CPython 3.10Windows x86-64

jpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (350.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (304.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp310-cp310-macosx_12_0_universal2.whl (141.0 kB view details)

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

jpy-1.1.0-cp39-cp39-win_amd64.whl (124.2 kB view details)

Uploaded CPython 3.9Windows x86-64

jpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (301.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp39-cp39-macosx_12_0_universal2.whl (141.0 kB view details)

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

jpy-1.1.0-cp38-cp38-win_amd64.whl (124.2 kB view details)

Uploaded CPython 3.8Windows x86-64

jpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (388.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (301.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp38-cp38-macosx_13_0_universal2.whl (140.9 kB view details)

Uploaded CPython 3.8macOS 13.0+ universal2 (ARM64, x86-64)

jpy-1.1.0-cp37-cp37m-win_amd64.whl (123.8 kB view details)

Uploaded CPython 3.7mWindows x86-64

jpy-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (383.7 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (296.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp37-cp37m-macosx_11_0_x86_64.whl (122.5 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

jpy-1.1.0-cp36-cp36m-win_amd64.whl (133.6 kB view details)

Uploaded CPython 3.6mWindows x86-64

jpy-1.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (377.9 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

jpy-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (338.4 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

jpy-1.1.0-cp36-cp36m-macosx_10_14_x86_64.whl (122.0 kB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: jpy-1.1.0.tar.gz
  • Upload date:
  • Size: 184.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 128bc5541cdc748bdf799eed8955809d49f4a7b20ce016dd5d09932b261b3be4
MD5 a3696858d7cc275e7f9575a9ec08c107
BLAKE2b-256 9d05af6484bb48261e6c89a10c38d43c583f4ef36cd34ef69962c1b27f4ecae2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.1.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 e9902cd8dac6d2576522312e5035c6eb9da28639b12ccf7c0ef491fb5bce3e22
MD5 f4f74ba1847216f630adfa346c9b6ff2
BLAKE2b-256 448dee7011093cb40a78d02c2765ebc53437f14cb36108f991acc49e3447f527

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8045fba11f97e8aadf50f3b489ce7b8ea130e7f6f02298eb0120b845f24dd2f3
MD5 02d0706af7a3477dcc855adf62669af0
BLAKE2b-256 153dcbffa4dcdf499b29d7cd532c5272f8378248fe7986ee02221e86b3380ed9

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 512713872d0a0aa45893d69b7fa6ee8e4131bbbcf0cc5e616edde3f3d366352f
MD5 42bdde09a09ff9cecf159a2506dc7266
BLAKE2b-256 cbca4945bdf538be8918f1992d6c45ec57afed98d8636d4b15ed44fb444ddb9a

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa57a940cadb60e4d1afe483c57827856ccbdc876ba62b88db7235bb9c408990
MD5 d58ffba6f61a193193da43841eb927ee
BLAKE2b-256 3cbe838674cc89ba9d30ba58850567cb925ce45a740761284ad8fe2246d3c97f

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp313-cp313t-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp313-cp313t-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 81193f22d40b77e46faca08265dc28abe63aa3f552a8def6356ea1474b03aeb5
MD5 74f38806ed32c17674cee3b4eafd5157
BLAKE2b-256 7a19195ae41d4bf14d7cf5463a11b75e4fb42df9c6a2d1cde5701e5e79639ef3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 75.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f83ce68a901796e852145ac03453ea08e10c9e5e5b449383ca089dd31e9dd18d
MD5 eaeecab12c2c467d08f622de013d1848
BLAKE2b-256 d0fa7f97684e41565ce82c20bf3b90a5c15344f4ffae3c8f782a9e6c769841bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9fdb2cac7649465b25df55fa102fbc2cebdbbecd496799f882a19744e732e0fe
MD5 74c0291cf74f4bcf779c09ccb26037d6
BLAKE2b-256 be03a8824842d23b62b7028600406fa434d23918e6d90c2ceb76520e3b0e5b96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d044a92400e83192b037678cab1209eb2abd5e13eee0dd4f5dedce75c339829
MD5 8c224fdd2bf867e0c5a0111355b45b43
BLAKE2b-256 2c62b3ec5d6e7737f151e0aaa177ab0cdf21c8746864c789ba8a8645aeb47522

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 bce845858fc6a572bc06ca98bef88dc1cf262c0282b8eca742a69ab021ad24dc
MD5 9caf8f72fcd0a5c5ab5cf4115009c6ba
BLAKE2b-256 2af4e60fbb71e45261923a98e888d7d61c5043474d66793fcf121f72fc78a95e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 74.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8a3d2209e43d8cff547bc7bdbfb163b94cd2bfb23414c167f9c0eebcdfa02bdd
MD5 4eb1c01c0bddf78ae1923bcb776d1af0
BLAKE2b-256 36c45f2ab9092f94d8f72bc46d48f890daa6e4c434a675c6fe00bb29fd9fccfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 692ccd59eaf806847c84df9b04679c1677f951be8824cac392c80a6f8ceb69ad
MD5 811d66acd7e4fc47f82643177e54a3cb
BLAKE2b-256 4cc306209271f2d50708289dd5e8d2ac75272021df6fd7c6f82007cb445fa958

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4f521546f9d7f566d30d8128b30d7c1848e32e1b31824c2417719b0dc9acec4e
MD5 39380fe103bf31b66995b0b6b0cb4cd9
BLAKE2b-256 e674c51d47453483597d6357225afb279fa836cd119a45dcb04a036401b148ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d15d26c9fc8bd92248f9a3c28becf93bb6c075f402750e5b7a256ab2e1ded8ca
MD5 5e137e8cbe0abcf482edca193836c499
BLAKE2b-256 a23b551f9387a7b0762972b2079c1db9c514e2c64810b4d58a8bf4ec7bd945b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 74.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bcfe281d3d1f51020211f2da92f4437e1134189d2924a0022cf3aa565113a482
MD5 1fa45c0361f7a7197207716824263cf5
BLAKE2b-256 405866b6affa5ebd3fe5bdaad4a94c41f4a937f69800c146cd7e958e204f0e8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dcd2675a106d3c3e022cd8ac9e7cb5511afea5784ef4450c10d1cfe46d313e1
MD5 95e7cd6da45638adca93f9ae81627350
BLAKE2b-256 e9add73402943f7f006c5d0a850260c70fac26e1287e8d00da9ce6fda7f71262

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca149f87ece59e30f118b88cae91c60933b4dcd991d87899a905c3fd290124fb
MD5 c7b9506769b82608b4f8e26615c48a42
BLAKE2b-256 a083bc97ffbb88431fc5f69e9cc32d0619ede95ac1bd334f2fbd45add7d5c578

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.1.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 99a16755ac0c49c8e4a959b22c712ca0bacf0fc68e269575031b9bb64e2418eb
MD5 9087d75015b777d86d6d00c0427c1f4d
BLAKE2b-256 4ed01316c358d69c02bc886b6f0ddb9271b0920a7c82bbe53e2f96105ecdb25d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 74.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 04790af02ed4d8e6186a9d7f421484660672d605c3e50523fafd31749e590f66
MD5 d715a03ebb4572aaa812002fdc5cc8f7
BLAKE2b-256 dd420f68abb9f601705ad94d68c0b04887d7a2be40d9079ea077cea647b14a45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a65fe73026d5d99c5bdb9095a342e2bf6d4bf62ba8e27ba1631ce326039517a
MD5 19082405d53318dec358df7c2ada975d
BLAKE2b-256 126e447b8c80556a3f2a80e80ad7061825f8ac818ebca216a1af40bd00099bff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4f339e9925102002178974ef8e0140ab9283b398a0511d8d7f49e0de317e54cd
MD5 60cf034922e51e540f710a5dbae29f4b
BLAKE2b-256 cc253786788afa6855eda10279f64a044790655ed81acbf0b660e504e254d105

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp310-cp310-macosx_12_0_universal2.whl.

File metadata

  • Download URL: jpy-1.1.0-cp310-cp310-macosx_12_0_universal2.whl
  • Upload date:
  • Size: 141.0 kB
  • Tags: CPython 3.10, macOS 12.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp310-cp310-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 4e0e5cc40b141f4b15c0ec11f4c906a0389ac3f1e2e4983e513747fbe2cc3760
MD5 1878663e01eda88038c4283ee98c8dca
BLAKE2b-256 b7bc8b340b92c99bc3aa5a08ac234355207b91885ed6a37d6069203a344b0458

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 124.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2084b44cf1302ef9f5b2a96f7f2b6f5f3cdeb935dda8452afa2c57963cadc5e4
MD5 e74ee1c2ad43a3172817a1b079e57596
BLAKE2b-256 7ca4e16afeaca38abe0024a53ec176405bcc6c5f2238d65f58d85648fe35b25f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 664ee3f165ffaf90058bc6e4a6b229c797cbcfc0769e971cf2317e4b46e86fd0
MD5 a7b1465c5b08745f0d935393146c3aed
BLAKE2b-256 27316b6723f7e0007f0e916e314056bf689203ef97805b4fa3337223155332bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 12c83196450d41c0782f10087334ccf5c92a9b161b976da063403ffda621ef60
MD5 88e32104bcb11fba1efaed84687ec5c2
BLAKE2b-256 3c02e9ff5ac396b8a02b6dea57a022a0a15601c1aba2741ba786309eeba46a35

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp39-cp39-macosx_12_0_universal2.whl.

File metadata

  • Download URL: jpy-1.1.0-cp39-cp39-macosx_12_0_universal2.whl
  • Upload date:
  • Size: 141.0 kB
  • Tags: CPython 3.9, macOS 12.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp39-cp39-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 45da1645aae9c8e873272e57c1eae2ecd34870687f31f17e892d5b255c79135a
MD5 178dbbb155a4898167e7dcf8ada3289e
BLAKE2b-256 a818d8a1288e7ee62640dac9915f9edd834d3831fed79ef74ec67493a55640f0

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: jpy-1.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 124.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6a06a8edd9ff9ff6a80490b725fd8ea2f69b3e5dc68558104618b95c61c83057
MD5 7cc44e1b7b64c1a9639ae179e0d93815
BLAKE2b-256 453080014c4d38c61e8fd5c805de1f2958585c61ff7e917d593e87792adedcc6

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd5abbc0d5090a9d4ec371040e3156f23b7e3fdfc48c2923c130486af9d4fd91
MD5 204d296ef51f741dd74d4859dd76bc31
BLAKE2b-256 5eeaced66b74c63c3fc383c20d5b6d2d2a1b6bdb71506b78e90ab40dd5c52fa4

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 82b4395bccaef9f18de02f2dab4edfa1325b76170984efcf48ad1b893b767415
MD5 31d5d5ff690b4604c5de650ed5b9037b
BLAKE2b-256 5e10c08c0be36ae22ddbaa0e683323c1604c308dbbac286cede4eedc3c36e515

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp38-cp38-macosx_13_0_universal2.whl.

File metadata

  • Download URL: jpy-1.1.0-cp38-cp38-macosx_13_0_universal2.whl
  • Upload date:
  • Size: 140.9 kB
  • Tags: CPython 3.8, macOS 13.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp38-cp38-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 be834a02f5e9412d789036d94f8a09b57cecff0b7740c029d105a0858e470697
MD5 991b082d3b6315bbadf901a28dabcce3
BLAKE2b-256 4e2afe01b806bf36abbd64899024f7bd2bb87c5ef018b6a848aa481a197cc3b2

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: jpy-1.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 123.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 89b59d9a08f84b7c7117b2bbdcea0d83fc8687777b273410ca308f25eb678c9c
MD5 2b9830aba12094631cc634b067da1faa
BLAKE2b-256 c039f5d0cf3751929be3c901de9915761bd36df0e0463c2515bd0fa6a258e0bc

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae2a57a800b0b9c6ba43616ec2f3aae334afb4ec335531a2fe3fb02357b72385
MD5 5ace334cfe85640b9a1f5eab7d1e9298
BLAKE2b-256 987a0ab88bdb7de8ed17c424ddaab0d99e61f44e4215b8595fd81ea87189377e

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 35b18c66634ea266a95663ac5524aab9bc0fba9b24c79aeef1979e73065d6d1b
MD5 7d08745c6cb0ac9717cc95a52546edf8
BLAKE2b-256 519185df8cf04f819ea3a99cb10713c3729f7a5592b560c28d8524381009afdf

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: jpy-1.1.0-cp37-cp37m-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 122.5 kB
  • Tags: CPython 3.7m, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 a2a67e14336fd0f96b22c85dfedd3b167f5fe6d7e44674489a7dd36dddfd2ac5
MD5 6a453f697e1411b390ac963747ddb483
BLAKE2b-256 b9e8ff8e2e64569e019e37aa1f10542719c824af1e1287d0f0bf4a8b2d6efc9c

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: jpy-1.1.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 133.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jpy-1.1.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 1467e11dcf56929eac777e170649086a5f3af99836cd500905ba97db5b41e941
MD5 3c8f865048bdf1ceb700543796bfcef4
BLAKE2b-256 2c2b93d177c4fe83ae4a81b749598253ae3bc6570506e9cf8df027f06ab8c770

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8066a70e2ee087ef00f94dd6feadd22f7d7570940fdebd3f3ab3bcb4ec61a92a
MD5 66a8730074372755f30d4ad695d92374
BLAKE2b-256 a4c93f8c5c78a305689e04a9b15b9b00ccf1af82f3b2984c69db67b384f0ce1a

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 59bbc0fe1c5bdffd8cc113086d172f7c3db6b3c2813c66bbdfeb8fbf9f20f9b4
MD5 1ce4793b55b1216b080b2555712c727d
BLAKE2b-256 9e5006f58cdde8aaf284bd3075c12d554abb9ebb99f5dc54b11e04f64b7d1bb1

See more details on using hashes here.

File details

Details for the file jpy-1.1.0-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for jpy-1.1.0-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 dec8b5e6d119c18e4fd998d97a01c829a81bb508af6f27b852631e83e3b678db
MD5 23298ef2ecd9bd32a865f25a020bc3d9
BLAKE2b-256 8688a571e66f8c35a2e6bb3d1812f27287ccec70d3573b4c269b74107fdc0d7c

See more details on using hashes here.

Supported by

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