Skip to main content

python binding for qbdiff

Project description

✨ pyqbdiff ✨

The python binding for qbdiff

pypi python implementation wheel license action

install

pip install qbdiff

Usage

from qbdiff import compute, patch, version, error

old = b"1234"
new_ = b"123456"
compute(old, new_, "diff_tmp.bin")
with open("diff_tmp.bin", "rb") as f:
    diff = f.read()
patch(old, diff, "new.bin")
with open("new.bin", "rb") as f:
    newf = f.read()
assert new_ == newf
  • use QBDIFF_USE_CFFI env var to specify a backend

Public functions

QBERR_BADCKSUM: int
QBERR_BADPATCH: int
QBERR_IOERR: int
QBERR_LZMAERR: int
QBERR_NOMEM: int
QBERR_OK: int
QBERR_SAIS: int
QBERR_TRUNCPATCH: int

def version() -> str: ...
def error(code: int) -> str: ...
def compute(old: bytes, new_: bytes, diff_file: str) -> int: ...
def patch(old: bytes, patch_: bytes, new_file: str) -> int: ...

Build

Two env var is needed to build, LIB and INCLUDE. LIB is the path of liblzma.lib/liblzma.so, and INCLUDE is the directory of lzma.h

git submodule update --init --recursive
python setup.py sdist bdist_wheel --use-cython --use-cffi

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

qbdiff-0.0.1.tar.gz (476.0 kB view hashes)

Uploaded Source

Built Distribution

qbdiff-0.0.1-cp310-cp310-win_amd64.whl (389.7 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

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