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
Release files for pyzsync 1.5.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyzsync-1.5.4.tar.gz | 2.0 MB | Details |
Built distributions (wheels)
Total release size: 10.6 MB
Release files / pyzsync-1.5.4.tar.gz
| Download URL | pyzsync-1.5.4.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
030b05aff0c9a57fb4b1c53fde8f163824386569917eb5533d8f6854809bdf9d
|
|
BLAKE2b-256 checksum How to use checksums |
c26c3d06d0ba8bc5d17eb82edf234b723466a8db8bad92ad66f4dcbffd70272b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314t-win_amd64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 302.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3ce3b64f586849cb4b90bdb146a1029acc5175fb62151a7696d110e632fbb180
|
|
BLAKE2b-256 checksum How to use checksums |
6eb09f94fd8c2f3070c88a00f11f235d7bee521ee188c8a7f2d9c23e89f0764a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314t-manylinux_2_34_x86_64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314t-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 450.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
597f1c431cae25670e819703a01362682cd528213cc0511794ce3f78951c95f4
|
|
BLAKE2b-256 checksum How to use checksums |
6f0e57905296ade65c5152b0875cae0c8067c602d036dfd2ff2a4ec214511a09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 397.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ab030645a5efa0fcaef790000bf8cef8b6a3cf4c81d2b8473786ef5c45947dc9
|
|
BLAKE2b-256 checksum How to use checksums |
51926c5a45eb4189c36938d614405c598f4fd0453c212c23bc49736cc884b3ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314t-macosx_10_12_x86_64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314t-macosx_10_12_x86_64.whl |
|---|---|
| Size | 415.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
fb683cee3204dc017ecb3011eba573e15f964b22290e727c145f7e924d7973e8
|
|
BLAKE2b-256 checksum How to use checksums |
721b482d870e788e4ff9e73047c87c92bda8c65051537a42cb2d9d824615161b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314-win_amd64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 302.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b25ed7181db05a9713019198712c7316fab04cd21734226cf6687214249ee192
|
|
BLAKE2b-256 checksum How to use checksums |
0d887d0a35322d1aaeb4629dabf91312e08b7d0ae9c363eab99b3ed21964e834
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 451.5 kB |
| Tags | CPython 3.14 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
8f938490274f7ca96c1f8bbb154097c0297f5b2961f8f871bb37efbc6bbfd0a4
|
|
BLAKE2b-256 checksum How to use checksums |
a9bdf9fef2b21c6a0c6a41f3ab4a2794fcf59b2aefe9e6e44ce15734a94fd04c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 398.0 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4611b0bc7c6ec15d6b3cb0e5b32443778643fa58d7f7c1e632335899c5875a72
|
|
BLAKE2b-256 checksum How to use checksums |
0cd27eec7e490768391bd820ec55be0f206a297583ab55220efe0d11191c7c38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp314-cp314-macosx_10_12_x86_64.whl
| Download URL | pyzsync-1.5.4-cp314-cp314-macosx_10_12_x86_64.whl |
|---|---|
| Size | 415.7 kB |
| Tags | CPython 3.14 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
5fb927508f419a65c625e6ed05bbbadfa35cd84ba2daf27488b5e6a636f21f74
|
|
BLAKE2b-256 checksum How to use checksums |
807c538305b2ff4873c594e330c83b0eab2a2c5e4279ceaf19710f0df63515ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp313-cp313-win_amd64.whl
| Download URL | pyzsync-1.5.4-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 302.4 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8f041e53813858217530c98f2d7ee58996d167df6d1917c268ba62d1a9dbe2af
|
|
BLAKE2b-256 checksum How to use checksums |
14ffa64a9f4db5a807b04a624f6ba97f513168c9804259f2ce8db10f7bdfa076
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | pyzsync-1.5.4-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 451.2 kB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
2aaf177b5e2c31bad63eb229b5d0ab956138ed6c86140915e50210101774f0bf
|
|
BLAKE2b-256 checksum How to use checksums |
265e6beefd3ae49722c6fdca4af744fd5c712bfb624b74a2b6066714d6e84a47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pyzsync-1.5.4-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 397.2 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f1c073b571524f1c82673e15bc271245437e025a71d89a4a546ecceec74da4d9
|
|
BLAKE2b-256 checksum How to use checksums |
361461df7fc60dfb65ee0aa30e620ff60a46dd0202f547bd616836c089fe8ce7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | pyzsync-1.5.4-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 416.1 kB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
7c841fe5dab8ac61268bb439986305a36be90ccc9af00a098c39d5294e575b5b
|
|
BLAKE2b-256 checksum How to use checksums |
241b7ccccc9ae40820e4633df73babaf88cd4311f57097f6cbf527cd1388c618
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp312-cp312-win_amd64.whl
| Download URL | pyzsync-1.5.4-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 302.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e7d2fbed572b413c7ec270ee76af18b0a2a6e212ad36c7e8b0ff43e6ec7c7f11
|
|
BLAKE2b-256 checksum How to use checksums |
ca180e88ba4562c5735fca1c9be5e617db0f7cf1bacc51d730ac919babce8210
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | pyzsync-1.5.4-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 451.4 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
57cf0f4948323c92f20c32b769d0d4d247e78d6e7068e34d0279e1d8a1e8da66
|
|
BLAKE2b-256 checksum How to use checksums |
094b4556c739a61e5884203fd797c1760542ac8b4a32d477879aed30489f4e68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pyzsync-1.5.4-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 398.6 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7fa966d0aba693c7d3900b1cf8e9ce42bb908e1515af55202d93f4e2a9a32833
|
|
BLAKE2b-256 checksum How to use checksums |
50bc48a1660f6a4621f516d1d886d1ac24d5d450673c93825bce48690a09a920
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | pyzsync-1.5.4-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 416.7 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
b95f792f56f32e67e4f8a3b536a64573735e098e39b0133d615c98078c67126d
|
|
BLAKE2b-256 checksum How to use checksums |
ebc3baa4e5d8b2d4cd2743ad38c18d2499d45614d872cb1569bbbaf13b5a30ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp311-cp311-win_amd64.whl
| Download URL | pyzsync-1.5.4-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 304.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c78c0eebcc80de5130c6e27709b857b4c168e18b426c2862ef6851441e6088d3
|
|
BLAKE2b-256 checksum How to use checksums |
063c1b696ed7477ec6549d8c6984ba4c1e4bee5831d52d0e9c8fc077a953a26d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | pyzsync-1.5.4-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 453.8 kB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
2fb3c5844867305f6ae1f1d53ebf8749939ec177267c661f090c8f92edf0e73f
|
|
BLAKE2b-256 checksum How to use checksums |
499f147aeedfe013c7a173b24f59ae25054d15a1596351388b4c95a0b0b1c9c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pyzsync-1.5.4-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 401.8 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e4f446fc462556a81c0f3028001a842eb37d78c6840a31bb3170e502a7d8e542
|
|
BLAKE2b-256 checksum How to use checksums |
8dd23a6c4ebc98258b2f7019a932e47c4f4b76901efe36a17953b0abd4b205c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | pyzsync-1.5.4-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 419.5 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
033c3969a794da09525460677dd84c3075f0dd5dee861b1c1a7c56fcd9a0dc97
|
|
BLAKE2b-256 checksum How to use checksums |
36ef5eceee3f854b62cdc37e6b39559cc49bfd6368d649c9d2541b3f26adc683
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp310-cp310-win_amd64.whl
| Download URL | pyzsync-1.5.4-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 304.3 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f78cd80386bb88166e517a97e0eeb7ae45aba08e0b21e3632a1bedfe73574c2b
|
|
BLAKE2b-256 checksum How to use checksums |
fbcf8f7379a381095460ef5afe12e4f9593e42982f9a2ae2c8e88926036ba3b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / pyzsync-1.5.4-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | pyzsync-1.5.4-cp310-cp310-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 453.2 kB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
3232ffd5718ef8fde263940d5722da8252b3d7c3aeaafff35a0794bdfb1c2ffb
|
|
BLAKE2b-256 checksum How to use checksums |
fb89006238ffcb909e455a2bcd6d4aff77261fb0f9bea2b2274de7a0f4f14c21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|