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.1.0.zip (22.1 kB view details)

Uploaded Source

deltas-0.1.0.tar.gz (12.0 kB view details)

Uploaded Source

File details

Details for the file deltas-0.1.0.zip.

File metadata

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

File hashes

Hashes for deltas-0.1.0.zip
Algorithm Hash digest
SHA256 c244a62b75244b736c461d4fa479763a6e7618b567c6bc9b634be22497a8c616
MD5 73fcb7ebdef72639cc873b3fee57d498
BLAKE2b-256 0bb8ce7d05a73628ba48d87a028dfa1e6ec7c3d665e28fbff1ff52b9e0ad70f3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.1.0.tar.gz
Algorithm Hash digest
SHA256 01d76c1885943d0c2ac769f38348fa83c5b20dd404625acd6fb2dcbe23a901b4
MD5 8c310b182ed4953c0dc67ca88e46bf1f
BLAKE2b-256 72594cc5231ee418b9670f1b07ec8aabba5b5d38ce86f6f39bfb5503e4fc1ec0

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