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.1.zip (24.6 kB view details)

Uploaded Source

deltas-0.2.1.tar.gz (13.0 kB view details)

Uploaded Source

File details

Details for the file deltas-0.2.1.zip.

File metadata

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

File hashes

Hashes for deltas-0.2.1.zip
Algorithm Hash digest
SHA256 4dca6fcaf4f02fa880814a05aeae05a8950c43846f0294ff68fda70c7397ac77
MD5 ff5e8c6d2f4954e6b13d427692a19727
BLAKE2b-256 2a778015e0797e6db29fabf5dc7239a16aa1277560ad63abd7f7345dab7ea5ad

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.2.1.tar.gz
Algorithm Hash digest
SHA256 d932469f2d83d0e6463a16d1384500be2337d611815bcb23fe2ced9df70335da
MD5 ad2daa776c542957d640772b72d2f376
BLAKE2b-256 c129351e9b8b0cbd5f187a8a86100c1f4d45a6e3cb9f7ec5edad3d71d894840b

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