Metadata-Version: 1.1
Name: deltas
Version: 0.2.1
Summary: An experimental diff library for generating operation deltas that represent the difference between two sequences of comparable items.
Home-page: https://github.com/halfak/Deltas
Author: Aaron Halfaker
Author-email: ahalfaker@wikimedia.org
License: MIT
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)
            
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering
