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.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 ' ' ''
======
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.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
Release history Release notifications | RSS feed
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.3.0.zip
(27.5 kB
view details)
deltas-0.3.0.tar.gz
(15.6 kB
view details)
File details
Details for the file deltas-0.3.0.zip
.
File metadata
- Download URL: deltas-0.3.0.zip
- Upload date:
- Size: 27.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1f2cbb9914d9a848fee05b2b313ca4672511bfb5066dee437f898b749d24149 |
|
MD5 | f26e8e4b2cd6e42afcd044a11c7ca96d |
|
BLAKE2b-256 | 258e092a4f704a602ec5d6ddf5c501ac206b9ad876cf1d5e6e4d0683a562ec6c |
File details
Details for the file deltas-0.3.0.tar.gz
.
File metadata
- Download URL: deltas-0.3.0.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 536b18dd1a397c63e9080ff696f1d9f2edfe2fae341a542464f4c669b36023ed |
|
MD5 | 2fb922df9bd21e0156f0ae0c411a0e13 |
|
BLAKE2b-256 | 0413fa8ced93bdc0f2ec399f598e7e9a93129c93a7ff6336f42982b081bd9f9a |