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.3.zip (28.6 kB view details)

Uploaded Source

deltas-0.3.3.tar.gz (16.8 kB view details)

Uploaded Source

File details

Details for the file deltas-0.3.3.zip.

File metadata

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

File hashes

Hashes for deltas-0.3.3.zip
Algorithm Hash digest
SHA256 4e911aa0110da3aeca7d99a1f4fad660c7cfac2fb8c0943b41c4f40eb741050f
MD5 09bcb8acd20d1796ab24e47e8b04a98d
BLAKE2b-256 9cd2f45d12d9e34f9de534cb7a281cc1677e2647786644aa327514c8b0065a6c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.3.3.tar.gz
Algorithm Hash digest
SHA256 c1ad05f09cc04349796db85d6847e5890ac7a46523feefd0c15d07d65aed3fa7
MD5 085697cdace5da560eed6d239656446a
BLAKE2b-256 b546598edf1d47fe9ae46305ff2ff363ceba5315855c7153383b6c1d6a93d120

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