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

Uploaded Source

Built Distribution

deltas-0.3.10-py2.py3-none-any.whl (28.7 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for deltas-0.3.10.tar.gz
Algorithm Hash digest
SHA256 49f494549a1c0f8123810f5ab782018c0621f80517f1d90d175d660c0fffdf40
MD5 94e935785c89c0946579758e1e654484
BLAKE2b-256 e809d34bcdf9cbaf0fc6a8dc661015750ab0f4658ace1fa4c23cc5e5c7267689

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deltas-0.3.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bc73f2505fafeb8234b72f6ca2517a61181b4989d042b6bf8cc402b13d261b8c
MD5 2ae587fa16144e8e4fa640d4cb2f4590
BLAKE2b-256 adde1d6610a06c6bbfaf1eae03f23d737a8a7d442cb638383c63f78a594ae187

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