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 was either a wrapper around the zpaq executable (slow, makes temp files for everything, has to spawn a subprocess) or sdist-only (so pip install just fails on any machine without a C++ compiler). I wanted real bytes->bytes zpaq from Python that actually works on a fresh machine.

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). Both compress and decompress are parallel block-wise; mem wins both directions at every size from ~1 MB up:

workload CLI comp best mem comp CLI decomp best mem decomp
40 KB text 0.14 s 0.13 s (1.1×) 0.14 s 0.12 s (1.2×)
1 MB text 2.28 s 0.58 s (3.9×) 2.23 s 0.58 s (3.8×)
10 MB text 24.1 s 3.83 s (6.3×) 25.1 s 3.83 s (6.6×)
100 MB text 252.5 s 74.1 s (3.4×) 250.7 s 73.2 s (3.4×)

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.

40 KB text:

algo compress decompress ratio %
zpaq.exe -m5 0.14 s 0.14 s 71.5 %
zpaq.compress(t=1) 0.13 s 0.13 s 73.5 %
zpaq.compress(t=0) 0.13 s 0.12 s 73.5 %

1 MB text:

algo compress decompress ratio %
zpaq.exe -m5 2.28 s 2.23 s 80.0 %
zpaq.compress(t=1) 2.08 s 2.12 s 80.1 %
zpaq.compress(t=4) 0.70 s 0.75 s 79.3 %
zpaq.compress(t=12) 0.58 s 0.58 s 77.6 %

10 MB text:

algo compress decompress ratio %
zpaq.exe -m5 24.14 s 25.13 s 84.2 %
zpaq.compress(t=1) 20.92 s 21.50 s 84.2 %
zpaq.compress(t=4) 6.72 s 6.92 s 82.8 %
zpaq.compress(t=12) 3.83 s 3.83 s 81.2 %

100 MB text:

