Skip to main content

Pure in-memory ZPAQ compression for Python (real pybind11 bindings, prebuilt wheels, no C++ toolchain needed to install).

Project description

zpaq

pypi Downloads github stars

Pure in-memory ZPAQ compression for Python. I made this because every other zpaq package on PyPI is just a wrapper around the zpaq executable, they shell out to the CLI as a subprocess, which means temp files for every operation, fork overhead, and the user needing zpaq.exe on their PATH in the first place. None of them are actual bindings. I wanted real bytes->bytes zpaq from Python that just works.

import zpaq

blob = zpaq.compress(b"hello world " * 1_000, level=3)
assert zpaq.decompress(blob) == b"hello world " * 1_000

It also ended up alot faster than the official zpaq.exe itself, up to 6.6× faster on decompress and 6.3× faster on compress at 10 MB, with the same compression ratio. Multi-threaded both directions, JIT-compiled predictor on x86_64, libsais for the suffix-array pass, AVX2 auto-vec compile flag. Default threads=0 auto-scales across all CPU cores. Pass threads=1 if you want the absolute best ratio:

blob = zpaq.compress(big_data, level=5, threads=1)   # max ratio, single block

For inputs with repeated content (logs, large text corpora, similar binaries, snapshots), pass dedup=True to get fragment-level deduplication, input gets split into ~64 KB content-defined chunks and identical chunks are stored once. Matches what the zpaq a CLI produces, so the output is fully zpaq x extractable:

blob = zpaq.compress(repetitive_data, level=5, dedup=True)   # JIDAC archive

Prebuilt wheels for Windows / Linux / macOS (including Apple Silicon) across Python 3.9 through 3.13. Installing it never compiles anything. On Windows the wheel statically links the C and C++ runtimes so there's no "Visual C++ Redistributable" requirement, if Python runs, zpaq works.

Performance

benchmark

Benchmarks vs the official zpaq.exe -m5 (Ryzen-class 12-core x86_64, level 5). The mem binding wins both compress and decompress at every size, and dedup=True matches or beats the CLI on compression ratio at every scale:

workload CLI comp best mem comp CLI decomp best mem decomp mem dedup ratio vs CLI
1 MB text 2.25 s 0.56 s (4.0×) 2.23 s 0.64 s (3.5×) +0.013 pp
10 MB text 24.67 s 4.36 s (5.7×) 24.74 s 4.29 s (5.8×) +0.001 pp
100 MB text 188.79 s 44.86 s (4.2×) 185.47 s 44.91 s (4.1×) +0.078 pp

Full breakdown by thread count below. CLI is the official zpaq.exe v7.15 invoked with -m5 (its speeds already include the -t0 default of two worker threads). mem(t=N) is zpaq.compress(data, level=5, threads=N). Times in seconds; ratio is bytes-reduced over original.

1 MB text:

algo compress decompress ratio %
zpaq.exe -m5 2.25 s 2.23 s 79.963 %
zpaq.compress(t=1) 2.15 s 2.21 s 80.073 %
zpaq.compress(dedup=True) 2.18 s 2.16 s 79.976 %
zpaq.compress(t=0) (12 cores) 0.56 s 0.64 s 77.547 %

10 MB text:

algo compress decompress ratio %
zpaq.exe -m5 24.67 s 24.74 s 84.161 %
zpaq.compress(t=1) 24.76 s 25.15 s 84.206 %
zpaq.compress(dedup=True) 24.24 s 26.67 s 84.162 %
zpaq.compress(t=0) (12 cores) 4.36 s 4.29 s 81.213 %

100 MB text:

algo compress decompress ratio %
zpaq.exe -m5 188.79 s 185.47 s 86.588 %
zpaq.compress(t=1) 248.63 s 66.07 s 85.059 %
zpaq.compress(dedup=True) 180.19 s 184.52 s 86.666 %
zpaq.compress(t=0) (12 cores) 44.86 s 44.91 s 84.210 %

Why this is faster than the official CLI

