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.
python -m pyzsync --help

# Create a zsync file.
poetry run 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.
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.
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
poetry install
poetry run maturin develop --release

# Run clippy
cargo clippy

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

# Run pytest
poetry run pytest -vv

# Build release package
poetry 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.3.1.tar.gz (2.0 MB view details)

Uploaded Source

Built Distributions

pyzsync-1.3.1-cp312-none-win_amd64.whl (274.2 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyzsync-1.3.1-cp312-cp312-manylinux_2_34_x86_64.whl (427.6 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.34+ x86-64

pyzsync-1.3.1-cp312-cp312-macosx_11_0_arm64.whl (380.2 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyzsync-1.3.1-cp311-none-win_amd64.whl (274.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyzsync-1.3.1-cp311-cp311-manylinux_2_34_x86_64.whl (427.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.34+ x86-64

pyzsync-1.3.1-cp311-cp311-macosx_11_0_arm64.whl (380.2 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyzsync-1.3.1-cp310-none-win_amd64.whl (274.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyzsync-1.3.1-cp310-cp310-manylinux_2_34_x86_64.whl (427.6 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.34+ x86-64

pyzsync-1.3.1-cp310-cp310-macosx_11_0_arm64.whl (380.2 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyzsync-1.3.1-cp39-none-win_amd64.whl (274.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyzsync-1.3.1-cp39-cp39-manylinux_2_34_x86_64.whl (428.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.34+ x86-64

pyzsync-1.3.1-cp39-cp39-macosx_11_0_arm64.whl (380.5 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pyzsync-1.3.1.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1.tar.gz
Algorithm Hash digest
SHA256 b12d7a40a2e05987515b0441742362dbaa5d15e212b92aa12d30954d009006c7
MD5 c817418446d3b3e410b8ef1169978d4e
BLAKE2b-256 4a25475662b5e631a8558bc809321ec8f9754f2204c9d404aaa294813339371f

See more details on using hashes here.

File details

Details for the file pyzsync-1.3.1-cp312-none-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.3.1-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 274.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 f55093cfdbf0108c42c3fe475d977153fe2f08b23515c9624eb8f8146eaf1ac3
MD5 942f6d1a3de4f3242e736e3512fe0516
BLAKE2b-256 b811748d9f8d9af92ff8eff7f55d65136a409d5810b60ac771f7f4595e5cb572

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.3.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ad104f23cdf509df062698f0e441767dac5e39b965d0c1fa323703c91c4321b5
MD5 ecfb50484756a0f8ac081640f6dc76e2
BLAKE2b-256 742f7e52e600dd59f80eb0e3c482a3f775860cf0eeaca71eb360155f5a7a7553

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.3.1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 380.2 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4575f8aa7ec11418f2da9d54fbc578c31c7575718ea330595f60a24efa758c4d
MD5 d78dac4e8ad416f4c8249cb424f7d154
BLAKE2b-256 1f0f980797f3d4bc5da202d7a99f0cca688a01df584891a5cb3a3af7cc75bc79

See more details on using hashes here.

File details

Details for the file pyzsync-1.3.1-cp311-none-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.3.1-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 274.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 6a4f17b5e27247a20eb5afd9f204a2a3f23839f3ac1f083046c7e7f9568b775c
MD5 6416e77bdcbd3f781905e2df7557a4c8
BLAKE2b-256 fafafb7f37316da85bfe1cdbe187efb158d9c9167fc2193ccd98a034633dbe99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.3.1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9b54a150d208ae25dc6fc6659a579b43000b7ebb4336affb3741b23963ecd1b2
MD5 6ca5edfa75e62a7619bfce6ffd09785d
BLAKE2b-256 747290bdc89af6df12d76f28f1487d32cecb6ec4d5a727c1a804850ca53e29f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.3.1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 380.2 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 418b97e8f2898e5873615d11e8fb125a82e0c49ebe873fe7aa4596add5334ce5
MD5 d4ed06f55d67ca0188450fb0285fe8c8
BLAKE2b-256 c14b63cfd0fd29fdbc7258d39d33f97af35671d1022cffeb4e739e8525ab2978

See more details on using hashes here.

File details

Details for the file pyzsync-1.3.1-cp310-none-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.3.1-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 274.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 b46ab270e79cc8699772c43022787d4101a955a650b9b65d9ba2b5afea0cbe6b
MD5 ff7876ccafcbcfc950cf752f25d167dd
BLAKE2b-256 2a9bebc950a87c19ed062499bbeb805816514045ad1b5f6b4ac051380b4f0c23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyzsync-1.3.1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 dc5adc0a4b83036d472783cef457e49d067c42f59e6ea2860986e4d1c374dd7e
MD5 d8463055041799fe5c3fac3cb65772d5
BLAKE2b-256 13e85bb66d3f7b3dcbe7ca4a9c21fb4a77ddf8e6ecad0d50eaeddc510f4e98ee

See more details on using hashes here.

File details

Details for the file pyzsync-1.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyzsync-1.3.1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 380.2 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13f7e62aa13d5c57a542bc2197674d07e886a07ee075e92eecf0115a2b98e081
MD5 93596f9cb95ef26c314fd505013fb27a
BLAKE2b-256 78d201ed8d3ef1ea48d9a0ac75ad8f28edfbd47fe194f5de5cb5542d5e098c3f

See more details on using hashes here.

File details

Details for the file pyzsync-1.3.1-cp39-none-win_amd64.whl.

File metadata

  • Download URL: pyzsync-1.3.1-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 274.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 5165cb5666519d446bf3c4da9fa8c121f039beeff77565c26910c17e405a053e
MD5 f36b4ecd505c57c89014f3a8717db946
BLAKE2b-256 1bb8a4c45d8112e4a12e0aa4dd919d4e6de76acf4bda035d64bd9fba9e1c4427

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzsync-1.3.1-cp39-cp39-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 428.3 kB
  • Tags: CPython 3.9, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8a0afb54f8d1d6641950516454249e295a8c9c18286438c28e3248c80621f1b0
MD5 b6e3247d4093b4c211e3979b3267a9d7
BLAKE2b-256 4bd0901e6a25683a6aea607d9efe8fab5886c06b41d1eb1c64315aa80a08749e

See more details on using hashes here.

File details

Details for the file pyzsync-1.3.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyzsync-1.3.1-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 380.5 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyzsync-1.3.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34289420535a6515ae62b159af43a27cc537d8719634e6fa652021bf3a7d3259
MD5 52cf806258fbd8525b92cf7bd990d961
BLAKE2b-256 ca35329fda511f1602e5b0aea688c366de748f2b925f20f4137de5cf132cb704

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page