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

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for deltas-0.4.3.tar.gz
Algorithm Hash digest
SHA256 7cec547e11b2a3c365645d0d33469073944eeae3a3137af57fc26c8aa193db9c
MD5 9e32c783df4ce634eab5fa07d5519fd5
BLAKE2b-256 f083b6c1e26f4932ef9074eb3f6d5d86526432f502800cfe4235fe717c0c1aa5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltas-0.4.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a4f6fa5013ff6523cc07f526b2c2dcc1e4f44185979151f1c890fff702f48226
MD5 4019963b745997cdf18616360b8c73b5
BLAKE2b-256 3e99f7ceaa09f3ab012c2a6f14e7f08fe653b4331d4365a3bfb353da40793010

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