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 Distribution

deltas-0.4.4.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

deltas-0.4.4-py2.py3-none-any.whl (29.6 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for deltas-0.4.4.tar.gz
Algorithm Hash digest
SHA256 98841fba412e35425c466d1d191deb613f76a4aa135883d4727503912435376e
MD5 3fafa794367e8dfd91e96e6c2715742f
BLAKE2b-256 b337c6403d7897c7dac282d18ae505b99c0341cb2b5eeb187f56c62bb224d09a

See more details on using hashes here.

File details

Details for the file deltas-0.4.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for deltas-0.4.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 59865cd56f8abbe68240ce79f7e4c93eafc6d13526985e673ab54f9d3e344b25
MD5 a3fc0c1ca229a4243270f68a07c61e44
BLAKE2b-256 e60f4175510ee8a1ccb0142d24d9dfbcdbec2147f03b26b0361090c84924e8b7

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