Skip to main content

Read parquet data directly into numpy array

Project description

JollyJack

Features

  • Reading parquet files directly into numpy arrays and torch tensors (fp16, fp32, fp64)
  • Faster and requiring less memory than vanilla PyArrow
  • Compatibility with PalletJack

Known limitations

  • Data cannot contain null values

Required

  • pyarrow ~= 21.0.0

JollyJack operates on top of pyarrow, making it an essential requirement for both building and using JollyJack. While our source package is compatible with recent versions of pyarrow, the binary distribution package specifically requires the latest major version of pyarrow.

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)

Generating a torch tensor to read into:

import torch
# Create a tesnsor 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)

Benchmarks:

n_threads use_threads pre_buffer dtype compression PyArrow JollyJack
1 False False float None 6.79s 3.55s
1 True False float None 5.17s 2.32s
1 False True float None 5.54s 2.76s
1 True True float None 3.98s 2.66s
2 False False float None 4.63s 2.33s
2 True False float None 3.89s 2.36s
2 False True float None 4.19s 2.61s
2 True True float None 3.36s 2.39s
1 False False float snappy 7.00s 3.56s
1 True False float snappy 5.21s 2.23s
1 False True float snappy 5.22s 3.30s
1 True True float snappy 3.73s 2.84s
2 False False float snappy 4.43s 2.49s
2 True False float snappy 3.40s 2.42s
2 False True float snappy 4.07s 2.63s
2 True True float snappy 3.14s 2.55s
1 False False halffloat None 7.21s 1.23s
1 True False halffloat None 3.53s 0.71s
1 False True halffloat None 7.43s 1.96s
1 True True halffloat None 4.04s 1.52s
2 False False halffloat None 3.84s 0.64s
2 True False halffloat None 3.11s 0.57s
2 False True halffloat None 4.07s 1.17s
2 True True halffloat None 3.39s 1.14s

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.18.2.tar.gz (187.2 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.18.2-cp313-cp313-win_amd64.whl (271.4 kB view details)

Uploaded CPython 3.13Windows x86-64

jollyjack-0.18.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.8 MB view details)

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

jollyjack-0.18.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.7 MB view details)

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

jollyjack-0.18.2-cp313-cp313-macosx_11_0_arm64.whl (95.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

jollyjack-0.18.2-cp312-cp312-win_amd64.whl (271.9 kB view details)

Uploaded CPython 3.12Windows x86-64

jollyjack-0.18.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.8 MB view details)

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

jollyjack-0.18.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.7 MB view details)

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

jollyjack-0.18.2-cp312-cp312-macosx_11_0_arm64.whl (96.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.18.2-cp311-cp311-win_amd64.whl (271.7 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.18.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.8 MB view details)

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

jollyjack-0.18.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.7 MB view details)

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

jollyjack-0.18.2-cp311-cp311-macosx_11_0_arm64.whl (96.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

jollyjack-0.18.2-cp310-cp310-win_amd64.whl (271.3 kB view details)

Uploaded CPython 3.10Windows x86-64

jollyjack-0.18.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.8 MB view details)

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

jollyjack-0.18.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.7 MB view details)

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

jollyjack-0.18.2-cp310-cp310-macosx_11_0_arm64.whl (95.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

jollyjack-0.18.2-cp39-cp39-win_amd64.whl (272.0 kB view details)

Uploaded CPython 3.9Windows x86-64

jollyjack-0.18.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.8 MB view details)

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

jollyjack-0.18.2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.7 MB view details)

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

