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

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for deltas-0.3.8.tar.gz
Algorithm Hash digest
SHA256 2d574a5a4decbe296dd959c335c941294f7cdd03596fa1f1217337b8d80d5c0e
MD5 05ec8f054dbd120ca9f307620c697560
BLAKE2b-256 f37e5aeff85120b5878786562667fa75761bd4b168eda7b0eee8912877c38b6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltas-0.3.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 afaae5d767554be609da8a2c91cd25b46cf53251796649316b35ba0a89ab77e7
MD5 43dc38bec6d29aab798673e57f33a19c
BLAKE2b-256 271463575640d5b5f971ded04cb776742ddbbb27bf7b6f0f3752bb9abe8807ca

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