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.4.zip (28.9 kB view details)

Uploaded Source

deltas-0.3.4.tar.gz (17.1 kB view details)

Uploaded Source

File details

Details for the file deltas-0.3.4.zip.

File metadata

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

File hashes

Hashes for deltas-0.3.4.zip
Algorithm Hash digest
SHA256 5bdd96b327a1385169f168d2e872c556de956764bfd540adacdd3f5550bf8d95
MD5 0e72a4b4f2cea97512164eab403c9ddb
BLAKE2b-256 829987408539d4803669fc2835d6d0cf63927dfae915b86d56e54845f45e3e88

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.3.4.tar.gz
Algorithm Hash digest
SHA256 26131a0193b18b96e21d64edd709ef17c75aaec707eaffe47e7ba8eb8b5425fa
MD5 0722ecb86e000a22e679372685fcbf25
BLAKE2b-256 75bff83fb9e588fdeb1df5b0437febc24c6f0ce2e9a33dcf297342a4ae9534e6

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