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.5.4.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.5.4-cp314-cp314t-win_amd64.whl (302.3 kB view details)

Uploaded CPython 3.14tWindows x86-64

pyzsync-1.5.4-cp314-cp314t-manylinux_2_34_x86_64.whl (450.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ x86-64

pyzsync-1.5.4-cp314-cp314t-macosx_11_0_arm64.whl (397.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

pyzsync-1.5.4-cp314-cp314t-macosx_10_12_x86_64.whl (415.7 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

pyzsync-1.5.4-cp314-cp314-win_amd64.whl (302.4 kB view details)

Uploaded CPython 3.14Windows x86-64

pyzsync-1.5.4-cp314-cp314-manylinux_2_34_x86_64.whl (451.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

pyzsync-1.5.4-cp314-cp314-macosx_11_0_arm64.whl (398.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyzsync-1.5.4-cp314-cp314-macosx_10_12_x86_64.whl (415.7 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

pyzsync-1.5.4-cp313-cp313-win_amd64.whl (302.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pyzsync-1.5.4-cp313-cp313-manylinux_2_34_x86_64.whl (451.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

pyzsync-1.5.4-cp313-cp313-macosx_11_0_arm64.whl (397.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyzsync-1.5.4-cp313-cp313-macosx_10_12_x86_64.whl (416.1 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

pyzsync-1.5.4-cp312-cp312-win_amd64.whl (302.6 kB view details)

Uploaded CPython 3.12Windows x86-64

pyzsync-1.5.4-cp312-cp312-manylinux_2_34_x86_64.whl (451.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pyzsync-1.5.4-cp312-cp312-macosx_11_0_arm64.whl (398.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyzsync-1.5.4-cp312-cp312-macosx_10_12_x86_64.whl (416.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

pyzsync-1.5.4-cp311-cp311-win_amd64.whl (304.8 kB view details)

Uploaded CPython 3.11Windows x86-64

pyzsync-1.5.4-cp311-cp311-manylinux_2_34_x86_64.whl (453.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pyzsync-1.5.4-cp311-cp311-macosx_11_0_arm64.whl (401.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyzsync-1.5.4-cp311-cp311-macosx_10_12_x86_64.whl (419.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

pyzsync-1.5.4-cp310-cp310-win_amd64.whl (304.3 kB view details)

Uploaded CPython 3.10Windows x86-64

pyzsync-1.5.4-cp310-cp310-manylinux_2_34_x86_64.whl (453.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

File details

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

File metadata

  • Download URL: pyzsync-1.5.4.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.5.4.tar.gz
Algorithm Hash digest
SHA256 030b05aff0c9a57fb4b1c53fde8f163824386569917eb5533d8f6854809bdf9d
MD5 bb3d674c8bcb503a2ab5440c6569ab27
BLAKE2b-256 c26c3d06d0ba8bc5d17eb82edf234b723466a8db8bad92ad66f4dcbffd70272b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.5.4-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 302.3 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.5.4-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 3ce3b64f586849cb4b90bdb146a1029acc5175fb62151a7696d110e632fbb180
MD5 fa449e22beb31d195a6f51d31b6f8397
BLAKE2b-256 6eb09f94fd8c2f3070c88a00f11f235d7bee521ee188c8a7f2d9c23e89f0764a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp314-cp314t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 597f1c431cae25670e819703a01362682cd528213cc0511794ce3f78951c95f4
MD5 d13eb76cf77b358d6ce47418d8ca5cf1
BLAKE2b-256 6f0e57905296ade65c5152b0875cae0c8067c602d036dfd2ff2a4ec214511a09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab030645a5efa0fcaef790000bf8cef8b6a3cf4c81d2b8473786ef5c45947dc9
MD5 5e3f1fa129b60872343cee91fedb87a3
BLAKE2b-256 51926c5a45eb4189c36938d614405c598f4fd0453c212c23bc49736cc884b3ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fb683cee3204dc017ecb3011eba573e15f964b22290e727c145f7e924d7973e8
MD5 f9cb0596b42bc12d928c20e6f755dcd8
BLAKE2b-256 721b482d870e788e4ff9e73047c87c92bda8c65051537a42cb2d9d824615161b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.5.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 302.4 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.5.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b25ed7181db05a9713019198712c7316fab04cd21734226cf6687214249ee192
MD5 33d38c70d602c6c0a1583b667975970d
BLAKE2b-256 0d887d0a35322d1aaeb4629dabf91312e08b7d0ae9c363eab99b3ed21964e834

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8f938490274f7ca96c1f8bbb154097c0297f5b2961f8f871bb37efbc6bbfd0a4
MD5 fb5f95221cb5be72fc128f625d9629a8
BLAKE2b-256 a9bdf9fef2b21c6a0c6a41f3ab4a2794fcf59b2aefe9e6e44ce15734a94fd04c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4611b0bc7c6ec15d6b3cb0e5b32443778643fa58d7f7c1e632335899c5875a72
MD5 f11fa090ae8ac74ab3e0dd442a00275e
BLAKE2b-256 0cd27eec7e490768391bd820ec55be0f206a297583ab55220efe0d11191c7c38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5fb927508f419a65c625e6ed05bbbadfa35cd84ba2daf27488b5e6a636f21f74
MD5 1c4381435219c6f87ac868ff74d5f1b5
BLAKE2b-256 807c538305b2ff4873c594e330c83b0eab2a2c5e4279ceaf19710f0df63515ab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.5.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 302.4 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.5.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8f041e53813858217530c98f2d7ee58996d167df6d1917c268ba62d1a9dbe2af
MD5 c4a5cdb78150c9a6defc1a1b6f70e733
BLAKE2b-256 14ffa64a9f4db5a807b04a624f6ba97f513168c9804259f2ce8db10f7bdfa076

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2aaf177b5e2c31bad63eb229b5d0ab956138ed6c86140915e50210101774f0bf
MD5 0b1a93ba1e18bec2ec581eb00b828016
BLAKE2b-256 265e6beefd3ae49722c6fdca4af744fd5c712bfb624b74a2b6066714d6e84a47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f1c073b571524f1c82673e15bc271245437e025a71d89a4a546ecceec74da4d9
MD5 0a2cb925b3e8e8c91d05aace44f37602
BLAKE2b-256 361461df7fc60dfb65ee0aa30e620ff60a46dd0202f547bd616836c089fe8ce7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7c841fe5dab8ac61268bb439986305a36be90ccc9af00a098c39d5294e575b5b
MD5 849e54c05e457445cfd53e69fdbbb4ee
BLAKE2b-256 241b7ccccc9ae40820e4633df73babaf88cd4311f57097f6cbf527cd1388c618

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.5.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 302.6 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.5.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e7d2fbed572b413c7ec270ee76af18b0a2a6e212ad36c7e8b0ff43e6ec7c7f11
MD5 d482793e8e2bdfa6c3c7ee606d27cb13
BLAKE2b-256 ca180e88ba4562c5735fca1c9be5e617db0f7cf1bacc51d730ac919babce8210

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 57cf0f4948323c92f20c32b769d0d4d247e78d6e7068e34d0279e1d8a1e8da66
MD5 43c3a5cb5d03ee6f709ffa329a8dc457
BLAKE2b-256 094b4556c739a61e5884203fd797c1760542ac8b4a32d477879aed30489f4e68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fa966d0aba693c7d3900b1cf8e9ce42bb908e1515af55202d93f4e2a9a32833
MD5 1b5fc642d66bd29139025052f25b9e23
BLAKE2b-256 50bc48a1660f6a4621f516d1d886d1ac24d5d450673c93825bce48690a09a920

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b95f792f56f32e67e4f8a3b536a64573735e098e39b0133d615c98078c67126d
MD5 756358513754e3169857c2b8db822894
BLAKE2b-256 ebc3baa4e5d8b2d4cd2743ad38c18d2499d45614d872cb1569bbbaf13b5a30ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.5.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 304.8 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.5.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c78c0eebcc80de5130c6e27709b857b4c168e18b426c2862ef6851441e6088d3
MD5 f89c7c1e5ea726a4dd61db5331785139
BLAKE2b-256 063c1b696ed7477ec6549d8c6984ba4c1e4bee5831d52d0e9c8fc077a953a26d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2fb3c5844867305f6ae1f1d53ebf8749939ec177267c661f090c8f92edf0e73f
MD5 7bdd54ece192ddf7bfd30da237e3459d
BLAKE2b-256 499f147aeedfe013c7a173b24f59ae25054d15a1596351388b4c95a0b0b1c9c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4f446fc462556a81c0f3028001a842eb37d78c6840a31bb3170e502a7d8e542
MD5 5872b6858511e107b0b341015a7667b6
BLAKE2b-256 8dd23a6c4ebc98258b2f7019a932e47c4f4b76901efe36a17953b0abd4b205c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 033c3969a794da09525460677dd84c3075f0dd5dee861b1c1a7c56fcd9a0dc97
MD5 4e19ff08cd333c3af672aebd9d04ee23
BLAKE2b-256 36ef5eceee3f854b62cdc37e6b39559cc49bfd6368d649c9d2541b3f26adc683

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.5.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 304.3 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.5.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f78cd80386bb88166e517a97e0eeb7ae45aba08e0b21e3632a1bedfe73574c2b
MD5 fd12243400ffc1aeb73036a5f5b46fff
BLAKE2b-256 fbcf8f7379a381095460ef5afe12e4f9593e42982f9a2ae2c8e88926036ba3b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.5.4-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3232ffd5718ef8fde263940d5722da8252b3d7c3aeaafff35a0794bdfb1c2ffb
MD5 01e4b1ab525ca84f2d92b8cf1c0d866e
BLAKE2b-256 fb89006238ffcb909e455a2bcd6d4aff77261fb0f9bea2b2274de7a0f4f14c21

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