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

Uploaded Source

Built Distribution

deltas-0.4.7-py2.py3-none-any.whl (30.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: deltas-0.4.7.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.5

File hashes

Hashes for deltas-0.4.7.tar.gz
Algorithm Hash digest
SHA256 70538987567958b1574fae906a243ac15a44fbf321c094c48528f42ec7225f01
MD5 e8dd95a884481164afe982eb4c21d570
BLAKE2b-256 4ee24efdc17edb8cbfb034769668b8b791c47ff83ec0df20f3782de37baf4901

See more details on using hashes here.

File details

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

File metadata

  • Download URL: deltas-0.4.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.5

File hashes

Hashes for deltas-0.4.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 43c6f8a081a89bf799a1623c6807441aeba8b5ad5641cb1ec57b1b5dbcecaeb1
MD5 a094c13b75e80e44d2d9132e2d137683
BLAKE2b-256 ddb1342cb2dd0ebbec71870a50afb63cc289221037eeeecf0fe76f12d6005596

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