libzpaq's reference compiler ships an interpreter for the per-byte context-mixing predictor used at compression levels 3-5. The official zpaq.exe on x86_64 ships with that interpreter replaced by a JIT that translates the predictor bytecode into native machine code at archive-open time, that's where most of its speed comes from. This package's x86_64 wheels enable that same JIT path, plus a handful of additions the CLI doesn't have:

  • multi-threaded block compression via threads=N (the official CLI tops out at two cores by default)
  • multi-threaded block decompression, I scan the archive for ZPAQ locator-tag block boundaries up front, dispatch each block to a worker, and concatenate. libzpaq's decompress API is sequential, so this layer sits above it.
  • skip-checksum-by-default (verify=False); the SHA-1 per block that zpaq.exe always computes isn't free, and most "compress these bytes please" workflows don't need it
  • AVX2-enabled compile flags so the optimizer auto-vectorizes where it can (x86_64 wheels assume AVX2; CPUs from 2013+ are covered, anything older falls back to the sdist build)
  • libsais (Apache 2.0) for level-3 BWT suffix-array construction instead of the libdivsufsort-lite that libzpaq ships internally
  • a faster decompress path for archives produced by zpaq.compress that skips the JIDAC-aware per-segment buffering

Compress scales nearly linearly with thread count up to ~12 cores. Compression ratio drops slightly as threads increase (more block boundaries = less context per block); the ratio at t=1 matches or beats the CLI on every workload. For inputs with actual repetition dedup=True closes the remaining gap.

ARM / Apple Silicon wheels disable the x86-only JIT and AVX2 flags but still benefit from threading, libsais, and the fast decompress path.

API

zpaq.compress(
    data,                    # bytes-like
    level=5,                 # 0..5 (0=store, 5=strongest)
    threads=0,               # 0 (default) = auto-detect host CPU count, clamped
                             # by input size (64KB minimum chunk per worker).
                             # 1 = single-thread, deterministic, best ratio.
                             # N>1 = pin to exactly N workers.
    hints=False,             # If True, scan input for text/exe signatures + order-1
                             # redundancy, pass them to libzpaq via the method string.
                             # Slight overhead, can help ratio on mixed/binary data.
    verify=False,            # If True, compute & embed SHA-1 per segment.
                             # zpaq.exe also writes these by default; turning them off
                             # makes both us and zpaq.exe skip verification on extract.
    method=None,             # Optional raw libzpaq method-string override (e.g.
                             # "x4,4,1"). Overrides level/hints when set.
    dedup=False,             # If True, emit a JIDAC-format archive with fragment
                             # dedup. Output is `zpaq x`-extractable. Currently
                             # single-threaded encode; matches CLI ratio on repetitive
                             # inputs.
) -> bytes

zpaq.decompress(
    data,                    # bytes-like ZPAQ stream
    verify=False,            # If True, recompute SHA-1 of each segment and compare
                             # to the one in the archive. Raises zpaq.Error on
                             # mismatch.
    threads=0,               # 0 (default) = auto-detect, clamped by block count.
                             # 1 = single-thread.
) -> bytes

zpaq.Error                   # Raised on libzpaq failures (corrupt stream, bad header)

Both compress and decompress release the GIL while libzpaq runs, so this plays well with threaded workloads.

CLI interoperability

