Skip to main content

A Python module written in Rust that implements the zsync algorithm

Project description

pyzsync

A Python module written in Rust that implements the zsync algorithm.

Usage

Use the Python module as a script

# Show help.
uvx --with pyzsync python -m pyzsync --help

# Create a zsync file.
uvx --with pyzsync python -m pyzsync zsyncmake bigfile

# Compare two files and show how much data from the first file
# can be used to create the second file using the zsync algorithm.
uvx --with pyzsync python -m pyzsync compare bigfile1 bigfile2

# Download a file using zsync.
# This will automatically use blocks from the local files
# noble-desktop-amd64.iso and noble-desktop-amd64.iso.zsync-tmp-*
# if available.
uvx --with pyzsync python -m pyzsync zsync https://cdimage.ubuntu.com/daily-live/current/noble-desktop-amd64.iso.zsync

Use the Python module in a script

from pyzsync import create_zsync_file

create_zsync_file("bigfile", "bigfile.zsync")

See tests/test_pyzsync.py and pyzsync/__main__.py for more examples.

Build / Development

Based on PyO3

# Install toolchain (linux)
rustup toolchain install beta-x86_64-unknown-linux-gnu

# Build package in debug mode and install it to virtualenv
uv sync --all-extras
uv run maturin develop --release

# Run clippy
cargo clippy

# Run cargo test
cargo test --no-default-features

# Run pytest
uv run pytest -vv

# Build release package
uv run maturin build --release

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

pyzsync-1.4.24.tar.gz (2.0 MB view details)

Uploaded Source

Built Distributions

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

pyzsync-1.4.24-cp314-cp314t-win_amd64.whl (302.0 kB view details)

Uploaded CPython 3.14tWindows x86-64

