Skip to main content

Read parquet data directly into numpy array

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 use the default reader backend (no io_uring)

Requirements

  • pyarrow ~= 22.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 22.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 entire file into 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 entire file into the 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.0.tar.gz (189.9 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.0-cp314-cp314t-win_amd64.whl (283.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

jollyjack-0.22.0-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.0-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.0-cp314-cp314t-macosx_11_0_arm64.whl (95.4 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

jollyjack-0.22.0-cp314-cp314-win_amd64.whl (277.1 kB view details)

Uploaded CPython 3.14Windows x86-64

jollyjack-0.22.0-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.0-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.0-cp314-cp314-macosx_11_0_arm64.whl (89.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

jollyjack-0.22.0-cp313-cp313-win_amd64.whl (268.6 kB view details)

Uploaded CPython 3.13Windows x86-64

jollyjack-0.22.0-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.0-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.0-cp313-cp313-macosx_11_0_arm64.whl (89.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

jollyjack-0.22.0-cp312-cp312-win_amd64.whl (268.9 kB view details)

Uploaded CPython 3.12Windows x86-64

jollyjack-0.22.0-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.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (89.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.22.0-cp311-cp311-win_amd64.whl (268.4 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.22.0-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.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (90.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

jollyjack-0.22.0-cp310-cp310-win_amd64.whl (268.0 kB view details)

Uploaded CPython 3.10Windows x86-64

jollyjack-0.22.0-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.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (90.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: jollyjack-0.22.0.tar.gz
  • Upload date:
  • Size: 189.9 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.0.tar.gz
Algorithm Hash digest
SHA256 b81f0995ab776d9b6ad0c79bb3a96f684ba9bc01e6f894bcba95b23c6e2521a3
MD5 9d69c650965360322118577da1c0478a
BLAKE2b-256 b51b83de781db3cb7fe2fc08622a6743582b27615ac2787179361cbfb49f2cc4

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 283.9 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.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 511784d28d7f1130d3c241cb0d43a658514c801887e2ac1cc992c0256cd13b7f
MD5 f0924c1a879ecb0cf1d2b57fb71eb618
BLAKE2b-256 f5dbabf583cb91cae0fb3a1997f078ac51f47faf669ec08a17f6794a15464c8f

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 efb763ebcb61e06ce896a6b98b1a27682acec003cb7a317daa8b9d603a74480a
MD5 0eca732fea37d3b301d2b4d172f27d6c
BLAKE2b-256 f4a05535114086d0e976904302b2b67ccae1f48e9c62ff3638862affa42f5d58

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b13017c86a3b2afb27c0a62ebb3bc56e6c246d410eff9d1fe22c4955bf58904b
MD5 bd012a5cd4ee6f7cfe874559ac9b4898
BLAKE2b-256 bf4d4190c52584e4eb987c3f7ed08b95f148ed63b57d198d9919427a99c4583e

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c07f6ac829cdd5782835c04070f1ab44dbecd19e99d7a84fdc3002005e5a72ad
MD5 f80298a2cd684fc83d1eeb72a50ea59e
BLAKE2b-256 fb2b3bf3f6a2fedea9a34c3844ab364cfd1b58b127dd028788a935893097b39e

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 277.1 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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8d55b98319424a5c769d22d1ba8f50b55974bc23add77e2513b52b23ef2085b7
MD5 dd377de50c7152b90f6c6addaa8a3bea
BLAKE2b-256 5ab068efd8b43d50d37ea6b0824c786bec606c777b1f11727d17e15c23bcf9ff

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0cb326e08bafc7eec85d86108350ce1531c043df63fcde299b568311cdd6425a
MD5 cfab480cd4834c713f4730a6b984a73c
BLAKE2b-256 f5f464494e95f0dc9a4224ff9fb1b0ebda22b4d5c4c0908f03d44ad1d28c23f5

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f0bdf37a3a80ffd7ed00e4b8345f823db799f15fea5ef635a2c97cb9b298047f
MD5 1b9868c48fa98e40cd23ec17d022f15b
BLAKE2b-256 4701356dc9e5093d29c05c40b19b961d3398e7c77565eb6dd47ddcdcb0e5807f

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f59efc54cbc2e3b94af713a85f2c3a8b5649c359ad8502d1bf2afffb43b12aa6
MD5 55df82cf3d9a74949f73c4db6a5cfb33
BLAKE2b-256 8a691a02d88886808d5538fe65b2c9d607ad81d36a76cb7b913fe8b42fccd3f1

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 268.6 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 384caa659db36a21c1e13d9ce0078576a0d45f82da97da03cf68002cee00cc82
MD5 04facb4750af0f7fde06ab289f7af749
BLAKE2b-256 aeed99dd7e67b98d1c53bb2fdf388f1580c7a5c83055e8184df9948d48b71482

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8d5d9bc275874d709ea92b6b820e5f828c4b865bb1242b7ed71a4a0635131a8
MD5 da50595a03d619826daff8a725760819
BLAKE2b-256 98ae6955b04ef3ce09206a44627b7abe5aed28e961ed26b452d5db2007323e39

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e7cf11919a5bd52da6296e0dfd916843ca60ab7b2f2dc01a8bd26ae5fc0d1be5
MD5 aabfff41148cc8c011d38f5f35e8db11
BLAKE2b-256 3f6c167dc0895093f6e2c54e0f5fff7f73991cfe6bfad9708372974b1ded0d47

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb7dcff1d4e4cd531d5776416dc7308af5b5736b8294cb380442d16b45946297
MD5 5215b67d54a3ac37890db0f820e5bc5b
BLAKE2b-256 7ff1a4fe60a568690821dfdb9827761ee5843052c668852ed41c8322faa1886f

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 268.9 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 955ee98f0b86ac9ac19a8f3e62d967a7ea193706e6e2910ffae1c83fefb0616f
MD5 b45494b7382c6ac5b5649a65533b2b22
BLAKE2b-256 62f4304fa1abbd4aa9389ecd6bb024fdba0791cbff8b8a58b6c52d72eb271f00

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8fd51660b490714913f38f3aa232e27d1812840da6bfce68541524ecd5dee6d6
MD5 80a7f9e14664322f10b2a199a322cc5a
BLAKE2b-256 f41976969c2c918a9ba2e150f62b5042399f84012ee5e532d7d30ae8779e71d4

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a49d8def0fb7d12f0f8b7551b6c5a7f388b25c8880e2aaff03e624324cf7bd64
MD5 c371245fdff83a74ff7522fa4638aace
BLAKE2b-256 a19274903ab75178b75db2324f3dfe57a7583f7710f844e5c5e3a63aeb76e0c1

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57d866a04efccf2c3f06bab6911b58d6b10fe8a0952120d00850121c983d3cf9
MD5 206a385d6672f71264e5e76a6e32f489
BLAKE2b-256 0c8126ebcf9a51d43dc377f67a87a0f6f7c7a16bac9edc8fb0b1e8c8d5a08cbb

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 268.4 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b6cb3f20a20ae264dbe08dfdf776d8228385b498781c6542e5b1fa843f19539a
MD5 5cf091a3ef1114d86c098133152f9780
BLAKE2b-256 be8c7f1a3c84a70f2cdf19bb76350b5af3186345871a35b3dbb8eb4f5e4b120f

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b63691e092ebc99210a96d9b1b93a6b1e7ee55fcfd292b74ca3e9bfbc9de7250
MD5 c014422723d9d584efe6f4c188de0e7b
BLAKE2b-256 c7a9233a01fc0506c91ffcce16399b9a2c94d4799a9257babcc595401c2f11c6

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1a1698eea65723a7c111d8d6bc896e9933e912ad59d1e0675447c94bc6417593
MD5 df35959440fe73d00bf23e6b93ba7bd0
BLAKE2b-256 451a23bc46035ec681ea24605b8562153858ac633ebe959dd924e5ff5c8a6355

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a97362c1961fdd52aa00d68e176474c19e565a3cd2f7a8597c04f4e0947e440c
MD5 8ead81d8d3e83b031bf226ff380b16dc
BLAKE2b-256 4d6fea3addfc39fe130e747b92aea2e9648b2e62918facae80aac2d208333a0d

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.22.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 268.0 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 37064553ac8a8d9480c577a8360c29fb96b0a3437cab115e933d2edb66233c02
MD5 d914460224d2246a5bfbd647215aa8df
BLAKE2b-256 b4b3a2ab76bb9c74ea75e3f3597e0e85e39d436ed4548dcfaf8c5ad67ee7a2b0

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aef64c8d68ee6f7143328a78a9d9223fb6313beb16350df26589f4e8fbf9598e
MD5 45dea5b8165c5650976930b776204c6e
BLAKE2b-256 8ab0f9fdb8a4c08f9d3cea730721e3b9c1364cbd2a57117d6148301016c8c27f

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 db046cad282f3940b6c97e557e4652763ad9e6b58f7917e0f790cc2a1ec59b37
MD5 b2fb36ec80c29d839aeed1a7644f7df8
BLAKE2b-256 07cc7b3a0bf5bf7eaaed95b68282def6408c298c7348d03f74dca8e626fc7967

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.22.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4833c80c01b369614d5391823c96e605a80eff0e04f273aa85b4a3744ae3e0f6
MD5 21731770e54da1f4e53c553075752a33
BLAKE2b-256 6ebf14e8c1c9fddcdeeabd71688fbb3c3019dacc0a5ae05daea834255b5da36c

See more details on using hashes here.

Provenance

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

Publisher: python.yml on marcin-krystianc/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