Skip to main content

An experimental diff library for generating operation deltas that represent the difference between two sequences of comparable items.

Project description

Deltas
======

An open licensed (MIT) library for performing generating deltas (A.K.A sequences
of operations) representing the difference between two sequences of comparable
tokens.

* **Installation:** **TODO**
* **Repo**: `http://github.com/halfak/Deltas`_
* **Documentation**: `http://pythonhosted.org/deltas/`_
* Note this library requires Python 3.3 or newer

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.sequence_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, apply
>>>
>>> a_tokens = ["This", " ", "comes", " ", "first", ".",
... " ",
... "This", " ", "comes", " ", "second", "."]
>>>
>>> b_tokens = ["This", " ", "comes", " ", "second", ".",
... " ",
... "This", " ", "comes", " ", "first", "."]
>>>
>>> operations = segment_matcher.diff(a_tokens, b_tokens)
>>>
>>> for operation in operations:
... print(operation)
...
Equal(name='equal', a1=7, a2=13, b1=0, b2=6)
Insert(name='insert', a1=6, a2=7, b1=6, b2=7)
Equal(name='equal', a1=0, a2=6, b1=7, b2=13)
Delete(name='delete', a1=6, a2=7, b1=13, b2=13)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

deltas-0.2.0.zip (23.4 kB view details)

Uploaded Source

deltas-0.2.0.tar.gz (12.2 kB view details)

Uploaded Source

File details

Details for the file deltas-0.2.0.zip.

File metadata

  • Download URL: deltas-0.2.0.zip
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for deltas-0.2.0.zip
Algorithm Hash digest
SHA256 215fabb9c0818113ad2257f3916751e4ae220dc0aca22d8606dc6367e73bbf98
MD5 33633202c477c78b8e3817be470c250e
BLAKE2b-256 2a1519597f4bf668bfaf75ead83ca82e154dd268f0d0908fd87dc5f34610838b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deltas-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0d60c894dcd5b3e5aa4a57fad72e63bf554b34b2045cd237bba50990863f7a17
MD5 414ff4fef02259fdb127bf84ab5c0e71
BLAKE2b-256 eb8a2291c9dc8033091f21cb7a075382d7d0e59ddd7cb653ecec1475dac4ec17

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