Skip to main content

High-performance Parquet reader for loading data directly into NumPy arrays and PyTorch tensors

Project description

JollyJack

JollyJack is a high-performance Parquet reader designed to load data directly into NumPy arrays and PyTorch tensors with minimal overhead.

Features

  • Load Parquet straight into NumPy arrays or PyTorch tensors (fp16, fp32, fp64, int32, int64)
  • Up to 6× faster and with lower memory use than vanilla PyArrow
  • Compatibility with PalletJack
  • Optional io_uring + O_DIRECT backend for I/O-bound workloads

Known limitations

  • Data must not contain null values
  • Destination NumPy arrays and PyTorch tensors must be column-major (Fortran-style)

Selecting a reader backend

By default, the reader uses the regular file API via parquet::ParquetFileReader. In most cases, this is the recommended choice.

An alternative reader backend based on io_uring is also available. It can provide better performance, especially for very large datasets and when used together with O_DIRECT.

To enable the alternative backend, set the JJ_READER_BACKEND environment variable to one of the following values:

  • io_uring - Uses io_uring for async I/O with the page cache
  • io_uring_odirect - Uses io_uring with O_DIRECT (bypasses the page cache)

Performance tuning tips

JollyJack performance is primarily determined by I/O, threading, and memory allocation behavior. The optimal configuration depends on whether your workload is I/O-bound or memory-/CPU-bound.

Threading strategy

  • JollyJack can be safely called concurrently from multiple threads.
  • Parallel reads usually improve throughput, but oversubscribing threads can cause contention and degrade performance.

Reuse destination arrays

  • Reusing NumPy arrays or PyTorch tensors avoids repeated memory allocation.
  • While allocation itself is fast, it can trigger kernel contention and degrade performance.

Large datasets (exceed filesystem cache)

For datasets larger than the available page cache, performance is typically I/O-bound.

Recommended configuration:

  • use_threads = True, pre_buffer = True, JJ_READER_BACKEND = io_uring_odirect

This combination bypasses the page cache, reduces double-buffering, and allows deeper I/O queues via io_uring.

Small datasets (fit in filesystem cache)

For datasets that comfortably fit in RAM, performance is typically CPU- or memory-bound.

Recommended configuration:

  • use_threads = False, pre_buffer = False, and the default reader backend (no io_uring).

Pre-buffering and cache_options

When pre_buffer=True, Arrow merges nearby column ranges and reads them into temporary buffers. The default maximum merged range is 32 MB (range_size_limit).

Arrow supports several memory allocators (mimalloc, jemalloc, system). With mimalloc (the default on most platforms), allocations above ~16 MB go straight to the OS (mmap/munmap) instead of the internal arena. This means the memory cannot be reused between calls, and each call pays the cost of mapping and zeroing fresh pages. Other allocators may behave similarly.

To avoid this, lower range_size_limit so that merged ranges fit inside the allocator's arena:

cache_options = pa.CacheOptions(
    hole_size_limit=8192,           # default
    range_size_limit=16*1024*1024,  # 16 MB, fits in mimalloc arena
    lazy=False,
)
jj.read_into_numpy(
    source=path,
    metadata=None,
    np_array=np_array,
    row_group_indices=[0],
    column_indices=range(n_columns),
    pre_buffer=True,
    cache_options=cache_options,
)

To debug allocator issues with mimalloc, run with MIMALLOC_SHOW_STATS=1 and MIMALLOC_VERBOSE=1. This prints allocation statistics at process exit.

Pre-buffering and ARROW_IO_THREADS

When pre_buffer=True, Arrow dispatches reads to its IO thread pooll, configured via the ARROW_IO_THREADS environment variable (default: 8). Tuning this value may improve performance.

Requirements

  • pyarrow ~= 24.0.0

JollyJack builds on top of PyArrow. While the source package may work with newer versions, the prebuilt binary wheels are built and tested against pyarrow 24.x.

Installation

pip install jollyjack

How to use

Generating a sample Parquet file

import jollyjack as jj
import pyarrow.parquet as pq
import pyarrow as pa
import numpy as np

from pyarrow import fs

chunk_size = 3
n_row_groups = 2
n_columns = 5
n_rows = n_row_groups * chunk_size
path = "my.parquet"

data = np.random.rand(n_rows, n_columns).astype(np.float32)
pa_arrays = [pa.array(data[:, i]) for i in range(n_columns)]
schema = pa.schema([(f"column_{i}", pa.float32()) for i in range(n_columns)])
table = pa.Table.from_arrays(pa_arrays, schema=schema)
pq.write_table(
    table,
    path,
    row_group_size=chunk_size,
    use_dictionary=False,
    write_statistics=True,
    store_schema=False,
    write_page_index=True,
)

