Skip to main content

An experimental diff library for generating operation deltas that represent the difference between two sequences of comparable items.

Project description

Deltas
======

An open licensed (MIT) library for performing generating deltas (A.K.A sequences
of operations) representing the difference between two sequences of comparable
tokens.

* **Installation:** **TODO**
* **Repo**: `http://github.com/halfak/Deltas`_
* **Documentation**: `http://pythonhosted.org/deltas/`_
* Note this library requires Python 3.3 or newer

This library is intended to be used to make experimental difference detection
strategies more easily available. There are currently two strategies available:

``deltas.sequence_matcher.diff(a, b)``:
A shameless wrapper around `difflib.SequenceMatcher` to get it to work
within the structure of *deltas*.
``deltas.sequence_matcher.diff(a, b, segmenter=None)``:
A generalized difference detector that is designed to detect block moves
and copies based on the use of a ``Segmenter``.

:Example:
>>> from deltas import segment_matcher, apply
>>>
>>> a_tokens = ["This", " ", "comes", " ", "first", ".",
... " ",
... "This", " ", "comes", " ", "second", "."]
>>>
>>> b_tokens = ["This", " ", "comes", " ", "second", ".",
... " ",
... "This", " ", "comes", " ", "first", "."]
>>>
>>> operations = segment_matcher.diff(a_tokens, b_tokens)
>>>
>>> for operation in operations:
... print(operation)
...
Equal(name='equal', a1=7, a2=13, b1=0, b2=6)
Insert(name='insert', a1=6, a2=7, b1=6, b2=7)
Equal(name='equal', a1=0, a2=6, b1=7, b2=13)
Delete(name='delete', a1=6, a2=7, b1=13, b2=13)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

deltas-0.2.4.zip (27.4 kB view details)

Uploaded Source

deltas-0.2.4.tar.gz (15.7 kB view details)

Uploaded Source

File details

Details for the file deltas-0.2.4.zip.

File metadata

  • Download URL: deltas-0.2.4.zip
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for deltas-0.2.4.zip
Algorithm Hash digest
SHA256 fe65d8d4ce3f56b37c243cfd9d71a79a3187db62f8bbd935927a0a75f95f728b
MD5 3302c3f16d0b702a648836e06d2dc84d
BLAKE2b-256 ea2a0b8f2a1408e377a99723f80ba3c7179b1c9a85473392bcc0f0962e33c9ea

See more details on using hashes here.

File details

Details for the file deltas-0.2.4.tar.gz.

File metadata

  • Download URL: deltas-0.2.4.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for deltas-0.2.4.tar.gz
Algorithm Hash digest
SHA256 fec53304c62289a3327aedbe76385c4d98a21f5940bcff58ac45235877ee7689
MD5 263f28684c6916b25b34c9fe5d859ac2
BLAKE2b-256 73f946d2d73878bceb21abf710d7870d90dd7939ccf29068e056b03733404c6a

See more details on using hashes here.

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