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.2.zip (27.2 kB view details)

Uploaded Source

deltas-0.2.2.tar.gz (15.3 kB view details)

Uploaded Source

File details

Details for the file deltas-0.2.2.zip.

File metadata

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

File hashes

Hashes for deltas-0.2.2.zip
Algorithm Hash digest
SHA256 5fedbfa144a67128b6244d6ed3b4b3e34d6340c9723a00f7b7ebcf84ca7b163a
MD5 d3075949b634746a283568523d95c307
BLAKE2b-256 ea109ac2b4f94c4271d6969ee03ecbc9560fda210c050866186afbbecc876920

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.2.2.tar.gz
Algorithm Hash digest
SHA256 346e76c0818368f4d1ffb770abf4067bc731096db96272cd1db41b5fb2cd49dd
MD5 ea2a386df9c3c11d04b6e68a170eaa56
BLAKE2b-256 20e262f53ac1fbe8c6026b0eeebcf0a3729002a7b205991cd44a6c2522965f5d

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