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

Uploaded Source

Built Distribution

deltas-0.3.9-py2.py3-none-any.whl (27.9 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for deltas-0.3.9.tar.gz
Algorithm Hash digest
SHA256 b00b7d14cac0eb09d9e8a3ced9839777538607e41af7d5b70ff87f945562a404
MD5 1e5dbea143b28bad2628a70cd41d5b81
BLAKE2b-256 615a790ce9ef4c206f1f1b39ecdc1d9b2a5eb685e65aaa2d4bada9c2b2521063

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltas-0.3.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9b812fb9afd91f82946b412a33984b20584777588a0462493b5440f116bddfd2
MD5 54ee9d47eb7a6ad54024365b94d09898
BLAKE2b-256 c3221bfa270057a092bb55611aac7c8c21e3fff5d27a02ba8632cf261f007e5f

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