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

Uploaded Source

deltas-0.1.1.tar.gz (12.4 kB view details)

Uploaded Source

File details

Details for the file deltas-0.1.1.zip.

File metadata

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

File hashes

Hashes for deltas-0.1.1.zip
Algorithm Hash digest
SHA256 8940b4da7ba718895b9d5ec4a3c6ba79448d07347607a1974d4ee86f8a72e8e1
MD5 f283d3df56fba17bfc8ea380cb0ad8f6
BLAKE2b-256 b06f41252dfa389fbdb121d037a6e8de51cdd842e22298da38a4e5096f6428a3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c037911391250bac1b727a335e1bacceb4ce720c5842a51f50684a84adec1508
MD5 11d2554e8bb2f963cfd7d64cc9b3ef56
BLAKE2b-256 a7c3f0603ed763d7a731089bb6c13682084b2dc21f2f1fbc381a3909190564c6

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