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.4–3.8 and OpenJDK 8 on 64-bit Ubuntu Linux, Windows 10, 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.)

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

Automated builds

As of 2020-08-27, Python wheel packages for jpy are automatically built on AppVeyor, but at present they are uploaded only to a private FTP server and not publicly released. Wheels are built for Python versions 3.4, 3.5, 3.6, 3.7, and 3.8 on Linux, Windows, and macOS (≥10.9). Only 64-bit wheels are built.

The repository also contains an outdated configuration for automated Travis builds, but this configuration is currently unmaintained and broken.

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 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-0.19.0.tar.gz (184.6 kB view details)

Uploaded Source

Built Distributions

jpy-0.19.0-cp313-cp313t-win_amd64.whl (78.5 kB view details)

Uploaded CPython 3.13t Windows x86-64

jpy-0.19.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (285.8 kB view details)

Uploaded CPython 3.13t manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (351.3 kB view details)

Uploaded CPython 3.13t manylinux: glibc 2.17+ ARM64

jpy-0.19.0-cp313-cp313t-macosx_11_0_arm64.whl (82.3 kB view details)

Uploaded CPython 3.13t macOS 11.0+ ARM64

jpy-0.19.0-cp313-cp313t-macosx_10_9_x86_64.whl (82.3 kB view details)

Uploaded CPython 3.13t macOS 10.9+ x86-64

jpy-0.19.0-cp313-cp313-win_amd64.whl (75.1 kB view details)

Uploaded CPython 3.13 Windows x86-64

jpy-0.19.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.0 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.9 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

jpy-0.19.0-cp313-cp313-macosx_10_13_universal2.whl (141.2 kB view details)

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

