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.1.tar.gz (180.3 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.1-cp313-cp313-win_amd64.whl (269.4 kB view details)

Uploaded CPython 3.13Windows x86-64

jollyjack-0.18.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

jollyjack-0.18.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

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

jollyjack-0.18.1-cp313-cp313-macosx_11_0_arm64.whl (91.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

jollyjack-0.18.1-cp312-cp312-win_amd64.whl (269.9 kB view details)

Uploaded CPython 3.12Windows x86-64

jollyjack-0.18.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

jollyjack-0.18.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

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

jollyjack-0.18.1-cp312-cp312-macosx_11_0_arm64.whl (92.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.18.1-cp311-cp311-win_amd64.whl (269.9 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.18.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

jollyjack-0.18.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

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

jollyjack-0.18.1-cp311-cp311-macosx_11_0_arm64.whl (92.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

jollyjack-0.18.1-cp310-cp310-win_amd64.whl (269.6 kB view details)

Uploaded CPython 3.10Windows x86-64

jollyjack-0.18.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

jollyjack-0.18.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

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

jollyjack-0.18.1-cp310-cp310-macosx_11_0_arm64.whl (91.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

jollyjack-0.18.1-cp39-cp39-win_amd64.whl (270.3 kB view details)

Uploaded CPython 3.9Windows x86-64

jollyjack-0.18.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

jollyjack-0.18.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

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

jollyjack-0.18.1-cp39-cp39-macosx_11_0_arm64.whl (91.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: jollyjack-0.18.1.tar.gz
  • Upload date:
  • Size: 180.3 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.1.tar.gz
Algorithm Hash digest
SHA256 00b4e0f2a3426f31ee8d8d1b933f4481c15d00afb1fb401eacf291c8891aee63
MD5 0e955a248812c86b3e6dd46848932779
BLAKE2b-256 4a89f7a08f4684561edc9631e8f3e28b82cc3e70af6a00d2e115130e74d94a4d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 269.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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6767241433089a8a24b25be6b1c803b3a435cd78b7f69c571c4f7a05bc792137
MD5 9eab174b782f8ae0d4d6abf215fd4fa2
BLAKE2b-256 5b2b1bfe0cdc26f19fecd194dcb38339e4fdd0ca0734e56178f30995ce0db17f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a86ee57b23bd2e5342eb7076c924657daf8e5fa44d70b447c07026f234ba8c7b
MD5 f9437fb6117bff542b48262c20ae6ec4
BLAKE2b-256 7e1edda2bfa5393e6de9ea96cefe3714e40579d63b769352a32947b7ecd405e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 76ad27a1910bc96ee08d59296c422df97f13a82d5402710af7536be2064eddcc
MD5 0bda014dbbf9365254da7916915ac790
BLAKE2b-256 7a5ebaa62d4d519ab320a41b06c4fc2a922be0fbd17277ae94af1429c3bc67a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 150b0b673aea3ca13f4be209dad96e19c78495119149be7e3abc7b02aed31475
MD5 5e544c7186f56a3bd986dbf3006dd904
BLAKE2b-256 57265639d7bee17c03cdf0a62199dd78a543d0f878844104078b34e32894fe0f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 269.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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 59b35da5ae25c219d185515ba1bf70adc3b64f98847ab5643f5f1c04e6279f9c
MD5 a9f2c0f2265b178d82432ac76cd573c3
BLAKE2b-256 14aa36697cef2a7c4806c181286a4b5edddf99d549cd41ce73e3075e9cfbf5a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 484e3727318d91be573397e1ca9810d478aeeeec5349e16918a67041cba2f94c
MD5 32ab1efcc989a49f873c7a30f3701906
BLAKE2b-256 379ab589e7b7208f89bb75533c4cdf2b51391130b76ac5ff813a8da809592836

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6aeebe591c804ee04d56cfdb6cbcdd933e090ad2c74f62155fb1d4a6b130412b
MD5 f8328e26a3bbf36e631f4e03878f2cd5
BLAKE2b-256 bbfac4798447db2c9f6ddf348a564c866702edf7f85faec209c4261bd9e4d84f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71c3e3931db13f17590902a32bb5782a6925106dd822a44c9a7ddb8cbc53720c
MD5 c40e999bce6ad02e103cde7c2aaf0742
BLAKE2b-256 3d698d090d00c78f8e7af309c4f8164cedde1f5501e5c5b49af58bd51f809bb0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 269.9 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0dea07d5432234a04bf65bfd5b86b0d8548b9929941f2fa078b84e128e16a198
MD5 d0d182f7bc7b45e401c5ea3ebcb87ca4
BLAKE2b-256 c58ff76d3567eda6760acef121bba8f7602e851d10752ef93d3783b332d1ab66

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf375bbf59f59700f7f07fd4eb5a27178f8ee478d8868f6455b4074486112a56
MD5 18ee5f26cf195130714fc3d4c2963cf5
BLAKE2b-256 ae9bfaab32e30f0a7e11e60a8b135543c348550786130b796dc122c9f798ee79

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42ebf3651247f2cf03ebf062f9cc073c27ee4e29ed424c10efecea1339ba0b07
MD5 ebf08e4637401a0fd6061c1b3f145ef7
BLAKE2b-256 c57660044a80f0a96e66a76d4a193c884434189407d5d57b921fec8c6161ea8c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdf3d8418278b090fc00f0ff80c33a57feb3e5497f6f732310397f3128ee6f81
MD5 e04668c380d499486fb492016522a113
BLAKE2b-256 cb9a8e1aaff90af2868c0393d3aaf5ffb696c824dd0d9d41217f0d013452d5f7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 269.6 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 429603cc9a00e24e3ce7b0b5d89c308b1793890ae8f96002c4db61f8dc0c8d1b
MD5 546acd0602f9be3f61336d5fb74a135a
BLAKE2b-256 6d9dae92f9f4f42ed4d3d26f0420361e071cc72c42f4fcfde9a05a691215c2f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3610d832f753e167dee71f8cf0c90f6834b678351bfb8bdd16c807751f12d430
MD5 5c85c1e3f6bb3e655702f572188225e4
BLAKE2b-256 ffceae844b7e4d031793d4fd278043d3faf5def1cf1723e909da64a3581bf495

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 416ff9bfef3ef4e684966018a8ea4de5c0180116576c756ed90b70f5dcf43077
MD5 2a35b3716ef2eb15e7290a4394fa4f0a
BLAKE2b-256 706b782b669605b9f5c113dbdde7c0fd17869530e83c5242b42059bf47c2c301

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d37248d346dd0bc89de55728e012ef0a32af9f04e645cbbdd5e3a6701fc499d0
MD5 653b4f81e8e8837f7ad54278a30f8a54
BLAKE2b-256 f3e8a34ffddd80f6884f344772904e03e474ea937544e452521e1a2db76bfcfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for jollyjack-0.18.1-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.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: jollyjack-0.18.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 270.3 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bb88de7c34b844401aac159168d7968c27ea2b0f5d9b11619250ec19eafa595e
MD5 c4f10315e286b34a879dde5982019704
BLAKE2b-256 2f1352f0c8a09b32e48b8e70fe61e9c5b72d9c5f3b7256f91b2336146f6c3b9a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2aced2a84b7bd1788cc7c0cd05f0156f30dee4c5d329b61618dbddf86b9dc983
MD5 32830cccf3db31ffce413fb4eaa3208d
BLAKE2b-256 15ced298fdbc64a2222c1cc5ed44f6a2519922216fa5b833abd1cb8d6a5ba9a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 68a32baa75fc9162cac081529f76df7c0a565945e32424b1697ef1544774378c
MD5 4a4c51bb7b1f86037efd4b3a725e703c
BLAKE2b-256 eee4622aea0741dedb43d8d4dfce5dd10de6f15961348d0c3915a0b38a374186

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 615233cbaa064a1d73357ee8f62eb9202c3395310245975128eb559e3b7ca1e3
MD5 d7daa72241c037a9ad178c6fa0c0b09f
BLAKE2b-256 96a75b5f4600e6d50a7fc5084321fed13f6945ca814cab3837e597aaf4429cc4

See more details on using hashes here.

Provenance

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