Metadata-Version: 1.1
Name: history-set
Version: 0.1.1
Summary: A Set implementation that tracks added and removed elements.
Home-page: https://bitbucket.org/westmont/history_set
Author: Dave Lundgren, Connor Riva, Tjaart van der Walt
Author-email: dlungren@outsideopen.com, criva@westmont.edu, tjaart@outsideopen.com
License: UNKNOWN
Description-Content-Type: UNKNOWN
Description: History Set
        ===========
        
        A Set implementation that tracks added and removed elements.
        
        Usage
        -----
        
        .. code:: python
        
            >>> from history_set import HistorySet
            >>> history_set = HistorySet([1, 2, 3])
            >>> history_set.add(4)
            >>> history_set                   # Prints: {1, 2, 3, 4}
            >>> history_set.added()           # Prints: {4}
            >>> history_set.remove(1)
            >>> history_set                   # Prints: {2, 3, 4}
            >>> history_set.removed()         # Prints: {1}
        
        Special case
        ------------
        
        By default, if an element is added and later removed, it will not be
        tracked in history
        
        .. code:: python
        
            >>> history_set = HistorySet([1, 2, 3])
            >>> history_set.add(4)
            >>> history_set.remove(4)
            >>> history_set.added()           # Prints: set()
            >>> history_set.removed()         # Prints: set()
        
        If you require these elements to be tracked, you can construct the
        object with the ``eidetic`` keyword argument
        
        .. code:: python
        
            >>> history_set = HistorySet([1, 2, 3], eidetic=True)
            >>> history_set.add(4)
            >>> history_set.remove(4)
            >>> history_set.added()           # Prints: {4}
            >>> history_set.removed()         # Prints: {4}
        
        Test
        ----
        
        You can run the tests using
        `tox <https://tox.readthedocs.io/en/latest/>`__
        
        .. code:: shell
        
            tox
        
        Publish
        -------
        
        To publish a new version of this package your Pypi user needt to be
        added to the project. (Ask Tjaart to give you access)
        
        .. code:: shell
        
            # Update version number in setup.py
        
            python setup.py sdist
            twine upload dist/*
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