jpy-0.19.0-cp312-cp312-win_amd64.whl (75.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

jpy-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (313.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

jpy-0.19.0-cp312-cp312-macosx_10_13_universal2.whl (141.0 kB view details)

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

jpy-0.19.0-cp311-cp311-win_amd64.whl (74.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

jpy-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (352.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (310.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

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

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

jpy-0.19.0-cp310-cp310-win_amd64.whl (74.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

jpy-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (351.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (304.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

jpy-0.19.0-cp310-cp310-macosx_12_0_universal2.whl (141.1 kB view details)

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

jpy-0.19.0-cp39-cp39-win_amd64.whl (124.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

jpy-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (301.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

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

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

jpy-0.19.0-cp38-cp38-win_amd64.whl (124.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

jpy-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (389.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (301.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

jpy-0.19.0-cp38-cp38-macosx_12_0_universal2.whl (141.0 kB view details)

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

jpy-0.19.0-cp37-cp37m-win_amd64.whl (124.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

jpy-0.19.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (383.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (297.0 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

jpy-0.19.0-cp37-cp37m-macosx_11_0_x86_64.whl (122.7 kB view details)

Uploaded CPython 3.7m macOS 11.0+ x86-64

jpy-0.19.0-cp36-cp36m-win_amd64.whl (133.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

jpy-0.19.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (378.1 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

jpy-0.19.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (338.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

jpy-0.19.0-cp36-cp36m-macosx_10_14_x86_64.whl (122.2 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: jpy-0.19.0.tar.gz
  • Upload date:
  • Size: 184.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpy-0.19.0.tar.gz
Algorithm Hash digest
SHA256 0a6f84868332d0283ac10154e6652b0f9239a57310121e5b244c8b5ddcc5dfa5
MD5 2a8be694a95c3863ad64c6c98ab54c33
BLAKE2b-256 f00aabfa7f888805d012b1b8593a30b8f52497e89d76a06a9b7a5264c86b5bff

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-0.19.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 8768c5866e9c079a11aab9df7dc167e52c24c64f5fe0a132b35d09de95fa5340
MD5 6980413480058ccee4f4ed8575fd6300
BLAKE2b-256 b4f4f69677717d104e4d83d3df13f660fc4619203c070a2f8c25aee13934c2a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c69e134da9f1b303f0bc255dba0e64b12993f81a482dcfa65b6b2a0ae9ca2c9
MD5 40fc7174e2969638fd176ffba7c8b926
BLAKE2b-256 58dc79c440a8920971478215dfa61eb107d9b97d1119c7340f27b0bb839425de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e7f979070f0f83c569a6ee8c01a747b94ea091804e3d1e62f2beea222fba854f
MD5 9b3c9d8952e59f5c9a85774f3165789b
BLAKE2b-256 eb2e1ff964de150fffaaf05b96ca4d5f8bf0b42994f73e8f4ea131a2be362332

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5c866f95bbff5560eacde682316ae6a58cfe9d3d29c6788cf254613ae60504b
MD5 790ca244be6d24483a893c65bf5e4545
BLAKE2b-256 14d2145c24380beed9094c65816632beba994266863c2de525ddd0f3daed57f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp313-cp313t-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 457a52731963caace414ef75cd393e77b8ffa843958f6966668c570f8475eb71
MD5 e584b2ed3f2b658ed757980028995c79
BLAKE2b-256 cb107d0d6a85545b04398db8b70141ccaf6a2fe6af090554ff9fec763c6ce274

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-0.19.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 75.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpy-0.19.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 98939729abfe7c8ec65cfab8873d5d8a73e37e53f10df9d1cb8e3ecae6e9cfe4
MD5 fee7394547e5e74c5e31bafc36792647
BLAKE2b-256 ed61e280893bf33cafaa34d0a437aeb0873c379d4c5ab46cadd4cd5ed2401dd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a24725197f752e90fb13bc462cd9758e00e29d7119dd738892e89deb7c7f6ebd
MD5 76238e95a3ae2da5f9efc9a67c595549
BLAKE2b-256 111e00f0507644a035a4b49179614939e5509cc752bc04fe4ea1d0fa65d6a5fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4ded9eb882acbb0baf82b361479368f6e8caf86715fbdb8757d8e97000f45bbf
MD5 e3311c24b927bfeb3915c4a4b96b078c
BLAKE2b-256 ce58d8fcb6cefc774041964a8c52fbb47e34b361e841d88228c5a63ccf9dbe3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 89c67cca5856a73faa9dd1697187d7d5cf4c97b7e319e5035f6a6ce1aabd1375
MD5 fecc0b47d79ce3b9eee36226869b4d61
BLAKE2b-256 cc1298bf350760b06bf581b120ff54dc5a6a2e808d2ae0f468c5e6d2b854ac67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-0.19.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 75.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpy-0.19.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8c540bb0d2d82a49cac849efbae8a69dbb2de6d2ab3f37a537bc4ae91469280c
MD5 49c3fb4731a11bbeddbc9246f63e75d2
BLAKE2b-256 3ac48aabcb5f479023cebcc3c211a69eaad96485765e862b8dd834ab088a898d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1cc65c6d562c9f622ccd92959e8cdf95cb8ed4e2509a8cf250b4192d664f6589
MD5 5e331c4cfd16ceaef9851be92883afb1
BLAKE2b-256 9998ea5197a7297aee9e77aec696a3a62bc966e71ddcb556c2c9e781e3d5efba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bef816e79a7de4e41ddcb905d1126779d1b1dddd1992554548bf174f43b43905
MD5 105ee0e3a5afbe127aec8c0ae2587863
BLAKE2b-256 12feb8400121541acc2e8458def9b610079e9bdb8912883691d8cae2c62c209f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b9751440809a21473ad24ee44d37171bb0b0f24d68d2fca88aac437ceb0376bc
MD5 747aafc6344ee333d805a790fd381b33
BLAKE2b-256 c360dc13a358fb193b8de71eedcc6362afef5c25e02259d6ca7b831b5ac79b7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-0.19.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpy-0.19.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9078ecae0f896da8793beddf1b6f4e116c2b5e76351fed178b672122386280f8
MD5 f1ee972cc0b28e02ef762299c2086ba2
BLAKE2b-256 a51203781cbe10a7c52959854f52b1aa95aac805c21c9f7d8b5f7eac60d0c4b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8417e2805ffa3c7a55fac5efbd8b2c269c0d73a9095ebfe9e3134d2e5f2c7963
MD5 adf60d1e0b32f8b93e81497d6393952c
BLAKE2b-256 89b0eff2a532df2a80561332fce4d154e752e14c6cdf47d4b8f172188c2eeeb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 494f2d663f07a8ea4c9a1ec2bd8ff3c54bd1100603ed6b3c86e61996b0616163
MD5 7bb00500d34b3c7619a5b9055383f4c1
BLAKE2b-256 2ee39221d7038336d0f08f75fc2c03f6d5b198f47578447ed18e5559dacc0c8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7a7a446ea7b43c4c868039b50ced4085ae7475544ddd8a3179f2bb7252d038fc
MD5 ad3d91affe608a56affb14b784da02b1
BLAKE2b-256 438549d3f199ab80cfaf5d3f02bf5b682782c87b3665b3bf601e1d111c4dc598

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-0.19.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpy-0.19.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4f8205b0c4ad6876001765d841bb16248df10c6f87bdfd1a23372a46e1a9ec59
MD5 d74298948e6286f265a8bbae6e21e9ee
BLAKE2b-256 bafb31a713f9097fc3733ae998cba994c8cc161d2b3c62dcf9f177e8827d7269

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b542297a17759222e71d83124a4c34b429237c7a92ce2b54ff170c2e8d3d52e7
MD5 f8aa2479e383e7cd63fbf51705d538af
BLAKE2b-256 45ad2a55847f8c44ec7db032176586f41069a4d9b6bf8459ee2e19397c0c5f29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6f0e02c828d3256fbf6ddc906f5958d6c1cdd64676668fa4785e989362859df6
MD5 5ff2743bca306d315285eff7e9674c09
BLAKE2b-256 d535fa5d2fbb0ab3e494243ad6bf788343040e4a8b3353a314d1480ea0a3d32d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp310-cp310-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 f5d32cad397cd7c38ec22ab867e67ce0700fdfc359a250aebd0e4b98ab65565f
MD5 1f40687edafba9458e8690e36b6ceca7
BLAKE2b-256 6ab04976e15745f561dee06de2327cb8b57e1ed9224e919036c794550f1dc836

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-0.19.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 124.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpy-0.19.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2b71fcb911d5fd9a164355ab40375114be81701a48ebb6208b2b2ad93a2fdac9
MD5 9caa9abda5e69a18c1df3f99cf1d3660
BLAKE2b-256 a632234ddbb37b0832ee9dc886f84105cb19d3fcb1aaaa99b16bc71f2cdc4fe3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec623bc52ce81a421c7d4dc91660d206f0de9c2d5e46bee8239612182b35372a
MD5 e92996e7efad6d35f7f8bb24f70f0d93
BLAKE2b-256 16231604a066a501c00ed0e30c9b91de8e6c707cf391ef6ee73e937ba65c2079

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 961d816b066703d37bdc3e82a4817c2d10e5eeaf3309c901bd882c5ef28d086a
MD5 a09fd5d0d4ff07039476d32948b98659
BLAKE2b-256 6fb612f124eff824467b16b0c6b2af00d0cfd87493d696cccfc7bd51082959f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp39-cp39-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 3ef85a37f8baf3d110972f793b58a19078162c9276cc7e7f573bae1fbbb51e19
MD5 03d257313251bf3ea28ee00ff54b7525
BLAKE2b-256 64e153cd9b06b5821cd3258c74fdd988150e6b28b441428ec9262c7dc02c54a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-0.19.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 124.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpy-0.19.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5720a4b790e0cb7ea80f1dc5cd279320a21b0c6965baa73fe80f1b3de276b574
MD5 32497aa1d9c9479f1aab6c866a1470d7
BLAKE2b-256 6fa7d3c67a67f9f29404c6c78c431e3e390463263e540748f46b0d3c01988df1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 612b6b7f02bb1247a73722baecc6cdffdaf7753178ca8e8a26a5375d469f14e0
MD5 6417cc21b166b6a0ae89872d3efcacb2
BLAKE2b-256 b642ec5ef62446f58961a864809b63e097d70243a365ca652bb233b483f57cc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dff6d0d22801857331ffb403658c1d60eb26fa38e72ef7101f47131c943a44d5
MD5 20257ffdf7a1a12367fac7e56c2f6a4a
BLAKE2b-256 dfc9c34d674252177b92b99d19429e2595caa9a0ebd8a99d8f12758f05e45733

See more details on using hashes here.

File details

Details for the file jpy-0.19.0-cp38-cp38-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for jpy-0.19.0-cp38-cp38-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 79dcc68dd9562c3be7a5a496be2d406b700773b312c8ee5835555bfd1cae576d
MD5 ed8df6241767dfded27f381c6f41f55c
BLAKE2b-256 0707962b7713238eefc1d777b059ecfd114580fd37a34916630a1e54ec83330b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-0.19.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3149f64206c13733d760c8f920071873621a0c1d421f71e4651a2dd85d4e490a
MD5 8e9c5f69f9108e6d1256f4992e063746
BLAKE2b-256 a1d453879072aec7aeacf70c629b019b09a3f99dfb90c460023cb8614caef188

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fce9fd2e76394186dddb3f2d2ddbf94e52b80e5eac08836fd79c712b7124864
MD5 5be174835867e7d706c2656f1230baab
BLAKE2b-256 26f04f93df14edc07c4930d75441a6e686249f694d516a0cc0249b0db3816708

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2be37b5fd48697bb856b36075ac4e07289ae42ae365a8b68cd1bbbf82fb2a53b
MD5 efbd651c46b30f1b7f2c145fb711fc8e
BLAKE2b-256 f78fa446517c84306e7d98da9d74bd1ac9e42bef3cecfb16c265740079f40bd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3625a3d4578cf85052be9d163b5337c70df27bd9cc35c92a465d4d3d6cb150ae
MD5 9276fb1fe8d6d175fc7f8adb3d7eba14
BLAKE2b-256 c7b0d700cadce248d70cacb372908f8ea563fedc68daa7239b64083fd9b3b5cc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-0.19.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 7e5917059aa40fcd015f2752008e37af7583c16e7fc3734b18458490e98e955f
MD5 283ddcdcf59cefc5bd2aaed0e52624af
BLAKE2b-256 026742595913d202310421055f65a09748566ea69591171e820205a59e31e92c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b9834cbb042cd05d3f3e0d482e7337f5013c9ef83cfc7fea1e31d2088d30f93
MD5 4843e3cdd84eb476e76ea6ab97320a7e
BLAKE2b-256 7102f0ca4575999f210fa6a33cbc831aab399fa09a3be69eb49ec7d9cec8ff6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 93b933cb61aaf71966968e977a49ca3c753a9bbe44f02ecf0d62b8ded784c699
MD5 a65a889d16396293019d452765ba8cfb
BLAKE2b-256 d0ca95ca95c1c40b799664871aceef57fc5a0600feec0b6013b4c86814223210

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-0.19.0-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 116cf67f462006896f7b3f1ea1c7c5ba5328ef80b0b598634af11e298d700490
MD5 73be3a4d8f2738ce4e058b1b4fad4095
BLAKE2b-256 f39cd12f702eab918fdb5ea25be3f49ba03399b8f171d313c2381b72d765c465

See more details on using hashes here.

Supported by

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