{ "info": { "author": "NickNackGus", "author_email": "NickNackGus@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# HashList\n\nThis is a package for a list that can display the minimal differences between instances of this type.\n\nThis is best demonstrated with Python's go-to metasyntatic values:\n\n```python\nmenu = [\n HashList(['egg', 'bacon']),\n HashList(['egg', 'sausage', 'bacon']),\n HashList(['egg', 'spam']),\n HashList(['egg', 'bacon', 'spam']),\n HashList(['egg', 'bacon', 'sausage', 'spam']),\n HashList(['spam', 'bacon', 'sausage', 'spam']),\n HashList(['spam', 'egg', 'spam', 'spam', 'bacon', 'spam']),\n HashList(['spam', 'spam', 'spam', 'egg', 'spam']),\n HashList(['spam', 'spam', 'spam', 'spam', 'spam', 'spam', 'baked beans', 'spam', 'spam', 'spam', 'spam']),\n HashList(['lobster thermidor aux crevettes with a mornay sauce, garnished with truffle p\u00e2t\u00e9 and a fried egg on top', 'spam'])\n]\n\n# Header\nend = ', '\nfor i in range(len(menu)):\n if i == len(menu) - 1:\n end = ': '\n print('Combo {}'.format(i), end=end)\nprint(\"Item\")\nprint(\"-\" * 100)\n\n# Table of indicies\nfor entry in menu[0].diff(menu[1:]):\n end = ', '\n for i in range(len(entry['matches'])):\n match = entry['matches'][i]\n if i == len(entry['matches']) - 1:\n end = ': '\n print('{!r:>7}'.format(match), end=end)\n print(entry['item'])\n```\n\nOutput:\n```\nCombo 0, Combo 1, Combo 2, Combo 3, Combo 4, Combo 5, Combo 6, Combo 7, Combo 8, Combo 9: Item\n----------------------------------------------------------------------------------------------------\n 0, 0, 0, 0, 0, None, 1, 3, None, None: egg\n 1, 2, None, 1, 1, 1, 4, None, None, None: bacon\n None, 1, None, None, 2, 2, None, None, None, None: sausage\n None, None, 1, 2, 3, 0, 0, 0, 0, 1: spam\n None, None, None, None, None, 3, 2, 1, 1, None: spam\n None, None, None, None, None, None, 3, 2, 2, None: spam\n None, None, None, None, None, None, 5, 4, 3, None: spam\n None, None, None, None, None, None, None, None, 4, None: spam\n None, None, None, None, None, None, None, None, 5, None: spam\n None, None, None, None, None, None, None, None, 6, None: baked beans\n None, None, None, None, None, None, None, None, 7, None: spam\n None, None, None, None, None, None, None, None, 8, None: spam\n None, None, None, None, None, None, None, None, 9, None: spam\n None, None, None, None, None, None, None, None, 10, None: spam\n None, None, None, None, None, None, None, None, None, 0: lobster thermidor aux crevettes with a mornay sauce, garnished with truffle p\u00e2t\u00e9 and a fried egg on top\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/NickNackGus/pyhashlist", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "hashlist-NickNackGus", "package_url": "https://pypi.org/project/hashlist-NickNackGus/", "platform": "", "project_url": "https://pypi.org/project/hashlist-NickNackGus/", "project_urls": { "Homepage": "https://github.com/NickNackGus/pyhashlist" }, "release_url": "https://pypi.org/project/hashlist-NickNackGus/1.0.0/", "requires_dist": [ "defaultdict-NickNackGus" ], "requires_python": "", "summary": "Compare differences in list order with minimal insertions/deletions", "version": "1.0.0" }, "last_serial": 5289206, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "63e65a0468295aaa6ac01623ce0e2251", "sha256": "19dfef579f06e97ea94b88f8cd0ab8872f672b277873ee6fc7b62c288207c034" }, "downloads": -1, "filename": "hashlist_NickNackGus-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "63e65a0468295aaa6ac01623ce0e2251", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4288, "upload_time": "2019-05-19T18:46:05", "url": "https://files.pythonhosted.org/packages/ac/fc/e82421bb3688d32afa78b93a9caef40fcd6808ddd044da2000b4f12c0487/hashlist_NickNackGus-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3ef5cc98dbd95b32aed9e03e1a13754", "sha256": "60c465994b49fd14a536c5460f959a154942e43e7f13bc2c2c578ed158847934" }, "downloads": -1, "filename": "hashlist-NickNackGus-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a3ef5cc98dbd95b32aed9e03e1a13754", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3044, "upload_time": "2019-05-19T18:46:07", "url": "https://files.pythonhosted.org/packages/fc/b7/90484c79f04b74276817d6db43fa1b6cbb9e14b8c004fc648be32d7f422b/hashlist-NickNackGus-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "63e65a0468295aaa6ac01623ce0e2251", "sha256": "19dfef579f06e97ea94b88f8cd0ab8872f672b277873ee6fc7b62c288207c034" }, "downloads": -1, "filename": "hashlist_NickNackGus-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "63e65a0468295aaa6ac01623ce0e2251", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4288, "upload_time": "2019-05-19T18:46:05", "url": "https://files.pythonhosted.org/packages/ac/fc/e82421bb3688d32afa78b93a9caef40fcd6808ddd044da2000b4f12c0487/hashlist_NickNackGus-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3ef5cc98dbd95b32aed9e03e1a13754", "sha256": "60c465994b49fd14a536c5460f959a154942e43e7f13bc2c2c578ed158847934" }, "downloads": -1, "filename": "hashlist-NickNackGus-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a3ef5cc98dbd95b32aed9e03e1a13754", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3044, "upload_time": "2019-05-19T18:46:07", "url": "https://files.pythonhosted.org/packages/fc/b7/90484c79f04b74276817d6db43fa1b6cbb9e14b8c004fc648be32d7f422b/hashlist-NickNackGus-1.0.0.tar.gz" } ] }