Skip to main content

Build Status

jpy - a Python-Java Bridge

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

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

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

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

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

For more information please have a look into jpy's

How to build wheels for Linux and Mac

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

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

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

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

$ mvn clean deploy -DskipTests=true

How to build a wheel for Windows

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

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

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

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

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

How to install from sources

TBD

Releasing jpy

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

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

Running Tests

Run: python setup.py build test

Code Of Conduct

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

Contributing

For instructions on contributing, see CONTRIBUTING.md.

Notes

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

jpy Changelog

Version 2.1.0

  • #233 refactor: simplify Python object cleanup to make it more efficient and avoid accessing Java heap when Java OOM happens
  • #234 Bump docker/bake-action from 7.1.0 to 7.2.
  • #236 fix the jpy_cleanup_thread_test for 3.14

Version 2.0.0

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

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

Version 1.4.0

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

Version 1.3.0

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

Version 1.2.0

  • #199 Call PyObject_IsTrue() to test truthiness

Version 1.1.0

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

Version 1.0.0

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

Version 0.19.0

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

Version 0.18.0

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

Version 0.17.0

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

Version 0.16.0

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

Version 0.15.0

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

Version 0.14.0

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

Version 0.13.0

  • #96 Python 3.11 compatibility

Version 0.12.0

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

Version 0.11.1

  • #79 Produce usable / distributable macosx wheels

Version 0.11.0

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

Version 0.10

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

Version 0.9

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

Fixes

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

Improvements

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

Version 0.8

Fixes

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

Improvements

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

Other changes

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

Version 0.7.5

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

Version 0.7.4

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

Version 0.7.3

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

Version 0.7.2

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

Version 0.7.1

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

Version 0.7

  • Initial version.

Release files for jpy 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jpy 2.1.0
File Size Uploaded
jpy-2.1.0.tar.gz 197.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for jpy 2.1.0
File
jpy-2.1.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
jpy-2.1.0-cp314-cp314t-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64 Details
jpy-2.1.0-cp314-cp314t-manylinux_2_34_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ ARM64 Details
jpy-2.1.0-cp314-cp314t-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) Details
jpy-2.1.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
jpy-2.1.0-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details
jpy-2.1.0-cp314-cp314-manylinux_2_34_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ ARM64 Details
jpy-2.1.0-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
jpy-2.1.0-cp313-cp313t-win_amd64.whl CPython 3.13 CPython 3.13 free-threading Windows x86-64 Details
jpy-2.1.0-cp313-cp313t-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ x86-64 Details
jpy-2.1.0-cp313-cp313t-manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ ARM64 Details
jpy-2.1.0-cp313-cp313t-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 free-threading macOS 10.13+ universal2 (ARM64, x86-64) Details
jpy-2.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
jpy-2.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
jpy-2.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
jpy-2.1.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
jpy-2.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
jpy-2.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
jpy-2.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
jpy-2.1.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
jpy-2.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
jpy-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
jpy-2.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
jpy-2.1.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
jpy-2.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
jpy-2.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
jpy-2.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
jpy-2.1.0-cp310-cp310-macosx_11_0_universal2.whl CPython 3.10 CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64) Details
jpy-2.1.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
jpy-2.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
jpy-2.1.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
jpy-2.1.0-cp39-cp39-macosx_11_0_universal2.whl CPython 3.9 CPython 3.9 macOS 11.0+ universal2 (ARM64, x86-64) Details

Total release size: 7.0 MB

Release files / jpy-2.1.0.tar.gz

Download URL jpy-2.1.0.tar.gz
Size 197.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e23353f20f45608e228e175e8fe3b854c9cc5f5f243140319d018d6707d81ef4
BLAKE2b-256 checksum
How to use checksums
8138b2aabf6136c29193c31c3f605e6a68a56e4d067f51b10ec86292615c6118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314t-win_amd64.whl

