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.17.0.tar.gz (170.1 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.17.0-cp313-cp313-win_amd64.whl (264.2 kB view details)

Uploaded CPython 3.13Windows x86-64

jollyjack-0.17.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp313-cp313-macosx_11_0_arm64.whl (82.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

jollyjack-0.17.0-cp312-cp312-win_amd64.whl (264.7 kB view details)

Uploaded CPython 3.12Windows x86-64

jollyjack-0.17.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp312-cp312-macosx_11_0_arm64.whl (83.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.17.0-cp311-cp311-win_amd64.whl (264.3 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.17.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp311-cp311-macosx_11_0_arm64.whl (83.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

jollyjack-0.17.0-cp310-cp310-win_amd64.whl (264.2 kB view details)

Uploaded CPython 3.10Windows x86-64

jollyjack-0.17.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp310-cp310-macosx_11_0_arm64.whl (82.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

jollyjack-0.17.0-cp39-cp39-win_amd64.whl (264.9 kB view details)

Uploaded CPython 3.9Windows x86-64

jollyjack-0.17.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

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

jollyjack-0.17.0-cp39-cp39-macosx_11_0_arm64.whl (82.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for jollyjack-0.17.0.tar.gz
Algorithm Hash digest
SHA256 a348a329c38e1bd46c1b2dea6bdf49be1fc147c7b4b020461ce431e0bf8e17e6
MD5 c107c9041e93b564be4f100bed6ec9cf
BLAKE2b-256 4711c7c923f979c346ec5c574a6ad31e887df448ce92823cd02cc13683839432

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.17.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 768b974fb57d15b980f5912a4d522de8950c5585965a674e7747dc38e7e0a41f
MD5 3b51fc5a0fac65589e5d02cd7b58de97
BLAKE2b-256 d5b0c4ac269bf38df9717cba891dfe36f7b56db010b06a465b7b2b4f57ebe931

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a570a021230a62a3b2069bfff6d38763ff47df2c38d6edd4392dd28e81ded839
MD5 96da43a2923970336c8ebfb89f88eb5b
BLAKE2b-256 64d60cbfdb06edaeff8fa8509ab5cbb7c46c4a6a67802d9b63606205213dad03

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8422366da3c60307ca44e1e364745e9e5fb73daf8f63046eea46fbf14673c05a
MD5 cadf447a0bda7d0b80316a800022610d
BLAKE2b-256 9a8d51079cc696bf041a9aea418f992eccefafaa001944a48e235b4004295f13

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35b38d8523ccdd102a2285040968ea5de5ad68bfc1f1c620c66c3d8c4ecd599f
MD5 04fe9d1e488c1a23ac16e8c548d4bd0e
BLAKE2b-256 94fb15a1a324e24b953122c7bb11433c9442c57313d958c9ce959cdae35189f3

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.17.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 08f5cd8061c9be35512296a9006dd07c99a8c8e72c4f83c1c6d0095a46bb0638
MD5 64db101967d43c548961e613245c61d9
BLAKE2b-256 1947c18c4ed2e2ee3647bba4f5a437dc1eae85cb7c21223dea0b2429c8cf3ec6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0323963abe4baba65332fb6793fa05e0b369c2529da9ee66791aa942e1ed4fdf
MD5 5e5a9894b2fe95187370de36ea4bd24f
BLAKE2b-256 072dd49f5b158bff0eb7a17c60924964bc1ddbbb054f980a4271f423519088d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5cbe2e67c5267ed914b920ab91db01d5244e32ab45c229155f875d6d49fff79b
MD5 0c27b627222d760cbc5920650692d70b
BLAKE2b-256 64f632c213c5320a123c681aadd789674276dc151433db428307b5d247a38bd5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 edf6446ed7b0b93a2d932d4c10e2cf77e28c43a2a8dbb8f06a29e46dc1e04635
MD5 a6a3b88b8d155bf121db0b14d471a5f9
BLAKE2b-256 3f7ba3f16d84c52bcab5a3a7e7273b0723763c771e386d07423307833740f6ee

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.17.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 293305df8e3efb54359f1375cf16f73a0417bcea9687eb672b6b7b8dc531b92f
MD5 afd7d7b2fc78354dfa5373c9a8e9d035
BLAKE2b-256 ee96f124fff5427607ff58a13c9711df9ed46d463755b76d4420e81929620fb6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05cd017f5539c0372715b99ffb8468df0a82bd69569a1696bfe05201caef1db5
MD5 64fb563696656754849a7fc6a23251c5
BLAKE2b-256 ab765c942b1063c620cc5c9c23299266c0b1b14cc15184b1259fd5c51fc60076

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dd24af354803c944b4a9df78b41ec58264e3128b9445d3d2ca5824bf0117c9ad
MD5 8d4b7f2cdcba6098f50de42045669ea7
BLAKE2b-256 62af2a354d3403aa18e4b7287df5d6991f354459dfd3451f090df6838a5c62f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 828901aeef06853abd93fbfcd82b37d47f7eafc08fb76b4e68e5dad31fac1f8a
MD5 dab2b1c21f4aae586edaf6c83f07f0ea
BLAKE2b-256 d8fff2aa03e6de744f14b589b31ce7e62c3c92bf035aad314c3ecd7baa744441

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for jollyjack-0.17.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b1b95b1ce0f3ad57673336e61a6b15f2e2f7be9731b69baa18081aaebdda6ffa
MD5 ab72db387043ecf85649144ff256f45b
BLAKE2b-256 07919732efc0f69440410b2f481b6f5199b1c797cf57eae0decae288e8d906c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a8108cf06ccdc7a54c32ec187c924b3f675c76c763e460df64c132f5095570e2
MD5 29a84206f9f352ae65b612a8bb3baff2
BLAKE2b-256 2b4293854cab8f16034b45d8299c8a708f79aed290b3d7a2f6bec4c7a1c23472

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b0dd259514d1bb0eed8d4240a97fe5057638eccfb932b329f5e20eb348f53bcf
MD5 72061313e6a792d63671bd93a7594948
BLAKE2b-256 e1c96b0f63277d7298e38964b06e61a4398b73fa7b76138f444343280e35404e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 390a1a7df65d80028d9da181e794067594b5e953fe4a1647788e0c160f0917c3
MD5 bcbf9991e701732cc8e81ddda8440522
BLAKE2b-256 71c905f348f717e01eb4e0de19cc1ec4e96722a91fe73eb06b9547875e1da9e9

See more details on using hashes here.

Provenance

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

File details

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

File metadata

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

File hashes

Hashes for jollyjack-0.17.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 328376a3d03a170c607e842a3ba560e0bc971476fd0800e44914bda080e22132
MD5 f4908e713c189faad55243588c57f542
BLAKE2b-256 b011b00e214ac27e57ba57e2917f8ee9cac96a9193faec1bc598bf41cb54929c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed6f7363f0dce12311b152e1ee3ac9ea775cf53739f178fa12f29f14472a89eb
MD5 b3d7c3fc35ea508785d1dab74457cf7d
BLAKE2b-256 e3dfdcde5f156d7d0a94ca4665302026d43bd80f52327ae67e4cc174ee8fc507

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9572bf52b31eddce7cf2431953c98fd12d5a2df5d2bc4ded693fc371773ecda1
MD5 b36919b0cda2a1d94f633690b96020a4
BLAKE2b-256 e7da7342a77aaf29820e54d04f7a953a47bace7a6da86c88dd0915604a40d7ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.17.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e3480aeb2ba64159b542339ee3e19760f1160b9e8802346edcfa43d45fdb0f6
MD5 46165c099df9f63a4103f1f4432f8f70
BLAKE2b-256 be65b90bd07bf8803ea9b09ac37db06928d7b03e68313596e7fe47ba222a7340

See more details on using hashes here.

Provenance

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