Generating a NumPy array to read into

# Create an array of zeros
np_array = np.zeros((n_rows, n_columns), dtype="f", order="F")

Reading an entire file into a NumPy array

pr = pq.ParquetReader()
pr.open(path)

row_begin = 0
row_end = 0

for rg in range(pr.metadata.num_row_groups):
    row_begin = row_end
    row_end = row_begin + pr.metadata.row_group(rg).num_rows

    # To define which subset of the NumPy array we want read into,
    # we need to create a view which shares underlying memory with the target NumPy array
    subset_view = np_array[row_begin:row_end, :]
    jj.read_into_numpy(
        source=path,
        metadata=pr.metadata,
        np_array=subset_view,
        row_group_indices=[rg],
        column_indices=range(pr.metadata.num_columns),
    )

# Alternatively
with fs.LocalFileSystem().open_input_file(path) as f:
    jj.read_into_numpy(
        source=f,
        metadata=None,
        np_array=np_array,
        row_group_indices=range(pr.metadata.num_row_groups),
        column_indices=range(pr.metadata.num_columns),
    )

Reading columns in reverse order

with fs.LocalFileSystem().open_input_file(path) as f:
    jj.read_into_numpy(
        source=f,
        metadata=None,
        np_array=np_array,
        row_group_indices=range(pr.metadata.num_row_groups),
        column_indices={
            i: pr.metadata.num_columns - i - 1 for i in range(pr.metadata.num_columns)
        },
    )

Reading column 3 into multiple destination columns

with fs.LocalFileSystem().open_input_file(path) as f:
    jj.read_into_numpy(
        source=f,
        metadata=None,
        np_array=np_array,
        row_group_indices=range(pr.metadata.num_row_groups),
        column_indices=((3, 0), (3, 1)),
    )

Sparse reading

np_array = np.zeros((n_rows, n_columns), dtype="f", order="F")
with fs.LocalFileSystem().open_input_file(path) as f:
    jj.read_into_numpy(
        source=f,
        metadata=None,
        np_array=np_array,
        row_group_indices=[0],
        row_ranges=[slice(0, 1), slice(4, 6)],
        column_indices=range(pr.metadata.num_columns),
    )
print(np_array)

Using cache options

np_array = np.zeros((n_rows, n_columns), dtype="f", order="F")
cache_options = pa.CacheOptions(
    hole_size_limit=8192,           # default
    range_size_limit=16*1024*1024,  # 16 MB, fits in mimalloc arena
    lazy=False,
)
with fs.LocalFileSystem().open_input_file(path) as f:
    jj.read_into_numpy(
        source=f,
        metadata=None,
        np_array=np_array,
        row_group_indices=[0],
        row_ranges=[slice(0, 1), slice(4, 6)],
        column_indices=range(pr.metadata.num_columns),
        cache_options=cache_options,
        pre_buffer=True,
    )
print(np_array)

Generating a PyTorch tensor to read into

import torch

# Create a tensor and transpose it to get Fortran-style order
tensor = torch.zeros(n_columns, n_rows, dtype=torch.float32).transpose(0, 1)

Reading an entire file into a PyTorch tensor

pr = pq.ParquetReader()
pr.open(path)

jj.read_into_torch(
    source=path,
    metadata=pr.metadata,
    tensor=tensor,
    row_group_indices=range(pr.metadata.num_row_groups),
    column_indices=range(pr.metadata.num_columns),
    pre_buffer=True,
    use_threads=True,
)

print(tensor)

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

jollyjack-0.23.1.tar.gz (196.5 kB view details)

Uploaded Source

Built Distributions

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

jollyjack-0.23.1-cp314-cp314t-win_amd64.whl (288.6 kB view details)

Uploaded CPython 3.14tWindows x86-64

jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

