Skip to main content

BuildStatus Coverage pypi

Fast delta encoding in python using xdelta3.

Requirements

  • Python 3.5 or 3.6 - it’s 2017, you should be using python 3.6 by now anyway.

  • linux - compilation only tested on ubuntu, might work on other platform.

Installation

pip install xdelta3

Usage

import xdelta3
value_one = b'wonderful string to demonstrate xdelta3, much of these two strings is the same.'
value_two = b'different string to demonstrate xdelta3, much of these two strings is the same.'
delta = xdelta3.encode(value_one, value_two)
# delta is an unreadable byte string: b'\xd6\xc3 ... \x01different\n\x13F\x00'

print(f'New string length: {len(value_two)}, delta length: {len(delta)}')
value_two_rebuilt = xdelta3.decode(value_one, delta)
if value_two_rebuilt == value_two:
    print('Boo Ya! Delta encoding successful.')

(with xdelta3 installed this code should run “as is”, just copy it into ipython or a file and run)

How fast?

xdelta3-python is a thin wrapper around xdelta 3.1.1 which is a highly optimised c library for delta calculation and compression. It can encode a delta and decode it again for 5 small changes in a 5.5 million character string (the complete works of shakespeare) in around 10ms (or 30ms with the highest compression level). Boom. See performance.py.

Metadata

Release files for xdelta3 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xdelta3 0.0.5
File Size Uploaded
xdelta3-0.0.5.tar.gz 122.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xdelta3 0.0.5
File Interpreter ABI Platform
xdelta3-0.0.5-cp36-cp36m-any.whl CPython 3.6 CPython 3.6 pymalloc any Details

Total release size: 407.4 kB

Release files / xdelta3-0.0.5.tar.gz

Download URL xdelta3-0.0.5.tar.gz
Size 122.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4ea6ca56805466274bb2095cbd1ac7f908f00789b467b92fea4d4a282ccf003e
BLAKE2b-256 checksum
How to use checksums
9a2e18a4011d94e3a557be8b632f7d73b6d5e06998638f90c45c131bdf8edeb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / xdelta3-0.0.5-cp36-cp36m-any.whl

Download URL xdelta3-0.0.5-cp36-cp36m-any.whl
Size 285.3 kB
Tags CPython 3.6 CPython 3.6 pymalloc
SHA-256 checksum
How to use checksums
affb4907cd71f3821115d67a71d0a72a5690213089a79c843fb34abf904ba396
BLAKE2b-256 checksum
How to use checksums
3c0d65e3795bab2c0db17625ac5c968b51c1caed0e1d8e5c28dad704f9d939fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page