algo compress decompress ratio %
zpaq.exe -m5 252.5 s 250.7 s 86.7 %
zpaq.compress(t=1) 324.2 s 85.9 s 85.0 %
zpaq.compress(t=0) (12 cores) 74.1 s 73.2 s 84.5 %
zpaq.compress(dedup=True) 325.4 s 120 s 85.06 %

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.
  • Hand-written SIMD in the predictor. AVX2 is on at the compile flag level so the compiler auto-vectorizes where it can. The actual hot loop is the JIT-emitted predictor, which currently emits one x86 instruction at a time; rewriting the JIT codegen to emit AVX2 mul-add chains for the MIX / ISSE components would be a real gain.
  • 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.2.8.tar.gz (153.2 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.2.8-cp313-cp313-win_amd64.whl (412.9 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

zpaq-0.2.8-cp313-cp313-manylinux_2_34_x86_64.whl (401.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

zpaq-0.2.8-cp313-cp313-macosx_11_0_arm64.whl (340.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

zpaq-0.2.8-cp313-cp313-macosx_10_13_x86_64.whl (357.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

zpaq-0.2.8-cp312-cp312-win_amd64.whl (412.9 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

zpaq-0.2.8-cp312-cp312-manylinux_2_34_x86_64.whl (401.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

zpaq-0.2.8-cp312-cp312-macosx_11_0_arm64.whl (340.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

zpaq-0.2.8-cp312-cp312-macosx_10_13_x86_64.whl (357.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

zpaq-0.2.8-cp311-cp311-win_amd64.whl (410.1 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

zpaq-0.2.8-cp311-cp311-manylinux_2_34_x86_64.whl (398.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

zpaq-0.2.8-cp311-cp311-macosx_11_0_arm64.whl (338.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

zpaq-0.2.8-cp311-cp311-macosx_10_9_x86_64.whl (355.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

zpaq-0.2.8-cp310-cp310-win_amd64.whl (410.3 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

zpaq-0.2.8-cp310-cp310-manylinux_2_34_x86_64.whl (397.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

zpaq-0.2.8-cp310-cp310-macosx_11_0_arm64.whl (337.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

zpaq-0.2.8-cp310-cp310-macosx_10_9_x86_64.whl (354.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

zpaq-0.2.8-cp39-cp39-win_amd64.whl (410.4 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

zpaq-0.2.8-cp39-cp39-manylinux_2_34_x86_64.whl (397.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

zpaq-0.2.8-cp39-cp39-macosx_11_0_arm64.whl (337.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

zpaq-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl (354.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for zpaq-0.2.8.tar.gz
Algorithm Hash digest
SHA256 15838cb504416b0b9ed24760c5d43d95389d48b9fc2de2b92ee615e3967a2696
MD5 e97b031981a7929110718004f0b64fe9
BLAKE2b-256 38edb86e193e6aff8a05ab2300e3f9b07c0d0b052b27e7376943c7a1112d41c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 412.9 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.2.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3b2f3ce82689f593b20f90639c37c5982b1d7fde1f775193a4c50f6a80a764e9
MD5 62390b59bfc165bac0b2352405bb06f1
BLAKE2b-256 7a4b09a5fc7f794bdcb0ce50345a058618df42212cb908e1b60b4af94ff9336d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 30a835602cfd67e2194fb69e6eda9335a5e12f9e7ebfe84278631a6f828c2335
MD5 0bcfaeb2170574768f0cf604d133838a
BLAKE2b-256 a540c927dd5f9c47f5c955b8a1b6e49031f158dac001446efac74ceac91326ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 82010174a17da370e5b3c80cbe61bea72723f521f10d456f32bc868761717176
MD5 a1968fcc0dd6d38c5f1b0c1586ecb823
BLAKE2b-256 b87d74840c1414a16da5b18d3debacb152257bc79f5d89eaa488a4c512f8a03e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f76a4d2d69598d0b215fba50bcd73b53af4495d0448eba5153fecb6235dbc7fc
MD5 3729751cd9e74b8c8239b75c30c28228
BLAKE2b-256 af160a72fbd0fed251c30364ca3cb6b05f4b313cd146f737e3ec63e2a32be2b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e73f5f1ef84605ab761eef079001e65e314356cc5af603ba381374a6222e482f
MD5 fe1793ef42d17b976f66bcc9994b879c
BLAKE2b-256 5a2276545fc023a3905fb6ed77918ed7453a9cc66dcdc6e5beeca8cf3ff9a952

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 412.9 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.2.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ea387348c5e0b4219961e7ef458ddef5e7eef5565257f5b0cb605c1f1129b96a
MD5 418db4134eeb8a45a52123b2111c99e1
BLAKE2b-256 29fc0de4aa6151298e8fcc40fb8cb7bfff90ad8d79e2f626d48bc141b18c3caf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 54e8c3357e7762159c742ed66e76f42749d4f7da24c7617f34b96c7d69fc22b1
MD5 91f0b3c67623ec726821351d696087e8
BLAKE2b-256 55e091e7e9655d1dce401849ca252f090be541796a01728a36a363cc5235a9b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e8d61f2f07ee0e4eb49fcc74757b1461ea9ea20593dfbb8a0f95391d8718323a
MD5 1dd1cdd60bedfee14764090101d726ec
BLAKE2b-256 02931c3e0cc92c95555d470c24dab1b094358067133c8d2786f1a78ed642eb0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e2dfde17f87d4d0c4c057535c4a63e7a0057ffdfd6759d0a89152adb5e6d90ee
MD5 c77a6b3f512ad389de1efaab6e865863
BLAKE2b-256 15e6048a9513cf9271df212af6f450f5b9d19133f0892d8ef47ab03539e7f0b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 71a0c9862d698ecf3f6422d1dcb367d64e69df5733675a9bfb11a96f167cd81c
MD5 9d0dbba0a8ae2beb861152c4de7a96d7
BLAKE2b-256 16797a70878756b0bbe49fbe28dc5b122830d762dde2f99940cf9a339607a837

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 410.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.2.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c2b9db3a20f8b504b711c0931fc21229278217e721d94ea745d6c1151ee5d59
MD5 723eeb66709c26a7a22044b2bd1d1686
BLAKE2b-256 62f5bc955712398c4d63d28273a486d69a4fdcc5c22cdef657d93fe4630ae9f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 61be0b96c21c74710e4417bbe9045ff036802b76c3840b4c6eef385a45f4d1cc
MD5 3d2daef3e74e4ed5437440c19ffc6ee3
BLAKE2b-256 b0e1258bdf0a1b52d43739ed660362d2a5f08f95c6370fc02c871441b1448cd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4bc02b3f1f4a9f816955d8a9c9731884d6e145d2190da3f801beca00efce8b2b
MD5 facde33bf50547694b0052ccb66b420e
BLAKE2b-256 96d4f9964e1544f1114d5bee6df445864f22f00ac7c73ee516d13d484da6e1ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3931d47b01693d80f7e9ba900a0bd53ca777da72af7924b02fe525d4ede4fddd
MD5 e71568f213680b02939907db2dac1be9
BLAKE2b-256 ebe2fab306528228358af3226538c95b410bf36e3970e4778b4ce0180762d05a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 66882a83b1babdcc3ed66715b92705f54a545fe8254d9142c8de21961c2d62d2
MD5 5a894876ff87ce45d336a405d5a51018
BLAKE2b-256 aaf82eb0b4523495be86c0ea8123106bd8bed302eb0a5aab7c313e928500617a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 410.3 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.2.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 19f1a6046d94a409112c5929759eecd187d4c3f27ba405547cce399a00c1359c
MD5 72a6f9f6fa5d69c31c64d7c16e21b414
BLAKE2b-256 26f7cf25836312d0ce682db7c5dac32c6b296f7bcf562afdcbcf47c0aee0c266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7f0b0b0a5085527ff95b933294211552c6ffeb075116bb3b91a7f0cf44e3d20f
MD5 c1c88f84c2aafde27119f4f48fd1d637
BLAKE2b-256 5a94a24da5ae9b4f43267acc6a5220f22c44753e30531c37996850b4258d6f3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a7cb484655499cc1bf8c0d0652b50c83d18c24e21ee62edb748f99b156a91f59
MD5 e8ebb311caf36fa38b1c811f2074e2c7
BLAKE2b-256 f01d21b39db8666e1905aa0800a0616dabd7c29b1a11da217ec2ad05496efc9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d72810122cc1da5f6cf44b9d2bab40c83318ffcf8bb9ad9cb538c1c99e41d80f
MD5 230b2937495b237626c53c567eff0af7
BLAKE2b-256 81d3dfc114e02b70c2ac494a1713831a354eddafa396015511dc6fa6ede70bcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zpaq-0.2.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8ae70b6a0afd3d154d9d93abba066e8eaa1ec7447e1b069b85be88a81fb736da
MD5 10e94b19605852b3b180d7c6245294a8
BLAKE2b-256 195387bc2bf88dadafbb5b7c07b454d3e972d82ec018a6a0a7e027ce6f90f469

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 410.4 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.2.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 aa4dcccb9ee81b76ed8993f846a5756ee94d8baada5549308a2f895e68baf21c
MD5 a9b7c7f64a1ff11d37becde53d4ab3c5
BLAKE2b-256 0f6ed29b647d39b3da9f982838b3d371b06dc743790ebd7f67badfcc1f0899b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-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.2.8-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c0f2ffc208f87f4684dc2ff05ce7b09fa5fbc4d01d1f2eab844150f2b3e6c96
MD5 266208ac32748f70b8d31eb1b37864e9
BLAKE2b-256 f29a16f90d0e2cbf4ab67a1a3c04c047b61dfcc54cf42af2d48f31eae4149768

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp39-cp39-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 397.3 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.2.8-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7fe63cd1d65e2fd4abae499d690daf218242f0af02ab2d674da0b66045757879
MD5 2a94f4e30c1ff713cb1d1a19f360e080
BLAKE2b-256 a875564fea975f546f95e1216dcebaa0d99f9f92bea1c73d61a0143f7f56ac74

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 337.3 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.2.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4cff858356a8cf3819a53f5b73e6393b999ebe0c5a11184407b7310b1cf7262d
MD5 ede9f6d46b725bab17eea4f5a3f3315c
BLAKE2b-256 fafd93397909f8f6b29522aa5507116be1ef0a327d99cde0ebda1020b1e3c194

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zpaq-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 354.6 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.2.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f72aefe6619097e15d7a38082aa5052818b3d034c21b45eb349ff7edaea2bde9
MD5 19947c54b5783eaed544c2ea33aa163d
BLAKE2b-256 dffff8b60c72ab7c28e5c47d686c4bda88ec4c97d3963a462c3fc87c7ac7c61c

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