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

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for deltas-0.4.1.tar.gz
Algorithm Hash digest
SHA256 ac63a2de29b75ce43331420d334f905d173673f4e26da68779dab7d042f7b19c
MD5 6b5f43bcd871879c828df3c10049df8e
BLAKE2b-256 e8c3c1e8aa2460c8346748cbfa5e5f63390738d2f8f0c220f8912dc5f4168fcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltas-0.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 343991899acd8d8a7fcd376f46c6799e0deb1d4d5a0eaba103647d187baa63a4
MD5 da2bb53435fd3b16621a9e2ade1362d3
BLAKE2b-256 8ba94ae134698a15d161c91ebfb3aa336d909e357478a506e4262076004484f7

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