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.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

deltas-0.4.0-py2.py3-none-any.whl (29.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for deltas-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a67dd2881828f1d0782e82747ce7c9c2df77ba5e0958f6454d2fa1baa8d2f82e
MD5 6cb6ee69fe734dd416e378542dbaeedc
BLAKE2b-256 a8cb572f8fc0824be856716e8ae19d2ca1ae87565d008225c74abdcfb8d6d337

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltas-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 172c43fd507bbdcfd13f7f84f9f40a8b1612214b693868ad8e13a234bee34dc6
MD5 b2dafbcfbbc919939451c60799bf0f63
BLAKE2b-256 2bd8f3014f217dd7be216d6a9a40b789df4d11aefe2caba40e1688dce5f7a40d

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