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 ~= 23.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 23.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.22.2.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.22.2-cp314-cp314t-win_amd64.whl (288.6 kB view details)

Uploaded CPython 3.14tWindows x86-64

jollyjack-0.22.2-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.22.2-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.22.2-cp314-cp314t-macosx_11_0_arm64.whl (101.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14Windows x86-64

jollyjack-0.22.2-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.22.2-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.22.2-cp314-cp314-macosx_11_0_arm64.whl (95.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

jollyjack-0.22.2-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.22.2-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.22.2-cp313-cp313-macosx_11_0_arm64.whl (94.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

jollyjack-0.22.2-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.22.2-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.22.2-cp312-cp312-macosx_11_0_arm64.whl (95.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.22.2-cp311-cp311-win_amd64.whl (273.5 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.22.2-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.22.2-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.22.2-cp311-cp311-macosx_11_0_arm64.whl (95.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

jollyjack-0.22.2-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.22.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

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

jollyjack-0.22.2-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.22.2.tar.gz.

File metadata

  • Download URL: jollyjack-0.22.2.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.22.2.tar.gz
Algorithm Hash digest
SHA256 ea7ac946d38eb9a8de76cbe3b8fe8b560b2a3d168817f0e7806a5ff1a9e6a46d
MD5 e0e5d68587a6f13adc9ce28a236bc1ac
BLAKE2b-256 666170a4860cadb0847b2e6cc0692c1cb09eb53ca09d882d9ba5af40a4c651ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2.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.22.2-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.2-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.22.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 fd0a19352de9fd2d00f929c9a58e636befe09c6948259fd7b8a07ab7324f5998
MD5 b96d4affcd72b77dff20082438d741d2
BLAKE2b-256 a388764e81548474c1485f0731280500ac83b6b354df1abbf8dde71b32923b8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31790343a3b767f2bc2493a897830b2d96befa6b996f8e8c182450cf51877d01
MD5 2602a16d214908490ed910027eec269a
BLAKE2b-256 ee0c365b645e89b60afc4a21f188a62712ea7871832b2e7fff78f50cdd47bfd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c2b04ff18c808a74b06674b4b6510d3e9e7de2afd5b20164d4b4985ddddae840
MD5 6612e5ce00e6e4d664bec9767eb2bb34
BLAKE2b-256 68346c7b60c976ac94f2f9f143c98c07c964223250fafbc164935b8a4344b2ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 28f9f372f3ae0bbe502e03b89e5a2044c9ca14489556739fb8391e2f126ca6a0
MD5 7e89321e19a82ef3b698a3899f5a4f0a
BLAKE2b-256 df7f2edb16a8a0b94be3ce9a86c9d476e819980227b00bd8e017ab3f382135a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.2-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.22.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 38f9bbde938b57a9f292fd2fcbcd021fa4d2cf281ff318d23fecb437edd7da2c
MD5 23f1d24f0839e21a89240dd20d1a82da
BLAKE2b-256 9fcde32257da36090a05bcfc485e1e0c6542e238eb86b7810db59c733cc3f9af

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a6d826cfd1d56ed53c245826f271a9891b832c099a4266adc49043072429fd2
MD5 bea55ae8a1e628fc439d282c7000afac
BLAKE2b-256 96eddea3de14e3d45adf005fecaf82ad71a6134b8eabd81d40f3694838ed6a78

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d9fadb163d515ff9b265ef1dde2f721f13c927814133f7bd7d55864fd8108eaa
MD5 1a2f77f3703b3839ed9b81d715992380
BLAKE2b-256 7ed328d126d1c30359eaca867d7a1cfe6f5b4310d5ded8b39e3fa1f1c94ec969

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de49ea4ec310bb74f6d3d1529b933163b074b83c373014722868f9b8d4f6184b
MD5 861d4bedd39b1c1922afe759dcf828b0
BLAKE2b-256 544e7e7bbe450a283a7acb9334157ec3753b85d1cce3c798299c43eb41ac29c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.2-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.22.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bd62a9cd70f82d0ef7d1d5655b2419b2f990759ce660fd63b04d7f35c3584101
MD5 a9125b3b35920f2812d9a3cba53140b8
BLAKE2b-256 c011fcdc4e328a66d3ff40dd5f37d23eda75b30ac6ec3dc719f38d498ad64909

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dbf650c4b850d5bdfe3349b447b3d30f4407e1c9b10461444a36b47dee22a47f
MD5 200281015164106656de4a46fbbf25b9
BLAKE2b-256 87fb2db1e5c545dd6db3c07eca07078aa7e5054a09820f412c6e5c3d62051adc

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 925b591c8cfea60ea8ac959efef2049a8b7762d047d130ecc111a83832a09248
MD5 7ee87d3a88efef2952aa1d0b815ac148
BLAKE2b-256 596a81847be1a948edfa39408012493c125e79b05fe474db97e2191794f7814e

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 197ce35bc3ca6801c1d70190f003e67cff61c95ed5e8740e534bbce56d885bc6
MD5 71649196204c112380760beb6b97771a
BLAKE2b-256 8db89ffbea7d66ff6caa3444dc1dba78bbf1a9b6f1e8fa7159871259e6e6c942

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.2-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.22.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3618892beefb9e9dcd1e3fbfb0f4293a454bface70a66570a47f802e0a55b88
MD5 b16507808701a12cdce4f8106b1024b4
BLAKE2b-256 314bbddb12dfd7f7fdc027c176b37f869be53328742b1a96e016a245d397ef1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 add94d51cfb94298044b4cd42b0df8e0931a1d624e6dc549a102e99c78ccd76b
MD5 4b1dd5cf0ca537594452c1e43bdb01d9
BLAKE2b-256 9250c68c27d5e3dc69ef323b1a104e7e432ea9ff2037d892fc18f7d7e9890fca

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2eb37c1a5f54fbf00ab2111f62bd26270cd9a07ad37e62cb23d40070554b4bc2
MD5 ba9d1e423104d66d9f241fb74bc1794c
BLAKE2b-256 d0cfcc5ae5fac747f8a783d0a5419f8698fc5ffe8cd39aecbc3ce486b4ce4657

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59edf6e67c413d02d4231c2b8209dd487c9b9b9af29b99d945b08a3b89121e83
MD5 bc9a93279a42c7e70246699c9bc82d87
BLAKE2b-256 c6fd7f00584a3cce21d0ec6adb89b622bef6e0c94e6d572e4e0e51260740bede

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 273.5 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.22.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c1538f813c5d2a5fb296126ef1ab5706890cbd2c2ad75d190cf27cd726bea604
MD5 491e5b6733b4e07fbbd7d3626f639b58
BLAKE2b-256 71687258e34335c64e4c037253c1dc53628f778b62ee264b9b2c8e125def22f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e072d16fd680d889699e7dbd3af581f26fa5f98655d27abafbc24674f7633005
MD5 775b5b3f320a2d5b76ece0490228d4bb
BLAKE2b-256 fb258333dd248f25ca3655b058e58036f8880f7581f6c5a776ee0b18ef4a5236

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7269cbaac1abc882d47318acbc146727e54b074d9a000e4c5c563248cb5b21b0
MD5 58c38f37ecc1988227b1ef542ac7658b
BLAKE2b-256 0f5fc319e50a3f5eb1f6cdbd131cfad7a74b95820feab23c20f23a94486c6cad

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7234107170dd693c3e1fe0f4f3fbabe9479fc46cf5b57ebccb3e238b81a545e6
MD5 ee87d2ce2b65cae82c27f39a27076939
BLAKE2b-256 b767ca5e1f6c09c95fa808640700697773edcb7eb859107c388e6df40bd434d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.2-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.22.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2267f5ef53d63c91b41fb423d69a6e9b671a50c0d02e4f96d690d4a60665736b
MD5 95983fa74fb521dbbae2b84f8ddabc1e
BLAKE2b-256 b0fa3651fabe16e27c8f0f63e752f32c2dd5b373f7bf06e6b2feece62ee709b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a6d0c8f2292953cc14f739a44c90bd60b6ba7832b134ea07a273f9d97b7e23f1
MD5 9bdf81357fde8e0382bc4b3183a7a1a6
BLAKE2b-256 b8b551a5361e5959a1f0e0c02b0f762ceffd89c2536dd19063f0fffa300e6a2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6509e9e27dc2d37b0f75b852fa0a87cd706e7e40e8ef7567bbb0d5aae4785cd9
MD5 e146913fc7433270a14a3a70c60973f7
BLAKE2b-256 16675d700d4273dc8ff30596074b771e581aeebf0bf38f62899c460c63be6116

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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.22.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f446c5a8f11f73dde596876a01a5cdd3baa93222efe08eabc92d47ecb2eabc02
MD5 5c54d3b023d4fa621af80d1a5e0960e5
BLAKE2b-256 5720bb6bcca218b7b6aca0dc7543a5bb70335049783ecf743cc67ec37852748c

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.22.2-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