{ "info": { "author": "Robert Wright", "author_email": "madman.bob@hotmail.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "Python Order Maintenance\n========================\n\nA data structure to `impose a total order `_ on a collection of objects.\n\nDependencies\n------------\n\n``ordering`` requires Python 3.6+.\nIf the type hints were removed, it would probably work in earlier versions, as well.\n\nUsage\n-----\n\nAn ordering is represented by an Ordering object.\nThe order may be different to the usual order between objects, or even between objects that are not normally comparable.\n\n.. code:: python\n\n >>> from ordering import Ordering\n >>> order = Ordering([2, 0, 1])\n\nWe can then compare the objects in our ordering, to check if the first object comes before the second in the order.\n\n.. code:: python\n\n >>> order.compare(0, 1) # 1 after 0\n True\n >>> order.compare(0, 2) # 2 before 0\n False\n\nOur ordering is mutable, and we can add elements on either end, or immediately before or after an existing element.\n\n.. code:: python\n\n >>> order.insert_end(3) # Add 3 on the end\n >>> order.compare(1, 3) # 3 after 1\n True\n\n >>> order.insert_after(0, 4) # Insert 4 immediately after 0\n >>> order.compare(0, 4) # 4 after 0\n True\n >>> order.compare(1, 4) # 4 before 1\n False\n\nOrderings are iterable, yielding their items in order.\n\n.. code:: python\n\n >>> list(order)\n [2, 0, 4, 1, 3]\n\nAnd can be used as a key in sorting functions, to sort with respect to that order.\n\n.. code:: python\n\n >>> sorted(range(3), key=order)\n [2, 0, 1]\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/madman-bob/python-order-maintenance", "keywords": "order,ordering", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ordering", "package_url": "https://pypi.org/project/ordering/", "platform": "", "project_url": "https://pypi.org/project/ordering/", "project_urls": { "Homepage": "https://github.com/madman-bob/python-order-maintenance" }, "release_url": "https://pypi.org/project/ordering/0.2.0/", "requires_dist": null, "requires_python": ">=3.6", "summary": "A data structure to impose a total order on a collection of objects", "version": "0.2.0" }, "last_serial": 3650755, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c9175cc53a86b7a7ec39dddc0b44d0dd", "sha256": "aacc763a69274721e38f61d32bda9d57adbfe83c97e0c7f3fe549bd8f0f95906" }, "downloads": -1, "filename": "ordering-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c9175cc53a86b7a7ec39dddc0b44d0dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4897, "upload_time": "2017-07-20T18:43:24", "url": "https://files.pythonhosted.org/packages/70/10/77d00a3383dfb8b7b5fe0df7df1b189c176106f2ce19ed89530bd060e772/ordering-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbf696f81146d4eff7bc22339b40785f", "sha256": "91760bee17927e4b8271e45584c221456b18e15d02d444dc2cb3bff839fd1b16" }, "downloads": -1, "filename": "ordering-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fbf696f81146d4eff7bc22339b40785f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3082, "upload_time": "2017-07-20T18:43:26", "url": "https://files.pythonhosted.org/packages/8e/22/9c0bccfdd258f33ba22e2218dd9adabf883016df10030e1810672c0ec619/ordering-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4ee34421876b4f79450491237490950f", "sha256": "cf2920b92605a7c5d9d1060bacc03bf31923ef9ba8d24999b77d662d9f80adcd" }, "downloads": -1, "filename": "ordering-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ee34421876b4f79450491237490950f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5222, "upload_time": "2018-03-08T10:31:28", "url": "https://files.pythonhosted.org/packages/08/ef/853b5fa50d0e5189a2afff95300253f26fd22dbd7ee7f21fed84ae0732be/ordering-0.2.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4ee34421876b4f79450491237490950f", "sha256": "cf2920b92605a7c5d9d1060bacc03bf31923ef9ba8d24999b77d662d9f80adcd" }, "downloads": -1, "filename": "ordering-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ee34421876b4f79450491237490950f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5222, "upload_time": "2018-03-08T10:31:28", "url": "https://files.pythonhosted.org/packages/08/ef/853b5fa50d0e5189a2afff95300253f26fd22dbd7ee7f21fed84ae0732be/ordering-0.2.0-py3-none-any.whl" } ] }