Download URL jpy-2.1.0-cp314-cp314t-win_amd64.whl
Size 81.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
7687f07e303424ee193f6ffbbbffa6b79674d71f9deaa618a18a7db9938f5f98
BLAKE2b-256 checksum
How to use checksums
45e388645deaaac43c40cd4467a21813842d16893f8aece67d21a469e50ecd7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314t-manylinux_2_34_x86_64.whl

Download URL jpy-2.1.0-cp314-cp314t-manylinux_2_34_x86_64.whl
Size 341.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
23a8bb47cd493378a9288595739e50f21ca5f0f620676b8b6a864ff54bfe9070
BLAKE2b-256 checksum
How to use checksums
f6f5c9b4a897dcf075f72dbc0ddaa9ba0019d97fd4b5932f893d20521f579148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314t-manylinux_2_34_aarch64.whl

Download URL jpy-2.1.0-cp314-cp314t-manylinux_2_34_aarch64.whl
Size 342.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
3321cf7b866d86bb77e8bd640ed9c5a12485f45f8e231f8be826ed5d857c98a9
BLAKE2b-256 checksum
How to use checksums
33ce58ca955950f0237f51bfc71dfa1f6b2d4f98f4e136945358713417e402cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314t-macosx_10_15_universal2.whl

Download URL jpy-2.1.0-cp314-cp314t-macosx_10_15_universal2.whl
Size 145.1 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
138730b74735a32ad442e60e3123ce2d4ee3369f9cb60ef3610d9498d0b0bb6d
BLAKE2b-256 checksum
How to use checksums
fc2db6374c8b7f6914341c87247bc98535751b593152b5f8dfdcc4133967d0aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314-win_amd64.whl

Download URL jpy-2.1.0-cp314-cp314-win_amd64.whl
Size 77.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
3dc359fd1ce13737f0c5a9a44e213f5fc1368df2d178fcd337bcacd462b5e90f
BLAKE2b-256 checksum
How to use checksums
c23022692904bb9fb0b904f21c0da69bf34a0ca5e4ff8807eac0ee92831011cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL jpy-2.1.0-cp314-cp314-manylinux_2_34_x86_64.whl
Size 306.0 kB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
638a4a5d2ba18f1024f633664a07340d625294cef69f534d7bacb6d11c756cd2
BLAKE2b-256 checksum
How to use checksums
ec7ff156061f57269b7c4687a00a8b8b950898e73419a96a0f0123ac0739524c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314-manylinux_2_34_aarch64.whl

Download URL jpy-2.1.0-cp314-cp314-manylinux_2_34_aarch64.whl
Size 303.8 kB
Tags CPython 3.14 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
f839b92c0c52dc4c419697e708bae2adb3842ad5a9d4655d40540a00bdceb568
BLAKE2b-256 checksum
How to use checksums
225f0fe33f6e971825b6c486951469ee2ad3e0fb378e5d458cf83e87e31de2f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp314-cp314-macosx_10_15_universal2.whl

Download URL jpy-2.1.0-cp314-cp314-macosx_10_15_universal2.whl
Size 140.8 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
906f996f223cea20845d942de28c2b0f7d54180c088a28f104dead6d9e11dd87
BLAKE2b-256 checksum
How to use checksums
b15d6447d751997de22dec765354d9abd77713f662a1d0fb3785f7788115d59c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313t-win_amd64.whl

Download URL jpy-2.1.0-cp313-cp313t-win_amd64.whl
Size 79.3 kB
Tags CPython 3.13 CPython 3.13 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
987dfb2caf305fdd5f4dae24b6520ffc474fc1475f4181c76720c97629fbe8d2
BLAKE2b-256 checksum
How to use checksums
40d86c6db2696201b0ec3e2b8b6d42216e3df623608fe2feef02734d2c0ede38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313t-manylinux_2_34_x86_64.whl

Download URL jpy-2.1.0-cp313-cp313t-manylinux_2_34_x86_64.whl
Size 340.5 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
a3b461e9623ba7918d94690c5a54b3f75b360a04c057967a06dad0ea6c0a1ca5
BLAKE2b-256 checksum
How to use checksums
a79f7afff0b72a50b329a89717d74a883e2f0bddd8f3bf6fcdffc3f00669dae6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313t-manylinux_2_34_aarch64.whl