jollyjack-0.23.1-cp314-cp314t-macosx_11_0_arm64.whl (101.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

jollyjack-0.23.1-cp314-cp314-win_amd64.whl (282.4 kB view details)

Uploaded CPython 3.14Windows x86-64

jollyjack-0.23.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

jollyjack-0.23.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

jollyjack-0.23.1-cp314-cp314-macosx_11_0_arm64.whl (95.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

jollyjack-0.23.1-cp313-cp313-win_amd64.whl (273.7 kB view details)

Uploaded CPython 3.13Windows x86-64

jollyjack-0.23.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

jollyjack-0.23.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

jollyjack-0.23.1-cp313-cp313-macosx_11_0_arm64.whl (94.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

jollyjack-0.23.1-cp312-cp312-win_amd64.whl (274.0 kB view details)

Uploaded CPython 3.12Windows x86-64

jollyjack-0.23.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

jollyjack-0.23.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

jollyjack-0.23.1-cp312-cp312-macosx_11_0_arm64.whl (95.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.23.1-cp311-cp311-win_amd64.whl (273.4 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.23.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

jollyjack-0.23.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

jollyjack-0.23.1-cp311-cp311-macosx_11_0_arm64.whl (95.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

jollyjack-0.23.1-cp310-cp310-win_amd64.whl (273.1 kB view details)

Uploaded CPython 3.10Windows x86-64

jollyjack-0.23.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

jollyjack-0.23.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

jollyjack-0.23.1-cp310-cp310-macosx_11_0_arm64.whl (95.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file jollyjack-0.23.1.tar.gz.

File metadata

  • Download URL: jollyjack-0.23.1.tar.gz
  • Upload date:
  • Size: 196.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jollyjack-0.23.1.tar.gz
Algorithm Hash digest
SHA256 df3a7dd02154727533babea2afd7c75dda7eed31eca3c2d4522dd81edde0942f
MD5 abea786154440230fbaaa8237cf04071
BLAKE2b-256 39bb2b5411e5772042f6466cadfc9bfc2a247621f73bd654f7ba759aef3f1856

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1.tar.gz:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.23.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 288.6 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 3a4267faa3fc43b64f34201aff29983dcfdeebd2eba30f78ae1a92da73b7c519
MD5 5346dd30b1e2608c0cd43abfee4a2781
BLAKE2b-256 c9b56ace95972af73b197b418fb4e278c043344c17de7afdccd13cba1b0fecb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314t-win_amd64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f4422452f66984026a697ef44cdc26058394a9af513712b734ed3a2b64d826f
MD5 f43cf2657d8af551a63e9e6de6626919
BLAKE2b-256 dc587695dd24cf007eefb8ad63aaa879a5059ed2598cc50816974b04ad370cad

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a812276744de746051dcf2c2f12d7dff80b0c2ff17518cc381600bae13179273
MD5 df62359e3b2ad26a731d52b2796953d4
BLAKE2b-256 00a2645b3caa5f10bd4db52ecb5a460f2b59130d2c9c35a58534ef2c10cf1fc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0df404f2f27006b65c8e586cd2b8cc90d4f918b9db226e76a46eb8530f15234d
MD5 e446d4bfac58b4efea7e405eb680260c
BLAKE2b-256 45938a8ccfdff9acac69ddcb6f69971b23ddad97b024eaeadf4b8745f4b062a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.23.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 282.4 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7473b92b159f21d5cda1ed6913ca3c8b5b444f765a7c6f4ba3a20060a0191ca4
MD5 9c30d1a16a24625e6aa2fe13407d94e0
BLAKE2b-256 1a4aef7d431726d842d01b1defef94dad3a21f7598744996a363e4e5dd72d345

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314-win_amd64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7f1f220bcfa9aa6347b6c7be96dcdcf25508cec06fff660efe11caf466dd1b65
MD5 a51165f679e0c01fe31aa5463d0c31c8
BLAKE2b-256 9b9f3b4ff18eef45a9f44c5fb1937ca05376f8cf7482318ecb2bbc7e55032366

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 59af6b7de5185ff61bb5fd58c5ddc783af61bece737c48a8c739fe1d1454a02c
MD5 977f602f87817f2bf6a0bbb5953653df
BLAKE2b-256 b57ec8669a1c658fd2eec81d88bc66da699301c2971db7884792028465af654d

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d74a46e6633517d352469aa2cc36fe83b53326b9a39497dfc8456ba23481f47
MD5 91bd5485b03f5c5755c4815e4c6a0412
BLAKE2b-256 14cac1716d45f13f9338ef2b8da3c11798e443c3ae79055a8c85ff38837af159

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.23.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 273.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jollyjack-0.23.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1eeb0d743cf7df3a821222becaa6e9e04027db77c9ea250225eca098a56f955b
MD5 1d6a6ab4e87d120ab9522b86e55c518b
BLAKE2b-256 9d8778d40c0110b630b4317f076abb798682b88bd95373d55785dcbb32da640b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp313-cp313-win_amd64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 067dad091ad692985db776576fa4a5be4377924506186213e318af7c104e9903
MD5 360bad47877c49fb605a7e1f19d4bdec
BLAKE2b-256 1815610bcf3f05309f02f453bf0bbb15e5a870c29d4190a74e8abc1a67a268fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cb39e7ea491b6d23c484f983ab01d7a7f828188bb067a7ddd9567ac980080966
MD5 c8fc2b3e58cf61ec63bc40b7fb752133
BLAKE2b-256 a1e74ae26bd698d775645e24375b3b8a0eeb453b91e15936d63e8790b39fbaf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f92197a0cfce6230281b78957bf07da6afe32b0ce18b7ea04f0d6dc2496f324e
MD5 b93e162fa8779ee45e3cd69759caa3a1
BLAKE2b-256 51e0c19fc8d463bd955615326f4ac9cc70b2eead8e1ac29f27706c2afb5098da

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.23.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 274.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jollyjack-0.23.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 44ca7dc3e4591799a151a9a0c0fb4986653917c36393567d3b833464bf858e00
MD5 e3cca1eed6b7ff7bb8676e4f8c9f17cb
BLAKE2b-256 f06871207e64f70bded5de7994b361cb6e772d35dc54d1521535f0bd469c73e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp312-cp312-win_amd64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cc7fd19ffd170aed185bef31b9755fc599605924b332b0b8376c2c27d64791dc
MD5 8604dde1f9a42dfb560db6b6ec7a591e
BLAKE2b-256 9fc16f96b388c1231c2e96f1c720eb45eb3fc66381679771d29c1742912d7a1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ab162aeb78dda44790dc892d33d02a1aaf48cc84bbe7937177a01e2b3135108
MD5 dacb55a022159cb270dd79b3165f8412
BLAKE2b-256 e7e4db1f4da24fb0eaf4c267ff1803b34566efb060c63d567adb8a6a9e3da6ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ed50e73e2fc4d96fb04d7be6424f821a29b09bfc9cbdd9caf81cd16eadde47b
MD5 c12faaf995d5ea5090a6819eac5fc778
BLAKE2b-256 a4e1fa600f589aa63494cba7431fbb458d003416ece7acab3880ddd6660d058f

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.23.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 273.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jollyjack-0.23.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7ca615476364682199b8fa4dcbff098fa4a32a5f2d88d27e5598df43d828fb90
MD5 a11821d4c5aebacae72170aeb3d8c0f4
BLAKE2b-256 0ee1253f7f87b6bfb47b56677cdbc64200eef6505590fe27c233684e0f5b86d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp311-cp311-win_amd64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8703d3d26dd164df6d35b2866582392e7e9267159683a0b5e1e32282ab81eae8
MD5 bcf0f6517e5eab56d8f0d5fcac5b65e5
BLAKE2b-256 a550bd415cad6e7953845b04b03ab7bf035d2f4e53a7ad9b79acd802c8421147

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1bba428a53f8bc8327eb4a1643fc9b7141b44ce2f960f77500d703d5b572e134
MD5 7a8b2840fe9eb06cf4cd2aba18bbf2e3
BLAKE2b-256 4d6d807f7ee40412779002de13a63c197928c70d206e35febf4c62856a880d9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6814a7875f544f8638b4001c528da150c337b3d51a7fb275ea634e0cfae26ab6
MD5 fe3e3dec5c6725c898daac096e088531
BLAKE2b-256 f99ac551fb74426af4a08eae18d3abc28bf568884c29c77a66119cd9ec5f0421

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.23.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 273.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jollyjack-0.23.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 321addc812891f5de1954dfd67f2a23c5632a3c5206b23b5e877663d2aba02b6
MD5 72f503c530b916cd7f1032a8bd633a5f
BLAKE2b-256 c94077ddbea4f7ec5ee1cd9365a9d473b02647b7ba4ff6a62671d74e39352ac1

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp310-cp310-win_amd64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 490fdc170d48fb6aa364b809193c12a411a6a4f1e5304388c506f587d162e3e3
MD5 fc8727ff1be534abc9d70cb4ed5d55c5
BLAKE2b-256 365e52d56d6018c8db5e7eac4029928639337d4cc6bd6f5d5c0751f8fa989a5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 50f68ceafe7160465eacb2dae3a4feee8742bd62ed5bd29771fb183ed281e46d
MD5 22e03aee80d196144dc87c7564df4b8e
BLAKE2b-256 44875fb906ac7a5a56c3406e297cc71649d259d7d0f75480d71ee9ce746a3807

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jollyjack-0.23.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.23.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3523aa5b141ab09a53e532ed80190c89ed09318177c835a1aaf832c8cb3a142a
MD5 89fa241f26caa18b81fd0b8154537530
BLAKE2b-256 99e8260bae594b27983a599985b58babee981a2bc20008a60fd5d8786be07d91

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.23.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: python.yml on G-Research/JollyJack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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