{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "This package contains the implementation of the ``patiencediff`` algorithm, as\n`first described `_ by Bram Cohen.\n\nLike Python's ``difflib``, this module provides both a convience ``unified_diff``\nfunction for the generation of unified diffs of text files\nas well as a SequenceMatcher that can be used on arbitrary lists.\n\nPatiencediff provides a good balance of performance, nice output for humans,\nand implementation simplicity.\n\nThe code in this package was extracted from the `Bazaar `_\ncode base.\n\nThe package comes with two implementations:\n\n* A Python implementation (_patiencediff_py.py); this implementation only\n requires a Python interpreter and is the more readable version of the two\n\n* A C implementation implementation (_patiencediff_c.c); this implementation\n is faster, but requires a C compiler and is less readable\n\nUsage\n=====\n\nTo invoke patiencediff from the command-line::\n\n python -m patiencediff file_a file_b\n\nOr from Python:\n\n >>> import patiencediff\n >>> print ''.join(patiencediff.unified_diff(\n ... ['a\\n', 'b\\n', 'b\\n', 'c\\n'],\n ... ['a\\n', 'c\\n', 'b\\n']))\n --- \n +++ \n @@ -1,4 +1,3 @@\n a\n +c\n b\n -b\n -c", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.breezy-vcs.org/", "keywords": "", "license": "GNU GPLv2 or later", "maintainer": "Breezy Developers", "maintainer_email": "team@breezy-vcs.org", "name": "patiencediff", "package_url": "https://pypi.org/project/patiencediff/", "platform": "", "project_url": "https://pypi.org/project/patiencediff/", "project_urls": { "Homepage": "https://www.breezy-vcs.org/" }, "release_url": "https://pypi.org/project/patiencediff/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Python implementation of the patiencediff algorithm.", "version": "0.1.0" }, "last_serial": 5350574, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "24e9c4d2fc1f9bc72bb53ae9f1d8e5a8", "sha256": "29ddc34607425d530416310c80e43251aabe855d283736da949fc8e5e5f48b16" }, "downloads": -1, "filename": "patiencediff-0.0.1.tar.gz", "has_sig": true, "md5_digest": "24e9c4d2fc1f9bc72bb53ae9f1d8e5a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17898, "upload_time": "2018-07-11T20:18:18", "url": "https://files.pythonhosted.org/packages/29/15/50e91e9e2600c777875d50652d14e0814f24168ab68b2dae75c98f390b3f/patiencediff-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1e84a1c508d8f6ae40b8891ece56322a", "sha256": "de5ae956c3a5f0df7bfbadd16144e121a898e03afa7c710b66ca578be6e4cd7a" }, "downloads": -1, "filename": "patiencediff-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1e84a1c508d8f6ae40b8891ece56322a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18517, "upload_time": "2018-08-02T18:19:32", "url": "https://files.pythonhosted.org/packages/89/7c/cd97e0d18b40748387c225b4f8bed926855d2f341490c97f706d58ecf5f5/patiencediff-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "bb33c6b9e29aa52f59bffada0dbd3cdd", "sha256": "5f0999fa36e90b15903c52f11a7c316535522e116d1f49aa1b936a267b154c3f" }, "downloads": -1, "filename": "patiencediff-0.0.3.tar.gz", "has_sig": true, "md5_digest": "bb33c6b9e29aa52f59bffada0dbd3cdd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19176, "upload_time": "2018-08-02T18:27:48", "url": "https://files.pythonhosted.org/packages/ed/fe/821def6035f46bd82f343980139a41a566bf4e95f5bce3a31c6b36c9cba5/patiencediff-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "264f19f8a9e7caebfcde4b0398cc2efe", "sha256": "15045d34d34edcd8b3bbdd36a061693fca00d1471d0f3493f6164e764ee9e36c" }, "downloads": -1, "filename": "patiencediff-0.0.4.tar.gz", "has_sig": true, "md5_digest": "264f19f8a9e7caebfcde4b0398cc2efe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19686, "upload_time": "2019-03-02T21:21:51", "url": "https://files.pythonhosted.org/packages/71/06/d4a25676ef8f393242fc3fc6e765c2c0b35349a562bd72658f3a5ed4a2fc/patiencediff-0.0.4.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "281e0595f3c104e4fa12ecf3afedc859", "sha256": "0ef76135639659a2bdbfa3a10cfae9e4753302838a62d083db8b44eab3de5547" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp27-cp27m-win32.whl", "has_sig": false, "md5_digest": "281e0595f3c104e4fa12ecf3afedc859", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28144, "upload_time": "2019-06-03T03:00:32", "url": "https://files.pythonhosted.org/packages/0d/cb/e2797bebb8de0d25fb604ed6bfedc0e4906cf8ffa2aafb65e23578ebc382/patiencediff-0.1.0-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "061d5db42789a45e11b0b408e00f3a3e", "sha256": "cc85f98291a2555f33764c7d16ca853754669d5117ce0f3e0066a966761d0962" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "061d5db42789a45e11b0b408e00f3a3e", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 29330, "upload_time": "2019-06-03T03:01:02", "url": "https://files.pythonhosted.org/packages/65/f1/96876fac9e74d311f11938740316517f4abb2c69843fff431c10ba8e7e09/patiencediff-0.1.0-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "58342025373c55ace406331c46c76a1a", "sha256": "2f5f96358a70ad81220104c9477a401c86cc342abbd14cb89405448311f53e09" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp35-cp35m-win32.whl", "has_sig": false, "md5_digest": "58342025373c55ace406331c46c76a1a", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 29534, "upload_time": "2019-06-03T03:01:31", "url": "https://files.pythonhosted.org/packages/6a/36/2426710eabdb37b09885dfdd9997c2636846ac75e1287a567e769c4c20e0/patiencediff-0.1.0-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "8e47dbd9660fc8aa94f4392beddb6923", "sha256": "050eec9ab2bf6901559aff5d5fdc9a5f55a391e68959a3802ff8f29ae123974b" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp35-cp35m-win_amd64.whl", "has_sig": false, "md5_digest": "8e47dbd9660fc8aa94f4392beddb6923", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 31707, "upload_time": "2019-06-03T03:02:08", "url": "https://files.pythonhosted.org/packages/74/20/d822c14a6490b26010e0c63f06675e2c16af34c61ebebf8d2b00459fa0c5/patiencediff-0.1.0-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "dcc86a6fe0f8b6a30fbf439f3ae35aa6", "sha256": "956bbd7451044e8902cdde671c24429c242b035a42d5f40f3c547223d0badba2" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp36-cp36m-win32.whl", "has_sig": false, "md5_digest": "dcc86a6fe0f8b6a30fbf439f3ae35aa6", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 29558, "upload_time": "2019-06-03T03:02:36", "url": "https://files.pythonhosted.org/packages/84/ef/3b058ffd50263ae28162fa121dc8558163db1243cef49eebb33295a9bb62/patiencediff-0.1.0-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "b3bdc24784455565cc9dc797c2c20ea4", "sha256": "bfb5bf7f5b494ba3a02d64a034ca76a9d90cee73b9a9a2b8318a9eaa00331306" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "b3bdc24784455565cc9dc797c2c20ea4", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 31733, "upload_time": "2019-06-03T03:03:07", "url": "https://files.pythonhosted.org/packages/ce/6c/d2d81f6ec4f23eaab09411529135ec0b56023218ece5526c3fcc1d44379f/patiencediff-0.1.0-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "3a724bca8292cfd2e444a46c833f91c7", "sha256": "7cd316f57f7b4086923cc0db80273886416134d82945dddd0aa24f0e95c7d302" }, "downloads": -1, "filename": "patiencediff-0.1.0.tar.gz", "has_sig": true, "md5_digest": "3a724bca8292cfd2e444a46c833f91c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19965, "upload_time": "2019-06-03T02:46:45", "url": "https://files.pythonhosted.org/packages/58/23/74657b1e981f107981003e69177a476605871fb3e528995a1f4d1b9b47b1/patiencediff-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "281e0595f3c104e4fa12ecf3afedc859", "sha256": "0ef76135639659a2bdbfa3a10cfae9e4753302838a62d083db8b44eab3de5547" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp27-cp27m-win32.whl", "has_sig": false, "md5_digest": "281e0595f3c104e4fa12ecf3afedc859", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28144, "upload_time": "2019-06-03T03:00:32", "url": "https://files.pythonhosted.org/packages/0d/cb/e2797bebb8de0d25fb604ed6bfedc0e4906cf8ffa2aafb65e23578ebc382/patiencediff-0.1.0-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "061d5db42789a45e11b0b408e00f3a3e", "sha256": "cc85f98291a2555f33764c7d16ca853754669d5117ce0f3e0066a966761d0962" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "061d5db42789a45e11b0b408e00f3a3e", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 29330, "upload_time": "2019-06-03T03:01:02", "url": "https://files.pythonhosted.org/packages/65/f1/96876fac9e74d311f11938740316517f4abb2c69843fff431c10ba8e7e09/patiencediff-0.1.0-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "58342025373c55ace406331c46c76a1a", "sha256": "2f5f96358a70ad81220104c9477a401c86cc342abbd14cb89405448311f53e09" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp35-cp35m-win32.whl", "has_sig": false, "md5_digest": "58342025373c55ace406331c46c76a1a", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 29534, "upload_time": "2019-06-03T03:01:31", "url": "https://files.pythonhosted.org/packages/6a/36/2426710eabdb37b09885dfdd9997c2636846ac75e1287a567e769c4c20e0/patiencediff-0.1.0-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "8e47dbd9660fc8aa94f4392beddb6923", "sha256": "050eec9ab2bf6901559aff5d5fdc9a5f55a391e68959a3802ff8f29ae123974b" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp35-cp35m-win_amd64.whl", "has_sig": false, "md5_digest": "8e47dbd9660fc8aa94f4392beddb6923", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 31707, "upload_time": "2019-06-03T03:02:08", "url": "https://files.pythonhosted.org/packages/74/20/d822c14a6490b26010e0c63f06675e2c16af34c61ebebf8d2b00459fa0c5/patiencediff-0.1.0-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "dcc86a6fe0f8b6a30fbf439f3ae35aa6", "sha256": "956bbd7451044e8902cdde671c24429c242b035a42d5f40f3c547223d0badba2" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp36-cp36m-win32.whl", "has_sig": false, "md5_digest": "dcc86a6fe0f8b6a30fbf439f3ae35aa6", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 29558, "upload_time": "2019-06-03T03:02:36", "url": "https://files.pythonhosted.org/packages/84/ef/3b058ffd50263ae28162fa121dc8558163db1243cef49eebb33295a9bb62/patiencediff-0.1.0-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "b3bdc24784455565cc9dc797c2c20ea4", "sha256": "bfb5bf7f5b494ba3a02d64a034ca76a9d90cee73b9a9a2b8318a9eaa00331306" }, "downloads": -1, "filename": "patiencediff-0.1.0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "b3bdc24784455565cc9dc797c2c20ea4", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 31733, "upload_time": "2019-06-03T03:03:07", "url": "https://files.pythonhosted.org/packages/ce/6c/d2d81f6ec4f23eaab09411529135ec0b56023218ece5526c3fcc1d44379f/patiencediff-0.1.0-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "3a724bca8292cfd2e444a46c833f91c7", "sha256": "7cd316f57f7b4086923cc0db80273886416134d82945dddd0aa24f0e95c7d302" }, "downloads": -1, "filename": "patiencediff-0.1.0.tar.gz", "has_sig": true, "md5_digest": "3a724bca8292cfd2e444a46c833f91c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19965, "upload_time": "2019-06-03T02:46:45", "url": "https://files.pythonhosted.org/packages/58/23/74657b1e981f107981003e69177a476605871fb3e528995a1f4d1b9b47b1/patiencediff-0.1.0.tar.gz" } ] }