skip to navigation
skip to content

Not Logged In

deltas 0.3.3

An experimental diff library for generating operation deltas that represent the difference between two sequences of comparable items.

Package Documentation

An open licensed (MIT) library for performing generating deltas (A.K.A sequences of operations) representing the difference between two sequences of comparable tokens.

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.segment_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, text_split
>>>
>>> a = text_split.tokenize("This is some text.  This is some other text.")
>>> b = text_split.tokenize("This is some other text.  This is some text.")
>>> operations = segment_matcher.diff(a, b)
>>>
>>> for op in operations:
...     print(op.name, repr(''.join(a[op.a1:op.a2])), repr(''.join(b[op.b1:op.b2])))
...
equal 'This is some other text.' 'This is some other text.'
insert ' ' '  '
equal 'This is some text.' 'This is some text.'
delete '  ' ''
 
File Type Py Version Uploaded on Size
deltas-0.3.3.tar.gz (md5) Source 2015-08-12 16KB
deltas-0.3.3.zip (md5) Source 2015-08-12 27KB
  • Downloads (All Versions):
  • 32 downloads in the last day
  • 302 downloads in the last week
  • 3715 downloads in the last month