zpaq.compress() emits the same on-disk format libzpaq itself writes, and zpaq.decompress() understands archives produced by zpaq a (filters out the JIDAC index/hash/info segments, follows the file's fragment-ID list, etc.). Tested on ten varied real files (1 KB to 25 MB, text/image/csv/jar/png/jpg/svg/exe/binary, levels 1-5):

Direction Result
zpaq.compresszpaq.decompress 10 / 10 byte-exact
zpaq.compresszpaq x (official CLI) 10 / 10 byte-exact
zpaq a (official CLI) → zpaq.decompress 10 / 10 byte-exact
import zpaq

# Pipe to the official CLI
with open("out.zpaq", "wb") as f:
    f.write(zpaq.compress(my_bytes, level=5))
# ... later, from any machine with the zpaq executable installed:
#   $ zpaq x out.zpaq

# Read an archive someone else produced with `zpaq a`
with open("their.zpaq", "rb") as f:
    file_bytes = zpaq.decompress(f.read())

For multi-file zpaq a archives, zpaq.decompress currently returns the concatenated bytes of every file in storage order. A per-segment iterator API for addressing files by name is on the v0.3 list.

Future work

Plenty of levers I haven't pulled yet, PRs welcome:

  • PGO (profile-guided optimization). Adding /GENPROFILE + /USEPROFILE to the MSVC build (and the gcc/clang equivalent) usually adds another 5-15%. Skipped here because cibuildwheel doesn't expose a clean two-stage build hook yet.
  • AVX2 in the JIT predictor. AVX2 is on at the C++ compile-flag level. The JIT-emitted predictor already uses SSE2 SIMD (pmaddwd / paddd for the MIX dot-product, lines 4126-4170 in vendored libzpaq.cpp). Upgrading the JIT codegen to AVX2 256-bit ymm registers would handle 16 mixer inputs per iteration instead of 8, but real gain depends heavily on the per-method MIX m parameter, and the work is byte-level instruction re-encoding which is fragile. Skipped for now.
  • Parallel JIDAC encode. dedup=True is currently single-threaded; splitting the fragment-build pass across cores would speed up large dedup compresses.
  • Per-segment archive API. As mentioned above, let callers address individual files inside multi-file zpaq a archives by name.

License

Released under the same terms as the underlying libzpaq sources: public domain. See src/zpaq/vendor/COPYING.

The vendored libsais suffix-array library is Apache 2.0 (Ilya Grebnov). See src/zpaq/vendor/LICENSE-libsais.


Not affiliated with Matt Mahoney. libzpaq was released into the public domain by its original author; this Python package wraps those sources and is an independent community project.

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

zpaq-0.3.4.tar.gz (155.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zpaq-0.3.4-cp313-cp313-win_amd64.whl (418.1 kB view details)

Uploaded CPython 3.13Windows x86-64

zpaq-0.3.4-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

zpaq-0.3.4-cp313-cp313-manylinux_2_34_x86_64.whl (406.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

zpaq-0.3.4-cp313-cp313-macosx_11_0_arm64.whl (344.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

zpaq-0.3.4-cp313-cp313-macosx_10_13_x86_64.whl (363.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

zpaq-0.3.4-cp312-cp312-win_amd64.whl (418.1 kB view details)

Uploaded CPython 3.12Windows x86-64

zpaq-0.3.4-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

zpaq-0.3.4-cp312-cp312-manylinux_2_34_x86_64.whl (406.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

zpaq-0.3.4-cp312-cp312-macosx_11_0_arm64.whl (344.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

zpaq-0.3.4-cp312-cp312-macosx_10_13_x86_64.whl (363.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

zpaq-0.3.4-cp311-cp311-win_amd64.whl (415.1 kB view details)

Uploaded CPython 3.11Windows x86-64

zpaq-0.3.4-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

zpaq-0.3.4-cp311-cp311-manylinux_2_34_x86_64.whl (403.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

zpaq-0.3.4-cp311-cp311-macosx_11_0_arm64.whl (343.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

zpaq-0.3.4-cp311-cp311-macosx_10_9_x86_64.whl (360.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

zpaq-0.3.4-cp310-cp310-win_amd64.whl (415.6 kB view details)

Uploaded CPython 3.10Windows x86-64

zpaq-0.3.4-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

zpaq-0.3.4-cp310-cp310-manylinux_2_34_x86_64.whl (402.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

zpaq-0.3.4-cp310-cp310-macosx_11_0_arm64.whl (341.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

zpaq-0.3.4-cp310-cp310-macosx_10_9_x86_64.whl (358.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

zpaq-0.3.4-cp39-cp39-win_amd64.whl (415.7 kB view details)

Uploaded CPython 3.9Windows x86-64

zpaq-0.3.4-cp39-cp39-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

zpaq-0.3.4-cp39-cp39-manylinux_2_34_x86_64.whl (402.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

zpaq-0.3.4-cp39-cp39-macosx_11_0_arm64.whl (341.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

zpaq-0.3.4-cp39-cp39-macosx_10_9_x86_64.whl (359.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file zpaq-0.3.4.tar.gz.

File metadata

  • Download URL: zpaq-0.3.4.tar.gz
  • Upload date:
  • Size: 155.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for zpaq-0.3.4.tar.gz
Algorithm Hash digest
SHA256 b4ee8d6e967ad0033b4dba866759ab6dfa5a1769553612ff00bc7e7591e929b1
MD5 1f1f7ee40596a150beda9b4c3d720c06
BLAKE2b-256 e6302b11c07c7e8b1597831a72d99bf76b1ea8ca621052465312faa8babfd946

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 418.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 899e3cd58cbc3fb6263dbfaf183d2c6d2d1c0a4a62770ecfae7d292ceef4a09e
MD5 c59343a2d9f268af44e68c1effb9b41d
BLAKE2b-256 f652e2475b43858102edfbe658cfdcdce85e768c770d78288b976d2ce9cc54c9

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e0dedeca5cc9d182693e24e872b7d70fa55406a6b6973db748dadb946c0f7646
MD5 dc4cabf627979f5f9027df026df442d0
BLAKE2b-256 11da9d96efb3efaa92fe2754fba994384db3f31aed0bf092b01c9d78f29719c5

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0fda0a194d2fa4122129eb448debd104824a65c4602a3c8f549da3a53ac32f18
MD5 85904b745671c7e2f3bcdcc3b8ef0985
BLAKE2b-256 aa930425db46a5fa9069900ac43882185d4df6b5cbac6aecc142b22c53826cda

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66a4bfc0bfe77e7f2d30638822d05559b458a66c1b2a9b4f007aec4bf16c5cd4
MD5 65a831543a7bc7449a4c121670da408d
BLAKE2b-256 2d51a6fa2f484c68e3fd28711eca0f69c1bc0f3cdd2a709171d1301d3648b036

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d88fcbb3fbb0897698e612a813b3eb5db2676ecd279439f204eac9bc088479f7
MD5 4f0a70b9a5c57aee53918f08b95cb771
BLAKE2b-256 aa8b7a636404134894aad9b2f0ce1ad7e8d4f1159d480dee96864f6df0c521c4

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 418.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 03c41f2247c98ffa1786559e0592bd9c21708da26593d16402c171598be0387e
MD5 690127b61f1a2039005fe5b2cddb37cd
BLAKE2b-256 217ac754eb24c51793bcd9e2bcea36597b6b8c3df55b23bb159d8ce427d9ee04

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bab97f04189604ad8bad628c2101cd9519d67f984b9bf63aa756431d01ba48fa
MD5 66e02ca880aa3385485b982bc3a7e35e
BLAKE2b-256 39fba0e8d02698fedfc1d50f0fa3a88423db848db38ce6fbc51b5678efb9f881

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9e904540820d830a9164b0e3785491df4a2d139bf5923b9c04c8140a676b81b5
MD5 c80625b6b2feaa6d81a9ce6e0d3e6cb3
BLAKE2b-256 cd565b11526c8a8f09fd5af12afa6679573838fea654da94819c5ad748cdcc5e

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d7a18ba15ab5a5dc75d7281cca27869939e0de75d819b729c290b033721a9e2
MD5 f345732ba632bcb271544b7a34209a88
BLAKE2b-256 bd7a4c36f43e82d9ac4e3ada4c6cb022717f043e9b92baf9068a891cccc9cb78

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 244cb55e859a5dccc001414254614aa4fdd69c652f489a6bb0cbad98fb6fae95
MD5 31759018ac4673c7bd82c96d1c401773
BLAKE2b-256 c15cac05913ef17025089562c6bc25300d524788f09a6f5c9f566db49d38e8c1

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 415.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for zpaq-0.3.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 95d03b8ee0d9d72298b30d41703a666245ee6b6026ce2d16f4eb5cffdd133774
MD5 bfc0b432ffb86d255ac448692ea1f073
BLAKE2b-256 1ac3f4e202121439a122b6429a5f4d2074d3e08678fb37c03c1d11fd258d5d14

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dc81421314c2fce699f8144090f91c9567074aafc668339e7d5b520d377311d6
MD5 749e1fe3d500c3f9da7d169b535aa286
BLAKE2b-256 1dcdd1668045a6b2939e58a8217b070d1b3d0f86680b53eea9167dce23286277

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b8aeba72c2d5528843984f40c21ba1ec768b040d56408538f04391e2799a0436
MD5 02f9f5f59973f6f61101783408ea309d
BLAKE2b-256 8b2a3546f6ac11ccbf15efd53c97c697b1c5d817feaca79c343ff39bd8e7f765

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe1ffa472c4ac2a9984103f0569aba5c0b98920fba3ff31ef47160be070411b9
MD5 fe9ec549918d786897d5bc119d551d98
BLAKE2b-256 69aebb8d1b5d7be9872bbe4ed2de40cf2861ffb398e61412f78d4df3256ca42d

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c9fabe8cb1aa6975ad0ae072d55ae104dcb3b6fd7030220f38a5c604db987a88
MD5 a555f4e6e3e390e345af5551ce52dd27
BLAKE2b-256 563db7bd47bc4ded1aa5cb6fe4d7e1d1122ab63f8c500593954504119c831a22

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 415.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 100e79d53d34419ba8453423aa54cea15772ec5d16646d497a090597019f5393
MD5 3337dbcedd4d6ea126f55c7006c3b8a3
BLAKE2b-256 93e4864e6f29d9bb5d2b8e75f308c7e6cf76a688fc054983afce28d26d9e3fe7

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51d0803a5217b5696b4fdcae16936a0d445236fe47e80a332ee8012675c0f987
MD5 daf64ed9a100b966dbfc39dce42dba65
BLAKE2b-256 ff93a11cf9b4244bb00b558b77848eda521409837b8a897e55902822356c5281

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2a1e6741a94ac9124b5519f5f0701d04ccf17d806f4ea590fa23c476277b1186
MD5 ae2ea9eb884ffd9b25889af85f146e97
BLAKE2b-256 d6414f6ef1c61776529a5ca97390f0215776db2cb5a305dd1ddf19f2c8eba387

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e70ef70b47e227beba8b0ff80306b7a9095d2394df66fdd830729709e94f4cd8
MD5 9ebea8948215b60f38708357c280c185
BLAKE2b-256 a9d533179a1d66eab5aa295beaa01242ac476b1d70a3d4dfd37dfa2b5ced26eb

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zpaq-0.3.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c71a722b968a5e1183e0f117caefd605ed88393a9bc934cdf379b94a908493f7
MD5 68dba913ad998c1e1f114b238a99a5df
BLAKE2b-256 69c1f9dfa111ef96b8ac8791b592d57693624eef83953ec77aea1a63935a6293

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 415.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cf986c6bbc04b7c577cbc4ebf395c9f3044c62ca507da5e0e53fbcc1e29fe4f1
MD5 61ae99c5c142b5caa10bd70076ae341d
BLAKE2b-256 524f7f7a38e9dbd07dd1b71e160f67ac699d9c12972a173bc3181aff5d290547

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp39-cp39-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 30ccf53ce7216e30374d02af49166485d1b7d031ad4f1c00d4b157793426c112
MD5 b30477b1000daf6f25209b051016c7e2
BLAKE2b-256 3ed7829dcf923f56729b615a68a0f5a71c334333a17b30f9ca93702a30e07829

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp39-cp39-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 402.5 kB
  • Tags: CPython 3.9, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b8ec7f538b824d98bfb787022988bdf4caa9159c199bb80d4e98ad0fc30d1896
MD5 fae318b45cf7d9009cd37ac17785f50d
BLAKE2b-256 0d57920ec6376c860a5c80e9a7c03f72a5a2b1b546535953e93692585e7c6588

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 341.7 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02e04780998c5a0dce9765f7428a59d3cbe13859f337543a3c1f8033247f521a
MD5 d19c95fee5c895f526c4b3fcfe6e6478
BLAKE2b-256 bf8f2139518a9d75659544bfe1541a2f88271127b24c5270cde7d28a88d66b7b

See more details on using hashes here.

File details

Details for the file zpaq-0.3.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: zpaq-0.3.4-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 359.1 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zpaq-0.3.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 76f4b49bbd15fd28017b72084729103fe17b10d75bd500ef19779f62beaef8b9
MD5 670afa99f4900f6208f746c87fc7d936
BLAKE2b-256 7f1167ebd5db1f8c66f2c3bf2aa59381eafc48642ee461eb166cb15269bd86ef

See more details on using hashes here.

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