Metadata-Version: 2.1
Name: diff
Version: 0.6.1
Summary: "You diff objects, you find out why they ain't the same."
Home-page: https://github.com/Julian/Diff
Author: Julian Berman
Author-email: Julian+diff@GrayVines.com
License: UNKNOWN
Project-URL: Source, https://github.com/Julian/diff
Project-URL: Issues, https://github.com/Julian/diff/issues/
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: attrs
Requires-Dist: zope.interface
Requires-Dist: importlib-metadata ; python_version < "3.8"

====
diff
====

|PyPI| |Pythons| |CI| |Codecov|

.. |PyPI| image:: https://img.shields.io/pypi/v/diff.svg
  :alt: PyPI version
  :target: https://pypi.org/project/diff/

.. |Pythons| image:: https://img.shields.io/pypi/pyversions/diff.svg
  :alt: Supported Python versions
  :target: https://pypi.org/project/diff/

.. |CI| image:: https://github.com/Julian/diff/workflows/CI/badge.svg
  :alt: Build status
  :target: https://github.com/Julian/diff/actions?query=workflow%3ACI

.. |Codecov| image:: https://codecov.io/gh/Julian/diff/branch/master/graph/badge.svg
  :alt: Codecov Code coverage
  :target: https://codecov.io/gh/Julian/diff


``diff`` defines a difference protocol. Watch:

.. code-block:: python

    >>> class LonelyObject(object):
    ...     def __diff__(self, other):
    ...         return "{} is not like {}".format(self, other)
    ...
    ...     def __repr__(self):
    ...         return "<LonelyObject>"

    >>> from diff import diff
    >>> diff(LonelyObject(), 12).explain()
    '<LonelyObject> is not like 12'


