LCPDelta

raw JSON →
2.1.27 verified Fri May 01 auth: no python

LCPDelta is a Python library for computing delta updates and patches, commonly used in content distribution and versioning systems. Version 2.1.27, requires Python >=3.9. Active development with regular releases.

pip install lcpdelta
error ModuleNotFoundError: No module named 'LCPDelta'
cause Wrong import case; package is all lowercase.
fix
Use import lcpdelta (lowercase).
error AttributeError: module 'lcpdelta' has no attribute 'DeltaBuilder'
cause Outdated library version or incorrect import. Ensure version >=2.0.0.
fix
Upgrade to latest: pip install --upgrade lcpdelta.
error TypeError: a bytes-like object is required, not 'str'
cause Passing strings instead of bytes to DeltaBuilder.build.
fix
Open files in binary mode: open('file', 'rb').
breaking Library renamed from 'LCPDelta' to 'lcpdelta' in v2.0.0. All imports must use lowercase.
fix Use `import lcpdelta` instead of `import LCPDelta`.
gotcha DeltaBuilder and DeltaApplier are the primary classes. The API expects bytes-like objects for file contents.
fix Read files in binary mode when passing to builder or applier.
deprecated Function `create_patch` was deprecated in v2.1.0. Use `DeltaBuilder.build` instead.
fix Replace calls to `create_patch(old, new)` with `DeltaBuilder().build(old, new)`

Basic delta creation and application.

import os
from lcpdelta import DeltaBuilder, DeltaApplier

# Build a delta between old and new files
builder = DeltaBuilder()
delta = builder.build('old_file.bin', 'new_file.bin')
with open('delta.bin', 'wb') as f:
    f.write(delta)

# Apply delta to recreate new file
applier = DeltaApplier()
with open('delta.bin', 'rb') as f:
    delta_data = f.read()
applier.apply('old_file.bin', delta_data, 'recreated_file.bin')