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`_

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 Distribution

deltas-0.0.1.tar.gz (11.7 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for deltas-0.0.1.tar.gz
Algorithm Hash digest
SHA256 6d04c0db8c6ae2b670ecadc8c827686c2725b1df60b80dfe8308d754a1fe3807
MD5 aca6a429a1588acc9e39b3edf8a25e86
BLAKE2b-256 76c4f1b577ad1cf8630188e209b4cd61c8c5b43ed3ea0716e900940e40ab5637

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