Download URL jpy-2.1.0-cp313-cp313t-manylinux_2_34_aarch64.whl
Size 342.2 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
67d1cbb235f311bba9cbf3a54f227e0e40dff8b23965c8664d25cc983be66445
BLAKE2b-256 checksum
How to use checksums
90f46ad72c14f6413f0bfa1e2ae2bb97de4926b093baf24a3fc85132af533b79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313t-macosx_10_13_universal2.whl

Download URL jpy-2.1.0-cp313-cp313t-macosx_10_13_universal2.whl
Size 144.9 kB
Tags CPython 3.13 CPython 3.13 free-threading macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
e233e93fff9a7b406072d7c3172e13d750ee5fce8c3c85314226519bd57405ee
BLAKE2b-256 checksum
How to use checksums
0a8bcf250e888b279847735c8bf9b12ab13f1114a59e8b26e3ed1e5a2ffd0093
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313-win_amd64.whl

Download URL jpy-2.1.0-cp313-cp313-win_amd64.whl
Size 76.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
47ebf4613e5287937dcd2af382ffc144986753d9ff4b48735ac52af19f021936
BLAKE2b-256 checksum
How to use checksums
486ddce7a9b5a49774fe026f708ac1e5d3112113a9ea03872b321220d4365ae9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jpy-2.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 311.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8f0382ecca225957e3e3fc64e908d17c3107e7a5c4e37604268bdb787abda8b1
BLAKE2b-256 checksum
How to use checksums
da474c90592566cac58adbec7a4b41b6f1553bc381425716b81944f807ae1b1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL jpy-2.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 309.9 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
716e9bcb21f133fe4a0a696ffb69ef8fe6d12272c98ef3b077591e9a13fde8dc
BLAKE2b-256 checksum
How to use checksums
aa96b0f1de37c8401cd1d3f17736e57a9a1a40b8a5b297a7fad2da75280918e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL jpy-2.1.0-cp313-cp313-macosx_10_13_universal2.whl
Size 140.8 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
5235e3bf6797744ba5a967cd774068e54b8f891963d06badc14a2bdcf8e91daa
BLAKE2b-256 checksum
How to use checksums
346fd9d00f5d08ff2dbb0756f499ac8b38d65e3611a56504828558e3cc3322af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp312-cp312-win_amd64.whl

Download URL jpy-2.1.0-cp312-cp312-win_amd64.whl
Size 76.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c6db298709b764806dc234b6b5f3d86ee4fa5e0cb93c281b2d8e714f0fdd5b11
BLAKE2b-256 checksum
How to use checksums
edbbf01e95fecc608e0ece50e66226e4058729dc674e3e5556c83d82e5f7b058
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jpy-2.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 312.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b7b9cd076e51f7f5e3799a2313c3a5c79674f296a76592f2a411573e4d525a88
BLAKE2b-256 checksum
How to use checksums
b3f2986e6babb91128b4f6d426353c3157fabb89a3646d740acb83900530727a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL jpy-2.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 311.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
42d0a9a8ce85069ce245b424e1b88ed39ebba1fb8042a0ce0b3bee1260578880
BLAKE2b-256 checksum
How to use checksums
f3896a657d340dbfd9ab7c7c4c4787bc03d19eca2f0d4ca83f61f6d49da0b673
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL jpy-2.1.0-cp312-cp312-macosx_10_13_universal2.whl
Size 140.5 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
b32586c55fa2bc4338e0768fe6610cb763bcc1ace70179f32a4d201d35a75547
BLAKE2b-256 checksum
How to use checksums
cbcf63d00d95552f65b842bd0f08e87d0398915383a432baedee3c81fde03471
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp311-cp311-win_amd64.whl

