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

Uploaded Source

Built Distributions

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

jpy-1.3.0-cp314-cp314t-win_amd64.whl (83.0 kB view details)

Uploaded CPython 3.14tWindows x86-64

jpy-1.3.0-cp314-cp314t-manylinux_2_34_x86_64.whl (349.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ x86-64

jpy-1.3.0-cp314-cp314t-manylinux_2_34_aarch64.whl (351.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ ARM64

jpy-1.3.0-cp314-cp314t-macosx_10_15_universal2.whl (148.2 kB view details)

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

jpy-1.3.0-cp314-cp314-win_amd64.whl (78.9 kB view details)

Uploaded CPython 3.14Windows x86-64

jpy-1.3.0-cp314-cp314-manylinux_2_34_x86_64.whl (312.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

jpy-1.3.0-cp314-cp314-manylinux_2_34_aarch64.whl (309.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

jpy-1.3.0-cp314-cp314-macosx_10_15_universal2.whl (143.3 kB view details)

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

jpy-1.3.0-cp313-cp313t-win_amd64.whl (81.0 kB view details)

Uploaded CPython 3.13tWindows x86-64

jpy-1.3.0-cp313-cp313t-manylinux_2_34_x86_64.whl (348.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.34+ x86-64

jpy-1.3.0-cp313-cp313t-manylinux_2_34_aarch64.whl (350.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.34+ ARM64

jpy-1.3.0-cp313-cp313t-macosx_10_13_universal2.whl (148.1 kB view details)

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

jpy-1.3.0-cp313-cp313-win_amd64.whl (77.3 kB view details)

Uploaded CPython 3.13Windows x86-64

jpy-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (318.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

jpy-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (317.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

jpy-1.3.0-cp313-cp313-macosx_10_13_universal2.whl (143.2 kB view details)

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

jpy-1.3.0-cp312-cp312-win_amd64.whl (77.2 kB view details)

Uploaded CPython 3.12Windows x86-64

jpy-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (318.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

jpy-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (318.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

jpy-1.3.0-cp312-cp312-macosx_10_13_universal2.whl (143.1 kB view details)

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

jpy-1.3.0-cp311-cp311-win_amd64.whl (76.6 kB view details)

Uploaded CPython 3.11Windows x86-64

jpy-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (314.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

jpy-1.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (315.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

jpy-1.3.0-cp311-cp311-macosx_10_9_universal2.whl (142.4 kB view details)

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

jpy-1.3.0-cp310-cp310-win_amd64.whl (76.6 kB view details)

Uploaded CPython 3.10Windows x86-64

jpy-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (308.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

jpy-1.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (308.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

jpy-1.3.0-cp310-cp310-macosx_11_0_universal2.whl (142.5 kB view details)

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

jpy-1.3.0-cp39-cp39-win_amd64.whl (126.0 kB view details)

Uploaded CPython 3.9Windows x86-64

jpy-1.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (306.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

jpy-1.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (306.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

jpy-1.3.0-cp39-cp39-macosx_11_0_universal2.whl (142.5 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0.tar.gz
Algorithm Hash digest
SHA256 e40c1d7172c782e9add3e34049908f326bf282597c6e23196020b72e1aaef6f9
MD5 bc75fa4acbe4f0249ca57ffba97b7c01
BLAKE2b-256 86113e49d977865f0ec759481e59e2920169fc01690ba03aa29bda30b26d181c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 c5c9274b9284ccb863725b2d0a98cb0962f26471222dbb1aa01b14715a577407
MD5 ec53148fadf51cbb4f31401127922e1a
BLAKE2b-256 b9f9608067014c05ae7a5b1da053395c005e3728f6fd04abf071dc31e49bc04d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp314-cp314t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 cb7c785bc61ad1ee799f461fcf8590889d40d15166dcdfc6c5e5685e7f97e872
MD5 a7d47c28cd79c7155c24e80fe68ebec2
BLAKE2b-256 d6e739e1d70419a16cbc335929a24451fddb4c69691d7a43d982efdad37b1f67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp314-cp314t-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 523a9829c04a6f01c73991c75a3c4d328331190d5e07216e2328ddb83cbb5a15
MD5 ea8dec45305bb03b92843c09a497f4b8
BLAKE2b-256 3d8cfa9a4c210aad7b5c6cb56254bf7699f44853de49efbca74fdc84f070f03d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 1a626abaabd52a72e4839e17b67e9fea6cccbf63c1d2e681cd6770c7e5fd2d66
MD5 06c5e1556c263f11c06a61cf334724bf
BLAKE2b-256 7f96b4e18d9377c932ae8e7eca72aee6b9c4f29af4ea31d2155233765be24a5f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 21af6c6e40e4a1d7f1e0fd5a5304c230f89196b47504dddc26a7fae8052d2542
MD5 fb923685324998e72417e60a1f3354d8
BLAKE2b-256 1296f59d2df4bd8a65f25744983d3cc62bf5913c76b9b36cb92b6e56b70723c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8701d6da3d4e06db021eaf225474d199140f13f5ea637f8af6fef3599583bf8f
MD5 dc82ccca2205a1c2dd54a19d8770bfcf
BLAKE2b-256 5f2ffb8974c41e9dc1f4b1853c06ad3807af5e76a7745219cff1e43ad12a17c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1e727f8760a205a8b8f36f9122eeadc60e72b56f848b13c31837e94c1a7dec9c
MD5 fe24bba0229a264da77d3ca94d3751a9
BLAKE2b-256 4f0b6e2e492082c9fbbf450c6e1470703b92dffab22924fbf75af16ec60ad3cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.3.0-cp314-cp314-macosx_10_15_universal2.whl
  • Upload date:
  • Size: 143.3 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.7

File hashes

Hashes for jpy-1.3.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d1eee0cf65d2a8724f433d1ba1e4b7a8a16dcf56367c71d94d7eb306290b3bf2
MD5 d1279bf243707c058c33510058835df2
BLAKE2b-256 92337cb19fcc1948dc01a5fdf2b509c49c09724318906250f188281c2150b9c1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 2565d232e6600aac0a1fa832c119ab18d7cbdc7f317c6bb75dd7760547308406
MD5 39ac2419d77ba2190b6b67449408c96b
BLAKE2b-256 4e0585d61079ee4840746abc9cecc921961f5cfc54a494ea271b8a478b37d669

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp313-cp313t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d8086da7d1374cc050e3d68a5b7bf1af0c2105332ab05d50b35046013868847f
MD5 1404bc40c689d5957854e63b98ebbbc4
BLAKE2b-256 d7027cec5e0115efdfc183b30364a05a3c7d276a24b0d6d37fd95884df66e9a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp313-cp313t-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 67c5e98aab842f777e08eb8dff601f8c5c74756088abf0bf8c3675d6cdf1ce6e
MD5 6d8f42daceb2311590b5003177e2917c
BLAKE2b-256 ebc8dbfacceb47c4fd3d3e783f3e2f4e05b1ce5bc6eaf69d8fb6b034aa2f9fd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp313-cp313t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 432245f6a30d4b7fdc171b5c37fa844586151e89920596e4413a2b8e1af84eb7
MD5 1e6c8af326d9ce5d8cef597e5d2608b9
BLAKE2b-256 3982b37bc0987344b449beca1bb2b828c93b295214db02e8d570269905fbf1a0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 03493af39673b0977b3c066aebf1cde6c7b4126d9cdacb00b55ff70cc75d0703
MD5 2533332391d9f96b41896ec238823f09
BLAKE2b-256 b76091a362b22a1693c427f347bfd000740283d88918eaf2a9de317efc96da7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0f3bbb5794480be0de84c8e7154e8d12dac822a5613f390f965d5ddb672d3534
MD5 bb61a16522b4a4418dfad9508df3e158
BLAKE2b-256 4f15f6dc7029cfe6084f3ce0a46ab490e8c556099e74a5fffcd99e8ce8cf6453

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c59771522c1473a3fc723b704134e3710dd14dbc61d5f227c98a5b18a9bee562
MD5 4975b529bac85d3bc1380a010decd5cd
BLAKE2b-256 fb0b029a2e85a0e7f743ed5538f4aee5ba27762adf50d65a153890c5438c0b11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.3.0-cp313-cp313-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 143.2 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.7

File hashes

Hashes for jpy-1.3.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c743344e847c46060ee1d9f1d2c036efcd44fe03098e013538fe46b01d099595
MD5 ad2c5a28e26898d7a330e94901435221
BLAKE2b-256 76914d9ec46d460edf72973dde442921b9e4d679fcc302477c59a709e799ace2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7738aa147abbb8ffe9c667e1e4f43cedea5f2d9c8704f47b37ae889a92b56f39
MD5 f2b3b476664313289ee03c65b45864a8
BLAKE2b-256 3c7cc6519d8419d90226172f1118eb18fb85390a149a1add42be8ddc6edd4aad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 186a5eba73cfed8dabe8d4ca4a8ff9b95ada1033fc6eee5329d2391d81bca560
MD5 f65e5cdc46bde7ff9ccc90b3a7eb521b
BLAKE2b-256 e87388ea55d3e43130fc6ac1086eb8b582cbc84b954f622dcf9de75c18007898

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a75d70b92fcaf4907d0849ddd98cdeac1f1a65ed5d91e91be5eeb85859d7d1da
MD5 364954332ba850292f99568c789c9868
BLAKE2b-256 ad8edbe8861355a3513d02873ab8de6e8f9f0a501ccd65bb71c6eb12afa89f78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.3.0-cp312-cp312-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 143.1 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.7

File hashes

Hashes for jpy-1.3.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 bf90c4bf1772c32c2006f7f0e1a3eb622887c92b5ad18a64585183f63a8b7672
MD5 1b0ae5d336b4e2cab47336ada600018b
BLAKE2b-256 7814b87e1fc280a0d1e4fe17ba5aa8adde3b560a7dbe1721211e1b65cfa7186b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d245c81dc3e27ff8c20fb1704420e7d549c817996f0bacd75d75c6db4c806dba
MD5 3b2587b28c34f7bda70731b93944286c
BLAKE2b-256 93c56f3eb78dacdc9df2fdcac7558790b35c923a4ddc1721622228394e5e915f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 91b25d8a09bdf8640b1cd79b0f3cecf44f3d04a37fe7ba0da016d5ae67015770
MD5 d2e70dae07586b5e1bc67482d5c0f7fe
BLAKE2b-256 92d96144db754264698969aaa437a1f9520c266c4c9eff7f47558317c41bfcdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ef7a04edca438056551ded583722a988cb54d2068a8d5a6e73661d8b09d42c5b
MD5 76d37d85e98ace49a1472a5dcc6d8799
BLAKE2b-256 7c47d8ebd1d78ae347bae0d8fa40ccef9c472234b134491fe427f405927fb867

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.3.0-cp311-cp311-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 142.4 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.7

File hashes

Hashes for jpy-1.3.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 85e86cd627880a2402b53ed7efe8d4e2fd8d07be7d90ef9d06de5dfe22041bd5
MD5 a7ba78cc77e410f825b354818a611213
BLAKE2b-256 4ed5bfb06438045e6989c4cb4c7f42484af8d5fc01b6c0e7c581ce1db09bf50d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 35fd4356192f54fc05ab771e9640021ce5de9cc208ead8003d32a18aa2f87780
MD5 3c7e7da4a09a4fb456400b7c4db07f23
BLAKE2b-256 af190519fcd9323d44199f0b98c40c9a163dd87f9f6d4ecab6a248caaf415217

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b55099e73f6a4b99a629421e7a96e7c39bedda62a20195a32bf93b2f27783d8d
MD5 c9bdb3f3da3b7fe6bb9938191c8d869c
BLAKE2b-256 353b39766df4b8eb4ddbd839d714a3d117ec0eb9cbeaca0043f8a5dd8b46d9d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 8fd8ac25f75009cf123b20ab918328117b1b2b4ccd1cb60a160769998d48047f
MD5 f7841e4d0c6cdc2c1cb3a1238e09d513
BLAKE2b-256 929bc926e19b19224aec018099570bfa6818cdff7dc5309bd2ab7c3e93885e90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.3.0-cp310-cp310-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 142.5 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.7

File hashes

Hashes for jpy-1.3.0-cp310-cp310-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 4545a80f2f500cbe29f088d8a89d645db1ad255809d43e13514a1be8c6fa2f4e
MD5 bd2a9d02e089c460fabbd3af1c65768e
BLAKE2b-256 722e373080fd65a12e9cfb3e5ed105fc9ab91594ec9bfa8580a02dc66afcd1c1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jpy-1.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 53602da37691997c7547343f88de84303ee9d1d02976d6ddefb6d9bcd393ff55
MD5 e07927dc0db028c935df7a65dea939fd
BLAKE2b-256 9aa801ac258b5f8da8f9c6fc2a18d361f89ab1e1abf041cce2483e7683f50618

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d81ae7efc77a331c8f7fab38fc20b63317edc03ac6570e04de0b0e47d3a0ba5e
MD5 3a0c3993f85a9cd4f6ec4b8ad01b825e
BLAKE2b-256 d495aef5348f69490174bcf9576042915ebca574b6f52939bf2c64cc08b8d1b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jpy-1.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 61aa9649a6a2c085d180c0344570a9b8a3abd554ff1f30c9de226b95c973cc2a
MD5 613b9da16e588f0421b926b821625922
BLAKE2b-256 f25d80315ea38cebeec6ff4ec9029e23d884ce4367b337a1842ad616ca470b79

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jpy-1.3.0-cp39-cp39-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 142.5 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.7

File hashes

Hashes for jpy-1.3.0-cp39-cp39-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 e810b513ec74dc4240a329faf5988953a278a102b2f2e54bad6c93ff8f79825a
MD5 3cb3290c5fa8d1bd9be4f3b97b7db377
BLAKE2b-256 f3d10284a40d7026dd303a476af2023d4d45a7033b55809fe7e80ebfe510f6d9

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