jollyjack-0.18.2-cp39-cp39-macosx_11_0_arm64.whl (95.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for jollyjack-0.18.2.tar.gz
Algorithm Hash digest
SHA256 69d299c9d6a84a81e6cecfad967a83d0e73fd887f8cbc5b347e67c8b33cea74e
MD5 4bc8e233d347a34bd046bc0e4d7ee3fb
BLAKE2b-256 cbb2fb90e9faf9889c8479e8da86d9d803b633a9a4fbe7f0a7417c007f2186d3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 271.4 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.18.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3e09179aac17d252ac4fd91c23a81249a534b672a4806b987448a1117dde5622
MD5 6f3cbb1b48620f65464085b00b1ccec3
BLAKE2b-256 2a4160c6d589be7da5dd775bd91b3cfe98d726911392a8d90ec8dc9671b756f8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 901dffee8e6627bb2b81d1dbaa9812bb1334d5e2b76e4c0d27446a9eef26d501
MD5 a245a4d667101703959080334a96f093
BLAKE2b-256 d1e553a94ced8c025f141f4b2df7306ba56d5ea75dfac3ce2d1bc44136ff7bb2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b438e0993ad46cf1c63fddd3fbb54272b45d5b911d7f39502aee955511d29bf1
MD5 26c425e63aee2caab499c24ea08dca1f
BLAKE2b-256 6d90873f727ad807e855f40939e5a6cc2dbed7ef38f5dcfb9c2c0ed5951ae53c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 967cd11dec81289c7167cf0f201c63d3e3707281c93d2e3331f68d13d15a0ffe
MD5 af0f5b5b405b776e6856fb475d7e8a88
BLAKE2b-256 96418a31391d63aa8194ca65dffdf0a86bb5e9feb7f5e494da19c1eba7137a19

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 271.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.18.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 57b67ccfb6502def7b449697c371f1ecc6e213eb139fc3e1271d6135346f8d19
MD5 1f05f373c57185e4e7627a573fee35b1
BLAKE2b-256 e7bdb040aa0b2cee0e35c324bcde9eab6311820dc9430056ccf5e8a59511709b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a271ae5afab0f0188c996594b4fd306255747d417993c84c561da4e758373af
MD5 5cefec21582908b6b13f2cefe0abad00
BLAKE2b-256 fee160aafad6b5ffe5aa32473e71df2a7e0160e6a28a8ac2914d7fe7a2c13604

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2d1f86aea31eed32f49c799678967eaff4f03d10459d0f6e59f4786ac39acf2f
MD5 547c2a7c68b258d2fce5f600c120c62f
BLAKE2b-256 9e9f860cecc8003c7667a839e5e21029b823f730932f5e2354f65fd6699ea55c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1002cafd557b97e3f0702dadc121c271b091425f652077d2266aa6ff57e45f5b
MD5 7d994fe75ea30993fddbd71803019737
BLAKE2b-256 2fc703ef4af66f9b6373232a293ad8d433b6af1050ef97f6f7b0ed6bde5d27f2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 271.7 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.18.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7ef3764e269165cbbb2cf41a6f265d43926584f4fd8e4842bf09e9c7b8ebb3ab
MD5 cea3368e19e94e8477532239272c2684
BLAKE2b-256 9d184658a816fb7b4ab0a77ba07b33edbf425700f185b4af88e700108da2aa19

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8aa7f3709fe8242abd28824e04b2c23b5437249cd36bf7c8ecdd16d8bfab8e9
MD5 d51899d6afaaadf49fc97549ba22aca2
BLAKE2b-256 bfb575cac54a6c49ead3227e27d557fe4f455ba5d0ef36a3984d8b7754ad5e40

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f015064cc3a473bf0b1ca6b7663a4087cc723bd5d596ff41896be9a4f8ed2414
MD5 44a27dd997981ef721b059723767e301
BLAKE2b-256 c8456a3716202f2348c40dd6f21f8827a6ad03ff2c12c884369ca3e6e668ecda

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c18507f8515d735b98c37d276db811410edb8ac7d505a8da63f4088a08da57e
MD5 1073fb37aba1f6c33492bc04235f8e38
BLAKE2b-256 0bc3a725ce4de8d4d52202d42e6694d4f8bbdb3edfda4d20a1a2e8d9789ac8f8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 271.3 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.18.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3c53562412975d3c6848022b901af0933c1488f3d74a0342508c12c915ebcb48
MD5 f52240177eff10cc6710feb980ecdbf1
BLAKE2b-256 4b87a5b551bf0322c41a5738fef3ed3d341dd5594fcfc4fa4054e59aba31b01d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 67ba7fee281cf05e86232c514ae012cdca2568cd11dc5963cdb3669d6ef7f1ed
MD5 030ef90d901742fcb42ef352857ad61e
BLAKE2b-256 249b9996c320e915be1c83de26b107147f16ae70960e68cc9dcfbc62d1c3c581

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 307237d587c71decb4b35a60ad312ed8db7ebccc5e6e18a3428eaa3a7c54b7a4
MD5 8c1eb8791a484738ae3a88be1104f2fe
BLAKE2b-256 002d9d626430a7922a5017c51f6f959b796bd909c504bc020430a708470e6590

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 995cc65cf1174303f8044ba66254d670b5e8941d29a027abf9cdbdfc6232f103
MD5 0d83dbce6b35482f21aab0a2d89a03a1
BLAKE2b-256 a1bdf001f129b5f8dcf97cdb92d55659fd230182af4d667926273b99c1cefcf5

See more details on using hashes here.

Provenance

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

File details

Details for the file jollyjack-0.18.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.18.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 272.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jollyjack-0.18.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a91e0f1be6333627678a98561c3b3429b0f7cae6057bbebfbabff77b47f50db8
MD5 2d05a3ccb929c7d663889fbb8c96702a
BLAKE2b-256 2f16120fb27e19a78a769663a069e39e9ffa4fb36c6eabf4f0b10bb6b372915e

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.18.2-cp39-cp39-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.18.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 930685309edfbd7cf7e631664db009befa89ab2d2711eb3bbdb69192fb7cdd3f
MD5 d1f385a8e03caea5925124f8ee393ca6
BLAKE2b-256 2a3838a8f7f794203cd81b3b6a2878ac1e616eb8909e2f0de7dcaed63c7045cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.18.2-cp39-cp39-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.18.2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dfe648e3a702aaee1d7ce6e7edef0f21f77d4fdfed435d01ecae234cfe65a302
MD5 6a1c150d433195181fe23ccf8cc1f4e7
BLAKE2b-256 2cbfd30a5eadc75683bb77a3775304549ee92929a02bc26cde146258f4533949

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.18.2-cp39-cp39-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.18.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jollyjack-0.18.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48b17bc588cf0b6cea615dcde3ddafc264eb778011164c4ed9c9e52923b55174
MD5 94739c0cb7dc8d8e673e7abccb85bfc9
BLAKE2b-256 b5007ae14421c7638bed2b5439497200ee3e3d71a3475ef91b6e3e1b62a82e17

See more details on using hashes here.

Provenance

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