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.5.zip (26.9 kB view details)

Uploaded Source

deltas-0.2.5.tar.gz (15.2 kB view details)

Uploaded Source

File details

Details for the file deltas-0.2.5.zip.

File metadata

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

File hashes

Hashes for deltas-0.2.5.zip
Algorithm Hash digest
SHA256 479655643f8481447151a5f8d1f81217f4868b357db5a1d8aa9c7e8266e6fd94
MD5 580584509e9380540617bb69ba5f59df
BLAKE2b-256 5280739378384d7dfe0866cb963425df280e284731089b6d73b6d57704c14bbc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.2.5.tar.gz
Algorithm Hash digest
SHA256 cd01cbe924fec112c79bd562c80b5b0f3f5f7be325c430fe867d4a27abe75a08
MD5 51dc0ef462cf693e72d41baa15b02573
BLAKE2b-256 8a5bde2344cc7cfd16b6e0ccf0271d0505c6adaecdc88cb0e861549d23c70b03

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