Download URL jpy-2.1.0-cp311-cp311-win_amd64.whl
Size 75.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
798ee0747b46cc57ebb4de9a5759da0cc03d179891b31befaf032d396ea87c61
BLAKE2b-256 checksum
How to use checksums
36c2a9c0c7057480275bbc8722fbb78de3e6cb84f78459c9100f6134f5f06b31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jpy-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 309.4 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4cb60b8ae3ab6006348e43bd01c8083b9553d8883f7b3c3a8d3306076d18cece
BLAKE2b-256 checksum
How to use checksums
43335c7ffef406dae91328a8d076d4abfd4afe37ba397bce5d71676290d323be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL jpy-2.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 309.7 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ef6a8d0ca84acce011145f0ac7a815fbd571341b0ebd4eed1d3ffc2e86fcda9c
BLAKE2b-256 checksum
How to use checksums
114b7a3bd30d121cfe47d63be531e103a3ea109f3f628f8c364f2889bd4ad5ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL jpy-2.1.0-cp311-cp311-macosx_10_9_universal2.whl
Size 140.1 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
9890f120127ff17703daa5b5188316f918805b18124da567ba50092999e50185
BLAKE2b-256 checksum
How to use checksums
c01ba7d21fa0031f9d9b453a888adf1b92783ff237a1eea2d29dce8ad472a06f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp310-cp310-win_amd64.whl

Download URL jpy-2.1.0-cp310-cp310-win_amd64.whl
Size 75.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a484e3c561e3654b8cf546b036c9c0fa10819e21bea89739fafbbc1c65b18e95
BLAKE2b-256 checksum
How to use checksums
f7a13aa91e40a1854ff5516a732de32ebe8be7150edd7c9ea42cb8ccd585069d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jpy-2.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 303.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b21e7acd3a04e79ab5210c9119a50516e79a4a60f3280056045600d8667af0cd
BLAKE2b-256 checksum
How to use checksums
54a964ad50283b940c81524b8fc26835cc1f284b1e278add9a8a775eace67a0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL jpy-2.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 304.0 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
369a086f422b1e1cca890139eb9e3b6264ab3151cd4b782af9943a6ec520c5e4
BLAKE2b-256 checksum
How to use checksums
719337978445339aaf3921a867d1aa81f53530a9a5c67d7591f8f8951ee5f5a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp310-cp310-macosx_11_0_universal2.whl

Download URL jpy-2.1.0-cp310-cp310-macosx_11_0_universal2.whl
Size 140.2 kB
Tags CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
cc40150d40be6d820fe98556d1f06517074cf542e52829bcec100f6f9525feda
BLAKE2b-256 checksum
How to use checksums
e829da24a732b8af98ee048991dac3b10c736439af0d76d406a873a6d08f78c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp39-cp39-win_amd64.whl

Download URL jpy-2.1.0-cp39-cp39-win_amd64.whl
Size 124.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
72c426fae8ac5cf4aa3db155f09a093ca37490ef53ceb86b7693bb9c321a6c8e
BLAKE2b-256 checksum
How to use checksums
fd552147ec28025ff744711f2b65690341a3630f9a00a652febc4bad0c0831b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jpy-2.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 300.9 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ea56de5fddb9d073c4254a7000cacbfc77137eb78a923f0c9a775f77eef341db
BLAKE2b-256 checksum
How to use checksums
7043d21bd6cd260f0fe56e3a8419dd360b37b041e6c13b7df0df1a4c0219369d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL jpy-2.1.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 301.3 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fd513cc526fd7716f377fe0ce2a5b4ff05e8a9684d87d15aee74aa1b1f91fac9
BLAKE2b-256 checksum
How to use checksums
fbe460824b0acfa886d01f05008f93c977d0102490756e1cd8cbae961fc9a2b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / jpy-2.1.0-cp39-cp39-macosx_11_0_universal2.whl

Download URL jpy-2.1.0-cp39-cp39-macosx_11_0_universal2.whl
Size 140.2 kB
Tags CPython 3.9 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
795d1cf9ff33ca19cbcd6665d97f949883069ab3a598ac634f1d2e218ed8b9af
BLAKE2b-256 checksum
How to use checksums
99e21ae20f899d562b414dea87b1b46037e2edb7c8f333c7fa8dc377765a23ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page