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).

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=1024, range_size_limit=2048, lazy=True)
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.1.tar.gz (189.8 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.1-cp314-cp314t-win_amd64.whl (284.6 kB view details)

Uploaded CPython 3.14tWindows x86-64

jollyjack-0.22.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp314-cp314t-macosx_11_0_arm64.whl (95.8 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

jollyjack-0.22.1-cp314-cp314-win_amd64.whl (277.9 kB view details)

Uploaded CPython 3.14Windows x86-64

jollyjack-0.22.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp314-cp314-macosx_11_0_arm64.whl (90.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

jollyjack-0.22.1-cp313-cp313-win_amd64.whl (269.3 kB view details)

Uploaded CPython 3.13Windows x86-64

jollyjack-0.22.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.22.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp313-cp313-macosx_11_0_arm64.whl (89.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

jollyjack-0.22.1-cp312-cp312-win_amd64.whl (269.6 kB view details)

Uploaded CPython 3.12Windows x86-64

jollyjack-0.22.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp312-cp312-macosx_11_0_arm64.whl (90.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.22.1-cp311-cp311-win_amd64.whl (269.1 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.22.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.22.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

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

jollyjack-0.22.1-cp311-cp311-macosx_11_0_arm64.whl (90.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

jollyjack-0.22.1-cp310-cp310-win_amd64.whl (268.8 kB view details)

Uploaded CPython 3.10Windows x86-64

jollyjack-0.22.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

jollyjack-0.22.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (90.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for jollyjack-0.22.1.tar.gz
Algorithm Hash digest
SHA256 ada56afe79c15509b102d25295e46f0102420f605b63cf8e4521632a21a9774b
MD5 3d70df97bd901e683968ec8120cc1a48
BLAKE2b-256 6593c7b78ef034999a7e88015149c11faacc56e49e2d18108371f956e5d6651c

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 a26c542b17ef9c83495c02eb999e4509637d078f18fd3190f0a6847d0b27e728
MD5 3b68f475a0ea409c90db260ad74e2b82
BLAKE2b-256 2a6c3cdd67fe114d9cb9ca7bf1c1982c152201bddae89b4624344639272dbaa9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6533e9c467fecb85be4805de21a1297dc2994ab479eb1d5260ea28a82d050fd
MD5 63d3e37e293363751a52a6641a8f33c0
BLAKE2b-256 ffba1941b345df70c158e9bd0932d3b2cc94e7a9f41eaf818422a3f94fbfa33d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c40c87d3a64ef6a53fa08a4eea98605b01a3326b8248069a51529951eaea6015
MD5 de0237cefe2a33da200ca2c7ba731fec
BLAKE2b-256 c7c5aa98bfe335fe4b6976a1c95877757cef91307b4dccf8e107be3a2f27d376

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f02fd1ba60bfe080897fb04266169647c2e49ac7df5acfe1ac06cec18920f0d4
MD5 2d75db0aee942e3d9fb12488b8e7b07f
BLAKE2b-256 944e2fbe2af8003b37f70916a6948a21384309babfe057cee19bb3e24bfb7ae6

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5f1409a334bd04affca2fa6e8bfc54010a70c6388c5a24a78e5b8b30a86d9afa
MD5 6c6ac4bea12d51e5208075a6397a4f97
BLAKE2b-256 469a2de339d3a86a26350f77883b778cc577601d531ec57e4338063a9e85b38f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e2ec5dc690d64267e34c7e0fdbc9009d130496cad92e9c39c8a2f5d7aafc443d
MD5 367f53bdbe19ecefd72d0b156a53be7c
BLAKE2b-256 233d54c9f6b0fd248a5145212be74dc7828caab3f447e1621d44de168ff6c97d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 82ca7413d821590fd9e1f551ab8399fc033040ea713559af2b9e6c7a01a113b4
MD5 2a7c92bc72dbf83a8246cff03053a12b
BLAKE2b-256 2aca8188bc445c174d5ec835be1c3ff69b52edf60e67752b13d2b709c24cbb67

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2299a6d8fde7866c8b66687ef1ee30880181837a002db69f9e71e230d156d8a
MD5 2f8a9b1ba72a1fd894603a0966ce1bf1
BLAKE2b-256 fd9be7d1823831ae44ce9829ba7c8f52809d856996910502478838858579e182

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.22.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ee7d2c0392e40621738912ac458d3e1649461563e09b308a6970d75f26583086
MD5 2e0f1151fcbc155267c3fd316d761219
BLAKE2b-256 e037678e5ec8926211b31c83b58dfffef5657c0114619bfea09b0d492c7d6bc9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 716c53e4f0a63015e7384cbdf35788b5ca572236b212481e0ef877ad67fc8505
MD5 0421d284f2b7d784d799a12d74896644
BLAKE2b-256 4ef9237aeceb77222103ec9135cfe91a1802ccb41ee055c40d86755ee62a98eb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2d865b3c88766a90a06427808ad391551aaca5576322e76bb627fcf629de4891
MD5 7e08c56dd3d6a275fe9c32d7fe1a078d
BLAKE2b-256 76732f646935dd894345ac17dee24333bdb1e9be8bef00af9b921cbe11983c76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2944d99370e2d395d65f2381e36fea624f02d6c63b6452c36f645e0c3275443e
MD5 6b2ec1b2f81a657de15bacd47b0f3c24
BLAKE2b-256 017440a83fb3fd322d00d59f45bd195f4dbe7768cc7a892f5a03805e5770c288

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.22.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fc949a2257256d802bf5437395c200e951aac1b0a40c32b21378d2b90594ed62
MD5 e6f1d27a6a8cdd3fd34251b8e3873dd0
BLAKE2b-256 f900da88b5bcf1022b18bbd27eedaf742209be0f4cb837ace2e87953670d3f1c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 efb582eeceed56f219de3cd1d0f2b07ed83da612b884850c605a99e1ec1643ab
MD5 a9cc05d4d9083fd177b1b4ff92a208a3
BLAKE2b-256 a52587f7c73c3c9425fba2f4f4746cc85bbd1dc02747fb475a01727ab2feaa82

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b26b767baf2e6c567f97335f5297fb783649505f964a7b0472f205cc3cecdce5
MD5 c77572b55cefbc896cd38affa6c181b8
BLAKE2b-256 cb28a52eae60f369c9d0c5e25b256d5b20e52c120e734fb56e788ebec0820ea3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21e5632acacbebcdc5feb6656a357adf751136fa086207496b48bcc2b52bc2fe
MD5 b9d5426e1059829d1e170eb4d1be51ff
BLAKE2b-256 c6b748e4c68c8f945c1d02afdbc5499648e42b960b4630384022e1b839af3449

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.22.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 92b8a109b52690255b444387f45857d51db775a38fdea8e2314c2ec5891e12e1
MD5 db8d12e4146b224d3f22551a854a34fb
BLAKE2b-256 c73b1e4b9894d189e73ec9010de121d1504f3b9ae52f2e1d4f430847dd029ebf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2b2853329453f9e2c04f973d89531aeaad9db56ef9826fb4127a32b937fe782c
MD5 6c6c4e66f0091248c8b96648edc849d1
BLAKE2b-256 33e206142f90456590aa4a7136f3a099638f757d7a7b24a4733a31c8fee8d3e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0235e8aeb74197a40d256ccb545a13f78ea76b3a185b90813626deb5bc03d8ba
MD5 7f51207883223be6ffbd9b2d7e5a7099
BLAKE2b-256 39264e51680158df442c3f3a22ffc7248aebb96e73e17487c55126c87dee673d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c4fb3764272f04e7fb2ee3cc46f84335f4ae3717c112943b89606ebc4462250
MD5 2a94f4d338a197b862a10d1555811862
BLAKE2b-256 22c4277e5c6f80ecd95b89dfcc19bdb9fbb8f40a9351f0ce826479e60cb3ff20

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.22.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1fa25b6e0b83f3f4bfe3c5634b16ba719a48539606f8998932c8104a6e7a41cd
MD5 3f90043db2fa3235e7f13575945a37a4
BLAKE2b-256 9f079f02aa863d64616a02310a57a4b60bb235c5335b83c0d60309229c61c402

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 216102a7bd00b68ccf06ae04a2bc573f95822a53bae058d8a5534647178a25cd
MD5 5a60a020d9c5f21b6e89dfd86a9942ef
BLAKE2b-256 225cf921f58c12667271e2eaf2bf623abcd8787e469da47fda758bc1e5093d19

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5c1969b1a34e4eb877556609cac40d1f3595e782eaa6cf8028589040ab16349
MD5 7972dcfe5bbbed1080f9a09fbe1cf7f2
BLAKE2b-256 38fc73e0fcea7c616efd38c8d4890afa44de799e4c48fc5306f7208eb2ec2d53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.22.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed42b2f143bb074ba88dd1a7aa5e28cc3a92eda76c9c2062fdf623148b7ba21d
MD5 07945e31643da8ba222cd60a402f3810
BLAKE2b-256 fa9d6352bcae19012cbb11d73b962dfe47057708ccbc1e755b0fa8e2a7e5d946

See more details on using hashes here.

Provenance

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