Name | diff JSON |
Version |
2023.12.6
JSON |
| download |
home_page | |
Summary | You diff objects, you find out why they ain't the same. |
upload_time | 2023-12-30 14:51:26 |
maintainer | |
docs_url | None |
author | Julian Berman |
requires_python | >=3.10 |
license | MIT |
keywords |
diff
difference
protocol
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
====
diff
====
|PyPI| |Pythons| |CI| |pre-commit|
.. |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
.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/Julian/diff/main.svg
:alt: pre-commit.ci status
:target: https://results.pre-commit.ci/latest/github/Julian/diff/main
``diff`` defines a difference protocol. Watch:
.. code-block:: python
>>> class LonelyObject:
... def __diff__(self, other):
... return f"{self} is not like {other}"
...
... def __repr__(self):
... return "<LonelyObject>"
>>> from diff import diff
>>> diff(LonelyObject(), 12).explain()
'<LonelyObject> is not like 12'
Raw data
{
"_id": null,
"home_page": "",
"name": "diff",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "diff,difference,protocol",
"author": "Julian Berman",
"author_email": "Julian+diff@GrayVines.com",
"download_url": "https://files.pythonhosted.org/packages/a7/42/66c5589a8489c306a8ccb7b52ee113dfb6cc4eb7075cc2dccb1a883a9b58/diff-2023.12.6.tar.gz",
"platform": null,
"description": "====\ndiff\n====\n\n|PyPI| |Pythons| |CI| |pre-commit|\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/diff.svg\n :alt: PyPI version\n :target: https://pypi.org/project/diff/\n\n.. |Pythons| image:: https://img.shields.io/pypi/pyversions/diff.svg\n :alt: Supported Python versions\n :target: https://pypi.org/project/diff/\n\n.. |CI| image:: https://github.com/Julian/diff/workflows/CI/badge.svg\n :alt: Build status\n :target: https://github.com/Julian/diff/actions?query=workflow%3ACI\n\n.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/Julian/diff/main.svg\n :alt: pre-commit.ci status\n :target: https://results.pre-commit.ci/latest/github/Julian/diff/main\n\n\n``diff`` defines a difference protocol. Watch:\n\n.. code-block:: python\n\n >>> class LonelyObject:\n ... def __diff__(self, other):\n ... return f\"{self} is not like {other}\"\n ...\n ... def __repr__(self):\n ... return \"<LonelyObject>\"\n\n >>> from diff import diff\n >>> diff(LonelyObject(), 12).explain()\n '<LonelyObject> is not like 12'\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "You diff objects, you find out why they ain't the same.",
"version": "2023.12.6",
"project_urls": {
"Documentation": "https://diff.readthedocs.io/",
"Funding": "https://github.com/sponsors/Julian",
"Homepage": "https://github.com/Julian/diff",
"Issues": "https://github.com/Julian/diff/issues/",
"Source": "https://github.com/Julian/diff"
},
"split_keywords": [
"diff",
"difference",
"protocol"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "60c62dac6e692cfaee7a133f7b40d6e09681360f95938c25904c370d2b17c1e8",
"md5": "aa8914151df9b630aa1c99ef81a7575d",
"sha256": "7e61b2dbb25e6f509715b6f31c9d0bf059203f1c8e28aa758bc252f56754dd3d"
},
"downloads": -1,
"filename": "diff-2023.12.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "aa8914151df9b630aa1c99ef81a7575d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 5892,
"upload_time": "2023-12-30T14:51:24",
"upload_time_iso_8601": "2023-12-30T14:51:24.060697Z",
"url": "https://files.pythonhosted.org/packages/60/c6/2dac6e692cfaee7a133f7b40d6e09681360f95938c25904c370d2b17c1e8/diff-2023.12.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a74266c5589a8489c306a8ccb7b52ee113dfb6cc4eb7075cc2dccb1a883a9b58",
"md5": "7005de31613c1e2d3343df882f7c307b",
"sha256": "44d7370ad713f71dcab625189e0a0eec3027da8706f9ce885f55d5760351dd5d"
},
"downloads": -1,
"filename": "diff-2023.12.6.tar.gz",
"has_sig": false,
"md5_digest": "7005de31613c1e2d3343df882f7c307b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 7827,
"upload_time": "2023-12-30T14:51:26",
"upload_time_iso_8601": "2023-12-30T14:51:26.042784Z",
"url": "https://files.pythonhosted.org/packages/a7/42/66c5589a8489c306a8ccb7b52ee113dfb6cc4eb7075cc2dccb1a883a9b58/diff-2023.12.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-30 14:51:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sponsors",
"github_project": "Julian",
"github_not_found": true,
"lcname": "diff"
}