Skip to main content

No project description provided

Project description

py_fast_rsync

py_fast_rsync is a Python library implemented in Rust using the pyo3 and fast_rsync crates. This library provides functions for calculating the difference between two data sets and applying those differences to create updated data sets, as well as a simple function to sum two numbers and return the result as a string.

Usage

Here's how you can use the functions provided by py_fast_rsync:

    import py_fast_rsync
    from py_fast_rsync import signature

    # 1. take data_a and return a "signature" of that data
    # which is much smaller than the original data.
    data_a = b"hello world"
    sig = signature.calculate(data_a)

    # 2. take the signature for data_a and data_b
    # and return a delta between data_a and data_b.
    data_b = b"hello world!"
    delta = py_fast_rsync.diff(sig, data_b)

    # 3. apply the delta to data_a
    # (usually) return data_b

    probably_data_b = py_fast_rsync.apply(data_a, delta)
    assert probably_data_b == data_b

Building the Project

Requirements for Development

  • Rust
  • Python
  • maturin (for building, developing and publishing the package)

First, ensure you have maturin installed. You can install it via pip:

pip install maturin

To build the project, run:

maturin develop

This will compile the Rust code and install the resulting Python package in your current Python environment.

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

py_fast_rsync-0.1.0.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distributions

py_fast_rsync-0.1.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (418.4 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl (441.1 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (512.5 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (430.7 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

py_fast_rsync-0.1.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (283.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (282.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (253.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (269.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

py_fast_rsync-0.1.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (419.0 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl (441.6 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (512.8 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (431.2 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

py_fast_rsync-0.1.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (283.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (282.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (253.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (248.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (269.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

py_fast_rsync-0.1.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl (419.0 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl (441.6 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-pp38-pypy38_pp73-musllinux_1_2_armv7l.whl (512.9 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl (431.3 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (283.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (282.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (253.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-cp312-none-win_amd64.whl (122.4 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

py_fast_rsync-0.1.0-cp312-none-win32.whl (117.0 kB view hashes)

Uploaded CPython 3.12 Windows x86

py_fast_rsync-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (416.7 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-cp312-cp312-musllinux_1_2_i686.whl (440.0 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-cp312-cp312-musllinux_1_2_armv7l.whl (511.0 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl (429.1 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (251.7 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

py_fast_rsync-0.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (280.0 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (282.1 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (251.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.1 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (267.4 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

py_fast_rsync-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (211.5 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

py_fast_rsync-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (220.7 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

py_fast_rsync-0.1.0-cp311-none-win_amd64.whl (122.5 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

py_fast_rsync-0.1.0-cp311-none-win32.whl (117.0 kB view hashes)

Uploaded CPython 3.11 Windows x86

py_fast_rsync-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (416.8 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-cp311-cp311-musllinux_1_2_i686.whl (439.8 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-cp311-cp311-musllinux_1_2_armv7l.whl (511.0 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl (428.7 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (252.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

py_fast_rsync-0.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (281.2 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (252.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.4 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (268.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

py_fast_rsync-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (211.9 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

py_fast_rsync-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (221.0 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

py_fast_rsync-0.1.0-cp310-none-win_amd64.whl (122.5 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

py_fast_rsync-0.1.0-cp310-none-win32.whl (117.1 kB view hashes)

Uploaded CPython 3.10 Windows x86

py_fast_rsync-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (417.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-cp310-cp310-musllinux_1_2_i686.whl (440.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-cp310-cp310-musllinux_1_2_armv7l.whl (511.1 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl (428.9 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (252.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

py_fast_rsync-0.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (281.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (282.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (252.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (268.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

py_fast_rsync-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (212.2 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

py_fast_rsync-0.1.0-cp39-none-win_amd64.whl (122.6 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

py_fast_rsync-0.1.0-cp39-none-win32.whl (117.3 kB view hashes)

Uploaded CPython 3.9 Windows x86

py_fast_rsync-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl (417.5 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-cp39-cp39-musllinux_1_2_i686.whl (440.3 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-cp39-cp39-musllinux_1_2_armv7l.whl (511.5 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-cp39-cp39-musllinux_1_2_aarch64.whl (429.7 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (252.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

py_fast_rsync-0.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (282.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (252.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (268.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

py_fast_rsync-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (213.2 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

py_fast_rsync-0.1.0-cp38-none-win_amd64.whl (122.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

py_fast_rsync-0.1.0-cp38-none-win32.whl (117.2 kB view hashes)

Uploaded CPython 3.8 Windows x86

py_fast_rsync-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl (417.2 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

py_fast_rsync-0.1.0-cp38-cp38-musllinux_1_2_i686.whl (440.7 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

py_fast_rsync-0.1.0-cp38-cp38-musllinux_1_2_armv7l.whl (510.8 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARMv7l

py_fast_rsync-0.1.0-cp38-cp38-musllinux_1_2_aarch64.whl (429.2 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

py_fast_rsync-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (252.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

py_fast_rsync-0.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (282.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

py_fast_rsync-0.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (282.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

py_fast_rsync-0.1.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (252.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

py_fast_rsync-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

py_fast_rsync-0.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (268.5 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

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