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 lower memory use than vanilla PyArrow
  • Compatibility with PalletJack
  • Optional io_uring + O_DIRECT backend for I/O-bound workloads

Known limitations

  • Data cannot 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 page cache
  • io_uring_odirect - Uses io_uring with O_DIRECT (bypasses 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 degraded 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 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 is to

  • use_threads = False, pre_buffer = False and use 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 reversed 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 torch 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.21.0.tar.gz (190.0 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.21.0-cp314-cp314t-win_amd64.whl (283.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

jollyjack-0.21.0-cp314-cp314-win_amd64.whl (277.2 kB view details)

Uploaded CPython 3.14Windows x86-64

jollyjack-0.21.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.21.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.21.0-cp314-cp314-macosx_11_0_arm64.whl (89.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

jollyjack-0.21.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.21.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.21.0-cp313-cp313-macosx_11_0_arm64.whl (89.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

jollyjack-0.21.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.21.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.21.0-cp312-cp312-macosx_11_0_arm64.whl (89.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.21.0-cp311-cp311-win_amd64.whl (268.5 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.21.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.21.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.21.0-cp311-cp311-macosx_11_0_arm64.whl (90.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

jollyjack-0.21.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.21.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.21.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.21.0.tar.gz.

File metadata

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

File hashes

Hashes for jollyjack-0.21.0.tar.gz
Algorithm Hash digest
SHA256 e7ba42300c904cea56153b9ab3afa67cdaf29c6dcd1645ab1aab2f4d01b92874
MD5 bd9f9592988d081a8cff467c849212b6
BLAKE2b-256 917e0c132d9aef9e6627fa04a877f8d5e1a8a8072137a4012f53fccd3b5b83af

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.21.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.21.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 c70ac3d20d466b9439978988ade812203834c4145e468dde73a1fba55ec07035
MD5 c1f47642ec30e8a64c58d5da98852fb6
BLAKE2b-256 3274bce19ba668c67187ea4c32b95bad7056813b742ea4556b50a52bb11230bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 67eefa129ea6967eadd0960935dfdeae4d3cb3049e20ea971867e384451dce7c
MD5 e7c78d70740ed5e2ac941575444e633d
BLAKE2b-256 ffb63bcbf61d875486139cf6cb782ca96f23f48fad261af6cc283a99c383eb38

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0ebf68052ab076ac15113708c1d6053db0c9b041d23f330a2247fc53035d70c2
MD5 d8785f483601720bfa4428ea09af04dc
BLAKE2b-256 c40e73babc243dd64bcefeccff334e7d191498246ef96afc68fba435cbe2b25f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f14a9dbfb39a3b90989bcd3166a5c6610d61053398758f5fe8f18064d604a30b
MD5 ca71244e3a49a7b07fea1db888be2c8b
BLAKE2b-256 914c4e6eb834c604fa31898bf099a2cff96780cc9913e540c5a71ab16f1e4164

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.21.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 277.2 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.21.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6c461607ce2de5ba4459c22844953e9564dafa84754d5dc6e69cb2a3192a1a94
MD5 77a33c9becee3e67aa5179cda76ea9f0
BLAKE2b-256 4b315e5342ecab10b6b1109ce36d6dc674b522ff96e836c577074e4abbd4c045

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26cf840db2fe717feab881a518bc57584f1b4a296d059d4aefd91a789689c11e
MD5 5114c48d87add22f7aca3f3e0ea39ecf
BLAKE2b-256 f271e71a9262ca048a14c7b251a299f1632569fa9a6ad3d47170da2f44a9c3ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 77d66cdea87a10079f199127a25c58e63332c4ccb91c0a254b8ac62a3f3030a4
MD5 55e5ce221ba2fac2eb6465c5b30fdefe
BLAKE2b-256 c83f7638e84990987285af00d88b223c12f56306702abf5721c1cb663d8c27f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e74d25ea153a07d68adfe89e5222fdcf5a0c7a44f727e3fd07c5f805a0283fe2
MD5 37d2451165792e209ddd2da9f7643359
BLAKE2b-256 6d07279d28978ae1434fda0179794a445eae80187ec93ed32c9625469b003e77

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.21.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.21.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7776218c9656e489608a9f5f7105d6388e28aaf160bacb134b42156bfa0b6688
MD5 ce7e8d109fa4ad24fa356af87d73bc30
BLAKE2b-256 e3cdca99a34dd37a351221e81374a6f9c2b44de6c02f83cfa0b51f9614bd05bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 18e24d5fef7ba0c9c218fafda055af8cdbedb82a8e912ec0cbfa200bc910f444
MD5 dc207a8a8134efa64d2255d179c54f8f
BLAKE2b-256 04fa99a7d4f7df1cab0b60cc0e47b68a9fe8fd631e584f6c5fdc6a209302f293

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de13b351199f17d53f97bcd479a92de19bc3eafc4984cbaf3af45aa622cf0abe
MD5 873aece2a58fc4503573642391756d25
BLAKE2b-256 9a51f079bfb7e804849b5dfe33daced20e1c57994eaa3a186afb1f7eabe229c3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab20060b3514f4ad697f69ddfb776d05272a696e596f6ad749e17e1d710a10ee
MD5 34fdce28340607cc2dc949dfed478d3d
BLAKE2b-256 3ee2b5f5058000742f877d34e62dcb9272f7136c34d2fd74d2376abff8dc6408

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.21.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.21.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 85692b6e4bd76b869e060dd5f298a2f8a4a08885b4f921453bd8052d1ca807a9
MD5 25d4c9d2f4870b6fe45effc900bae42e
BLAKE2b-256 a98c76f7c65c1bbd548e4ff7609fe29afe0b02b4e29ed567d66377bd3ce264d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2449fa45dbba57afea4eb6d1c29eed8927ed44189569d4f582f89071a0d51f7d
MD5 1e1b3b3c111fff8c1c082df8abe31403
BLAKE2b-256 62f89fae491c010b4f665bdb1ac280b837fb99582f587a181728658db41cb830

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 acf6e640406bf3ae6ef1e23b8e17ad93e96c1683fd006e81f3f136e6491669db
MD5 023878e70acced215808f1375cca0653
BLAKE2b-256 4533f7f8448bf50da1e3999c4aed98d21df5e181fdf8303bdb4cbbc9597c94a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c174f22a5b9cdd1e1751ef289d3aaf2ee19ea1ced46e67818b49c31555675a55
MD5 f6feea172bc02799e88d7bcf445dae45
BLAKE2b-256 f9147b635f60fc16c92251238dd411af4ef556619adf6a120d8b302f400b9a5b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.21.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 268.5 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.21.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 748ca5a32542d5223b25723a82a375ac2d37417efa4216102d8f3ad46fd2e3f2
MD5 0345abfb560fcf94fa77b2a233bfbf15
BLAKE2b-256 79d86a699c5df1a88090def92a033daa33ea44ce0863f982bf84e7a4f5e460d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 20d5521f7b0ecd7e2e57377da5877c9673f6ad8b4b23eccc24aff3c85c3a7a70
MD5 27d93b3eece229dc77d900482daca811
BLAKE2b-256 15770c9721462741685dedebac3a86e4e331f65f2441f8886a8591f470f181da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 13557d1f653f207da503f26818c60eface79e33087f1b147019db19905950c59
MD5 72f3ff8a26b3813dfc109bcc0975e8e9
BLAKE2b-256 7e8746bdfc8a5a9a4bb0a0043640a2581d7dc98436c6ef3e6196e4a5038bfa56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f3d53d1fe8f421d467060c378cd872644b345c75ecad563af7cf3470cfe6e85
MD5 be2db6eb4165215eb6a8e576ac871fc1
BLAKE2b-256 4398e8e3c4c2b80d5e7381548def19be71e69e6a1aee82c473c4da80bc710ff8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.21.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.21.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 014627ad1b88e16743df629f01536705ced03b2ce4670257fa0014b256ec5936
MD5 ba9e091ab4044986d5962112749a8f0e
BLAKE2b-256 14aa384b6a6b310607da23fe391e8ddde26db220b30846cfe4d8b73f86fef1ff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a9917a7cebfa8012c47f72a5a571aced9c12567f721cb2168190e9877f1b961b
MD5 988dff2e4bfdf3d2dd3bacbdba83b18d
BLAKE2b-256 00223356f5f5aef5f61778b5bcf6b2177ecb089b92edb14a0f5ed4c939d9708c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de6cd81011c83e7dfd3ee4d4edd7b4a87a892daf41766c58bda3f29acd758bd5
MD5 16e6e14097c431c038ae8f2255f67903
BLAKE2b-256 b0b8a395f0058c022f58783e3be5736506d2d7753b95c6e1d961963690edfc97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.21.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6726031ff2a045794d3d06505cb71d5d0ee650248164bbaada80f287e8c993d8
MD5 18dcbf8fac64841672bf2e2a5c0450b4
BLAKE2b-256 6b329e5bf6c17a4fa5ecda1c1ace6325d05c2b70431f2f8220a77b1ffde7813a

See more details on using hashes here.

Provenance

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