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

Uploaded CPython 3.13Windows x86-64

jollyjack-0.18.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

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

jollyjack-0.18.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

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

jollyjack-0.18.5-cp313-cp313-macosx_11_0_arm64.whl (98.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

jollyjack-0.18.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

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

jollyjack-0.18.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

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

jollyjack-0.18.5-cp312-cp312-macosx_11_0_arm64.whl (99.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

jollyjack-0.18.5-cp311-cp311-win_amd64.whl (271.5 kB view details)

Uploaded CPython 3.11Windows x86-64

jollyjack-0.18.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

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

jollyjack-0.18.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

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

jollyjack-0.18.5-cp311-cp311-macosx_11_0_arm64.whl (99.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

jollyjack-0.18.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

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

jollyjack-0.18.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

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

jollyjack-0.18.5-cp310-cp310-macosx_11_0_arm64.whl (97.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

jollyjack-0.18.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

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

jollyjack-0.18.5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

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

jollyjack-0.18.5-cp39-cp39-macosx_11_0_arm64.whl (97.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: jollyjack-0.18.5.tar.gz
  • Upload date:
  • Size: 189.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.18.5.tar.gz
Algorithm Hash digest
SHA256 5bff1e6d1b4df140c69a8cf71a5429fcaecabf169115901d9c76e90fa1041e48
MD5 cea88c5e2cd572937413ffd4b814acd8
BLAKE2b-256 30b0f5ff141649d15a1e59ac303fddaf7b561791ce090a532412a2774ad3ff52

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.5-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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f798abd6e2c31fa4224ac42655cc302fe69897b9db56f6869c47ab761f5ae513
MD5 d48eeeb3d3adc3417b929821a50d21d7
BLAKE2b-256 001a818ddff437a15e8bbe5b7268f74c7da847e7a89e10e3772cc7b927db1d18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 312c5c299c2497a91431eb8a9f2dc2b83cfdb04fe89b0e412f6131b4b07a8a0a
MD5 5e0462cef95d7f92fb5620256e79603e
BLAKE2b-256 5d7fdca1ff5af92f38da1906cb53c86f3209859e9108c2a7aed8716dc88e20cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 40935d0b0e81e285b83ce1e8b0d625cc93143e39c68af419a1e0df98d069c00a
MD5 ed5cd91893306f2160decd65c3bc5fd1
BLAKE2b-256 36dcf284791b9831b854f88055127de093bef287d571073b6a86e3b691f84685

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7ca72efd5cc902d51e4080b4b198512491f9870c71ead21732e77e791ae1bdf
MD5 17fe75ea445dbead5914e7d12ab1e323
BLAKE2b-256 2de235119aa1c96d154f2650ddae34247b78a18f677ec3a3877eadbf1c482d0b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.5-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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d97bb423890807e3ed186e3d255f11cb27956fc97487f7be07ff3742ec14de66
MD5 c1fd92f9eb07e2d63cbaa93a906350a8
BLAKE2b-256 4d5fc78befad671c3449dd20e92e3b55c88dc2f52516d90be669e1ba41f3c5df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee455585095cef57310a2643e6695128d2eecc61f0875127a96375c62d2db715
MD5 8ee6611a9c35399766424b06bdf3a687
BLAKE2b-256 5157e5e655dbce35a58538fe224ffedc2f4dd2c46ddbf2f8187c0557edb232d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c85e2eb448306627a3eeb7bd89d9bba28f44f4061fbf0f7eb498c02cf72fc26e
MD5 0005999727eee0475a7fcf773e7f267c
BLAKE2b-256 694e2b7150917e7ea501dc2ebb3a13226dcd0bfad955406f099dadd82a9dae43

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a00ac4715a5c420f5469e830f1bbb83cae71e9a3f73dd04c64b94e19504140ce
MD5 736fa463e2726755262be61e242dce47
BLAKE2b-256 131026276578c48f88116f5fe3582eada190b55a9ae44682e90ba7439aa298c4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 271.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.18.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 935c4b356e50f45d159bb5c304cd7e381c05b9f1d672b8355e0d099d03d76dc8
MD5 1a4b7ec48764d108e902a1310a8293ef
BLAKE2b-256 8005761e61380428843304ae0528aff69af46820ccdfc75adc0c17812bd08715

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 30c6928284dd8c811332e4d47f756aa2ecf5971007dac8c05bd37ccad6ab2e47
MD5 1aa70444ddd0775efc4d5d81fda3832b
BLAKE2b-256 0553a52eef51fb5c16d7280e5aa7e6b4dd9c6fd7e64f36a2ca00d52db0a8baa2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 acb92478c6c35192b55ce21a8d6efd5af2c3a5028cc70cde397747f5d951618f
MD5 377bbf295d602195a7738a0ef9779e87
BLAKE2b-256 81d56dbc2341603dd867d43e2f5326fac5e9fb5c4e87bdd908487ff66ecacfd2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c50f94be12d2f8a32531edb04594d927a367c580e0f6732a33bc015fc9d65bb1
MD5 c275941834bcd80373286c10586d4db6
BLAKE2b-256 6439c46603c37e5932e1ccdcd5c5f264311410d7b6eb307692533815acf728eb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.5-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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 000bc8d5ccccae16b388bce2fc50ac3f84582f771e7c3acac421c4b3c137a9f8
MD5 1298752e4cf3359ec13b468a87e9dd66
BLAKE2b-256 1225b6820f9849da2a05983d7ff8ce668783c5db25aebb48a1819f3662444d6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15497dd4dfbbff078d4fd056fe50a6010936d43cc6d482d915070b4d5147ea89
MD5 799d715ba286f4520ce94f05bbe6a946
BLAKE2b-256 097277b8b65c2e1bb7532cf79b494aa3bc3b3bcdf5643dae72c0c7ea0729c28e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 da70ef93b5d662ba61ff4614a7b6c8c83ee5c10baf03a3cda82481354433e470
MD5 60894f3bd2b0ef8aceb6696f698cab38
BLAKE2b-256 191967eae6783b950c8476144c904a23ce9c9b484721dc87560d626a73ac63e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33ae04be87b44d932c733ae966df9b3613d3c3762e373947640c3d9d2757cddb
MD5 46eb6eb53544f1df7f317a0c4c72d499
BLAKE2b-256 fa137e8295e1bd90a8f5a222eeb97e61c775b11ce5c0451edf3d17300af55123

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jollyjack-0.18.5-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.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 58dbead746f4f382197eecee381f6fde5e276b30254b6a06727f3b8e423aa26c
MD5 d2a125e077d840eb221a56025860c5d9
BLAKE2b-256 24fcd3af32b0dd25815d42eac411b16d344a8af2dd5f7a0673c67f8930de83a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff40c4e66926d880dfec0d89d1bcbea3de8f2101bb770ce5ecb423d4377c8263
MD5 906537d45efd915f1e66cff5534d0408
BLAKE2b-256 a732c507478a1ce2bf8be740469dece98bce3dd6a7881b996c5d4cc125080ace

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e36e4a43d93e868cd317e5b156287fa29134e444839177a8a0a27907a29cf710
MD5 a2b4af6d86d93b9783ed8af6d809c321
BLAKE2b-256 af377002fcac623718fee0b4be1815b51e3ac5df5dcf46ac3f5842f3d9be6bb7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for jollyjack-0.18.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 497d7141f7305b95f753659a6c59b651ac29bb63149c637cbe97427a0dccd2de
MD5 1725b33a50a9bc8c29af6035d1af542d
BLAKE2b-256 3eab3ede32133f0e9cfa0323263679edfdb104251df4d5e759f736f1d1115bcd

See more details on using hashes here.

Provenance

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