Skip to main content

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

Project description

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 '  ' ''

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.3.2.zip (28.5 kB view details)

Uploaded Source

deltas-0.3.2.tar.gz (16.7 kB view details)

Uploaded Source

File details

Details for the file deltas-0.3.2.zip.

File metadata

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

File hashes

Hashes for deltas-0.3.2.zip
Algorithm Hash digest
SHA256 b68ac9347585b1bb67fbf9fe8e377096bfbae50833f0e765ce4356db92fb0c9d
MD5 a597f5625c32442d849e20c539d1e599
BLAKE2b-256 a1cf178feb3f8fa0b3a980c7c7603795029f0b86835a43035797d0d0c5aca415

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.3.2.tar.gz
Algorithm Hash digest
SHA256 898443f70295c3579096a464ad89a0391afddd996f51b557489d984052ae2f7b
MD5 aa98eee875b1f1fdade5ff37bc90768e
BLAKE2b-256 178a7bf64ec335689a98a6e4659abbb37d034ec4bdc114287b3e16d026322bb4

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