Skip to main content

binary diff and patch using the BSDIFF4-format

Project description

The code is mostly derived from cx_bsdiff (written by Anthony Tuininga, http://cx-bsdiff.sourceforge.net/). The cx_bsdiff code in turn was derived from bsdiff, the standalone utility produced for BSD which can be found at http://www.daemonology.net/bsdiff. In addition to the two functions (diff and patch) cx_bsdiff provides, this package includes:

  • an interface to the BSDIFF4-format

  • command line interfaces: bsdiff4 and bspatch4

  • tests

The bsdiff4 package defines the following high level functions:

diff(src_bytes, dst_bytes) -> bytes

Return a BSDIFF4-format patch (from src_bytes to dst_bytes) as bytes.

patch(src_bytes, patch_bytes) -> bytes

Apply the BSDIFF4-format patch_bytes to src_bytes and return the bytes.

file_diff(src_path, dst_path, patch_path)

Write a BSDIFF4-format patch (from the file src_path to the file dst_path) to the file patch_path.

file_patch(src_path, dst_path, patch_path)

Apply the BSDIFF4-format file patch_path to the file src_path and write the result to the file dst_path.

Example:

>>> import bsdiff4
>>> a = bytes(100000 * 'a')
>>> b = bytearray(a)
>>> b[100:106] = ' diff '
>>> p = bsdiff4.diff(a, bytes(b))
>>> len(p)
154
>>> bsdiff4.patch(a, p) == b
True

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

bsdiff4-1.1.0.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file bsdiff4-1.1.0.tar.gz.

File metadata

  • Download URL: bsdiff4-1.1.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bsdiff4-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7a016cc290a5e82bd70bec0090edfe16a74bbd4664f6071ecab2c3c0fb3926e1
MD5 213ce3abdfa69a315268bae2a9376810
BLAKE2b-256 9bd23477002b757b31a01f0dea6a03e8513fec1d8c4f5256ceb3b39b0fd368de

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