pyzsync-1.4.24-cp314-cp314t-manylinux_2_34_x86_64.whl (458.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ x86-64

pyzsync-1.4.24-cp314-cp314t-macosx_11_0_arm64.whl (403.8 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

pyzsync-1.4.24-cp314-cp314t-macosx_10_12_x86_64.whl (417.1 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

pyzsync-1.4.24-cp314-cp314-win_amd64.whl (302.0 kB view details)

Uploaded CPython 3.14Windows x86-64

pyzsync-1.4.24-cp314-cp314-manylinux_2_34_x86_64.whl (458.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

pyzsync-1.4.24-cp314-cp314-macosx_11_0_arm64.whl (403.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyzsync-1.4.24-cp314-cp314-macosx_10_12_x86_64.whl (417.1 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

pyzsync-1.4.24-cp313-cp313-win_amd64.whl (302.0 kB view details)

Uploaded CPython 3.13Windows x86-64

pyzsync-1.4.24-cp313-cp313-manylinux_2_34_x86_64.whl (458.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

pyzsync-1.4.24-cp313-cp313-macosx_11_0_arm64.whl (403.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyzsync-1.4.24-cp313-cp313-macosx_10_12_x86_64.whl (417.1 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

pyzsync-1.4.24-cp312-cp312-win_amd64.whl (302.0 kB view details)

Uploaded CPython 3.12Windows x86-64

pyzsync-1.4.24-cp312-cp312-manylinux_2_34_x86_64.whl (458.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pyzsync-1.4.24-cp312-cp312-macosx_11_0_arm64.whl (403.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyzsync-1.4.24-cp312-cp312-macosx_10_12_x86_64.whl (417.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

pyzsync-1.4.24-cp311-cp311-win_amd64.whl (301.9 kB view details)

Uploaded CPython 3.11Windows x86-64

pyzsync-1.4.24-cp311-cp311-manylinux_2_34_x86_64.whl (458.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pyzsync-1.4.24-cp311-cp311-macosx_11_0_arm64.whl (403.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyzsync-1.4.24-cp311-cp311-macosx_10_12_x86_64.whl (417.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

pyzsync-1.4.24-cp310-cp310-win_amd64.whl (301.9 kB view details)

Uploaded CPython 3.10Windows x86-64

pyzsync-1.4.24-cp310-cp310-manylinux_2_34_x86_64.whl (458.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

pyzsync-1.4.24-cp39-cp39-win_amd64.whl (302.1 kB view details)

Uploaded CPython 3.9Windows x86-64

pyzsync-1.4.24-cp39-cp39-manylinux_2_34_x86_64.whl (458.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

File details

Details for the file pyzsync-1.4.24.tar.gz.

File metadata

  • Download URL: pyzsync-1.4.24.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24.tar.gz
Algorithm Hash digest
SHA256 8bad98efb47f47cf5796c441f818bce1ad25e7832cca41e01ecf2749e3e860c5
MD5 eaff8f0c80cfa04390a827e0a6793cab
BLAKE2b-256 a5314e1ab045cb7b4c6791aa7869b8215497e8b0e63531bccb6c5e64c79ba846

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.4.24-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 302.0 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 2aa38fb9b8c090db18ef38e10a719a3c7cfd36ba9f778dcd371c7e35dca1bec9
MD5 df267c0a211e1fa991229dd963c59583
BLAKE2b-256 b1ed0224f47e82537a74fcd5a17c6d7bb3148af4a3a2289f87068ddb91b0f921

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314t-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6e9cb6544bbd5f47725429ba26c31eca7d230876ec34259957e7cde7e6b9d20e
MD5 3a661e7ba3189907a262a7b91206a7c6
BLAKE2b-256 c75918f595db7d4e304d4af3a536789b31064fe56360845e9a9c5abd3a565248

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d920d3397eed35ac6af33b58b321f470a484a85d99e1eddfb3408101e67d5ae0
MD5 4daa4b027139ec76aab357220972056d
BLAKE2b-256 a057f51599a63861cbf2826623262d3641fd7fd9e68cdb6867bccc1e84681f5a

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e0dd88d0731c1bda69da21333622b3e3afa952eabf90b8be058858fd7380b906
MD5 9a004ea4c043ec4d5f7224aad701957d
BLAKE2b-256 0514093aa7752bfb79b5e562012abb85155cbf5c3e70330656388c4769d540cb

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.4.24-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 302.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3a7171177b928308d0b283d28ebddfab2b6a2f022f6380d9df2d5725f1317c70
MD5 87836a611a9a103c665cdeb8edb5cb54
BLAKE2b-256 febba54f8841ad3bf7e692bc3b389a6c3c389002b5cccba7ba568012a526a742

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f18b59ee1429d35289e9825e607bf508855ff5ea0ba49e6a5ec289a7f193749b
MD5 c2290bfd6927ba9890355c0083b06731
BLAKE2b-256 e55628ffe7979249425fada0cfe236f7f99e7e3c55fec62496c42d6520e77b56

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34ad6c1bf613fe6a2a805fd8dde10d4804fee01ae860e5840b7b7eb89f4f9301
MD5 6ffc98926b7bc7df83ac64a5c24d0750
BLAKE2b-256 295074e7781551f1c7167505ca191c0ac78d0122200554455ccbdd66e3eb536c

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ff63827bc4be5f93bf883b901331bce33a951533715df16483294201df786ed9
MD5 4187e1e1b69d91b3821653cc6d90b26d
BLAKE2b-256 e94a4dbad194fb1b2c51449e8b820a9c68e698f2f8f698ed9c1663722b996333

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.4.24-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 302.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c2fd7c52814a58063c07b64682e5fafa5ff6ed86c53a0eaaa88751bd7cd58f05
MD5 b0f50e3a25b56cc9f1858fb369ac5de3
BLAKE2b-256 739066e6f4126d5604a5bdeb250f90af5bdc69594e94df25e0f3286963568598

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e49fa473fce873154a02c7782fbc57e0f2a40c18f2952a6c5640a904e5919065
MD5 caf52f8be5df9468bbb6f2fbd2a6154c
BLAKE2b-256 d502de791ccef6ca2978320f7ef4552233b970cf24658fc2100333788c3fc57e

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33a9673b4e95ef94f0f86490516ade2050cb42e138fd728a1245cf843012b69f
MD5 af4c495e09e050b3051b2b481eef308a
BLAKE2b-256 c919ad10f016792dd9e2a1c1d2307e09e803b67993bd62bde3132de4387b38f0

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3e1a607066d0faa3a3631fb841c59044727bb937fa49be62c0162912b8718d4b
MD5 b70d37262b03ff03f3ee92d0b0b9925f
BLAKE2b-256 824e99caa394d7d62656644adc92d618f8b2f06a70fe87649bfbb249b0c0b524

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.4.24-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 302.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5262d7ef2fb45f206cdb0b049941ecf72e69d955ae5df4a8ba2007b2767abbf3
MD5 41ebc0232bc916b0d691dfb7a69546e8
BLAKE2b-256 4f51250912ff24060339e346011332dffe5f5229fc9ccaa8fb0acee8be1e33c7

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2a04e7adbdeda1eda57afb8133b2f8f8a40655ac5f71bff8fc599b19ec37feaa
MD5 cb6241308460179b59cd8d7f3fc49a54
BLAKE2b-256 c9750175e896c331b8ad1d902040646851a1f8a685d16fd824273d8b9572e194

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5bc57f9b4eb892f1a299362e8fbbb33494333842871c72d30541025edf12aa36
MD5 0b1533b004b265292ff2b8006c478a49
BLAKE2b-256 cb02d0abd2afdb17d912d8d27fed153e3ab5c4654d8ac8184361c08d81a82fb4

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 05fa0629ce91888ab995c815af372ac191b8308272909c54f7f672c822c29420
MD5 815e03e1b64acbcc5781f75b8077b156
BLAKE2b-256 7ba1360688e8a0d86c8f6d2ff907660fd25f3bb3ad5bdc07908e0ba898eaa4d8

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.4.24-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 301.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8497b07948a73fc261c125f829e2235151187ff2a09cc12f222f3b8d611f7dac
MD5 3fb627b1bc17959fe4da3f8aea70cf74
BLAKE2b-256 d932be3eb416c06cbe475001475c129955139e7b90a34bacd953da5304ec3e88

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b11d335f2453d9fdf3f6999091eb41b7c6c96884355b77aec56ec1707a089054
MD5 f4ddd0647f5eaf592dc10701cec6691e
BLAKE2b-256 5b7b586dec26901c18afd329aa9efa49bd316172966b99d042b718690d2ba891

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9baefb454debca74a9e66c8fa3ad48773089c1e439a08ddc05ae31f9f9cf30c1
MD5 e320609dc593a7ca139ece5d2649692f
BLAKE2b-256 c9c76f08d2d4f680b1affe49b431c0b7535642cb4e03d1055e58e6bddfc536ad

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0296ac55b78398ff1ebbaded9d3753380afc75af113a5e35ace119508f297f67
MD5 24099afc4ef000da7854e191d8b17404
BLAKE2b-256 249b28c33ac9044ab5561407a96a576c37cebb427f55c97fcdd7c63f1a5f34c0

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.4.24-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 301.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 09083c2c72870519f4d62326d28078643ddbc49f3ef45f60d1e8309ebc13b2dc
MD5 d3e250828dec74765a81a7e93b57b553
BLAKE2b-256 072832eb9fc14ddf1364ec3a9b5a528826529eda0cf93a46fcee9c16bdfe4130

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7b434438fb6f70ac1bd2b8aa129c7d93efd62d9c019f1dde47336e94816f3b5d
MD5 9299a725ebe80da00b0fbf228326d19b
BLAKE2b-256 9569bdd47aba31bf3b118c7c735a28e96d8af6ff3166c97a4f6a53a8dea61408

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.4.24-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 302.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyzsync-1.4.24-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7faddd4be79e0cdbd366ac5f9bb2ac56077c646424870241f5cba675243e8d53
MD5 acfd3711f12c09e6ff4814ccbef71fa8
BLAKE2b-256 713b9241df60ed97fa6b461991b382222d7586c62ecdfc33986b76e919557f2a

See more details on using hashes here.

File details

Details for the file pyzsync-1.4.24-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyzsync-1.4.24-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ac248ae2e5068cc261554e6948f391a92f314647025010365cb2c43cc2786505
MD5 76b1460aadf23d3933339b80b533105e
BLAKE2b-256 c11650ccec163f0b203a41f4360aef1ac934b5bd537ec501694d1d40c52e3c7a

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