{ "info": { "author": "Stephan Hoyer", "author_email": "shoyer@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "**This library is obsolete!** Python 3.5's ``collections.OrderedDict`` was `rewritten in C`_, and is now significantly faster than ``cyordereddict.OrderedDict`` for almost all operations.\n\n.. _rewritten in C: https://bugs.python.org/issue16991\n\n=============\ncyordereddict\n=============\n\n.. image:: https://travis-ci.org/shoyer/cyordereddict.svg?branch=master\n :target: https://travis-ci.org/shoyer/cyordereddict\n\n.. image:: https://badge.fury.io/py/cyordereddict.svg\n :target: https://pypi.python.org/pypi/cyordereddict\n\nThe Python standard library's ``OrderedDict`` ported to Cython. A drop-in\nreplacement that is 2-6x faster.\n\nInstall:\n ``pip install cyordereddict``\n\nDependencies:\n CPython (2.6, 2.7, 3.3 or 3.4) and a C compiler. Cython is only required\n for the dev version.\n\nUse:\n .. code-block:: python\n\n from cyordereddict import OrderedDict\n\nBenchmarks:\n Python 2.7:\n\n ================== ================================= =========================\n Test Code Ratio (stdlib / cython)\n ================== ================================= =========================\n ``__init__`` empty ``OrderedDict()`` 1.8\n ``__init__`` list ``OrderedDict(list_data)`` 4.8\n ``__init__`` dict ``OrderedDict(dict_data)`` 4.6\n ``__setitem__`` ``ordereddict[0] = 0`` 8.6\n ``__getitem__`` ``ordereddict[0]`` 3\n ``update`` ``ordereddict.update(dict_data)`` 5.5\n ``__iter__`` ``list(ordereddict)`` 5.6\n ``items`` ``ordereddict.items()`` 5.9\n ``__contains__`` ``0 in ordereddict`` 2.3\n ================== ================================= =========================\n\n Python 3.4:\n\n ================== ================================= =========================\n Test Code Ratio (stdlib / cython)\n ================== ================================= =========================\n ``__init__`` empty ``OrderedDict()`` 1.5\n ``__init__`` list ``OrderedDict(list_data)`` 3.9\n ``__init__`` dict ``OrderedDict(dict_data)`` 4.2\n ``__setitem__`` ``ordereddict[0] = 0`` 8.4\n ``__getitem__`` ``ordereddict[0]`` 2.9\n ``update`` ``ordereddict.update(dict_data)`` 6.5\n ``__iter__`` ``list(ordereddict)`` 2.3\n ``items`` ``list(ordereddict.items())`` 2.1\n ``__contains__`` ``0 in ordereddict`` 2.3\n ================== ================================= =========================\n To run these yourself, use ``cyordereddict.benchmark()``\n\nCavaets:\n ``cyorderedddict.OrderedDict`` is an extension type (similar to the\n built-in ``dict``) instead of a Python class. This is necessary for speed,\n but means that in a few pathological cases its behavior will differ from\n ``collections.OrderedDict``:\n\n * The ``inspect`` module does not work on ``cyorderedddict.OrderedDict``\n methods.\n * Extension types use slots instead of dictionaries, so you cannot add\n custom attributes without making a subclass (e.g.,\n ``OrderedDict.foo = 'bar'`` will fail).\n\n You can do anything else you might do with an OrderedDict, including\n subclassing: everything else passes the ``collections.OrderedDict`` test\n suite. We based the Cython code directly on the Python standard library,\n and thus use separate code bases for Python 2 and 3, specifically to\n reduce the potential for introducing new bugs or performance regressions.\n\nLicense:\n MIT. Based on the Python standard library, which is under the Python\n Software Foundation License.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/shoyer/cyordereddict", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "cyordereddict", "package_url": "https://pypi.org/project/cyordereddict/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cyordereddict/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/shoyer/cyordereddict" }, "release_url": "https://pypi.org/project/cyordereddict/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Cython implementation of Python's collections.OrderedDict", "version": "1.0.0" }, "last_serial": 1941082, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "aff258b100f1dec5f8fea1aaffeee545", "sha256": "aabd64a098022a4347cf905036f606e1d4181e570ae632a642a4d65c3e5219bc" }, "downloads": -1, "filename": "cyordereddict-0.1.tar.gz", "has_sig": false, "md5_digest": "aff258b100f1dec5f8fea1aaffeee545", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47877, "upload_time": "2014-11-10T10:08:08", "url": "https://files.pythonhosted.org/packages/4d/ef/79953e5331bb12276ae09d56b53ee3f6eb8d67429395cbf4be29ade47653/cyordereddict-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "fcc5f079a766af58e30c6db3f2eb04a3", "sha256": "74d6304ab323fc87b513e1752e373cb6ce3c2471948a32d6139f4b5aef0c7705" }, "downloads": -1, "filename": "cyordereddict-0.1.1.tar.gz", "has_sig": false, "md5_digest": "fcc5f079a766af58e30c6db3f2eb04a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49887, "upload_time": "2014-11-10T10:13:21", "url": "https://files.pythonhosted.org/packages/fd/7e/3baf782292bf76e736fd78917afd560ee6cb83aa7dd25e785a6e24d7ce2c/cyordereddict-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "25b8d5ab16be4190385fa7992799c9eb", "sha256": "72299a1783f51f0e1d8ed33fb1aa8b644deaef163cbf57eab71d8350b61f8ffe" }, "downloads": -1, "filename": "cyordereddict-0.2.tar.gz", "has_sig": false, "md5_digest": "25b8d5ab16be4190385fa7992799c9eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130941, "upload_time": "2014-11-13T01:39:49", "url": "https://files.pythonhosted.org/packages/5c/06/2732e943637b541748b2ccfff1583bd8c2303c2bd9ede54da766c52c2e5e/cyordereddict-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "73e7a5d51b6caf7df6b7b05d155f2e87", "sha256": "3850a287dcdd8e674d3649adddca07b26b584e79fb154f6438faf802babe10f5" }, "downloads": -1, "filename": "cyordereddict-0.2.1.tar.gz", "has_sig": false, "md5_digest": "73e7a5d51b6caf7df6b7b05d155f2e87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131035, "upload_time": "2014-11-13T02:11:03", "url": "https://files.pythonhosted.org/packages/23/aa/eadf6734be2521f12508983b42faa64d7213a496b1c974f1837cd0f3165e/cyordereddict-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6279eb0bf9819f0293ad5315b2d484d0", "sha256": "f8387caaffba695d704311842291ede696080a5ed306f07f1825de126fb7f1ec" }, "downloads": -1, "filename": "cyordereddict-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6279eb0bf9819f0293ad5315b2d484d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128611, "upload_time": "2014-12-07T08:18:40", "url": "https://files.pythonhosted.org/packages/5a/c0/ef04050d49a736591d1196025f0f3a41b7efe649854b9df305467e60fb21/cyordereddict-0.2.2.tar.gz" } ], "0.2.2-dev": [ { "comment_text": "", "digests": { "md5": "12c366ebf1d60eb094fe409b17305b16", "sha256": "486514404434196f2575320fa824f68bd6d15665cb6987ffc688f43a83d6238b" }, "downloads": -1, "filename": "cyordereddict-0.2.2-dev.tar.gz", "has_sig": false, "md5_digest": "12c366ebf1d60eb094fe409b17305b16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128640, "upload_time": "2014-12-07T08:14:47", "url": "https://files.pythonhosted.org/packages/b9/59/8adf599d071571239583349d80f0f12d619d2b075437a7e5da111cfdd0d7/cyordereddict-0.2.2-dev.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8924331ec3bb754c92fd2603d3a29489", "sha256": "d9b2c31796999770801a9a49403b8cb49510ecb64e5d1e9d4763ed44f2d5a76e" }, "downloads": -1, "filename": "cyordereddict-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8924331ec3bb754c92fd2603d3a29489", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138200, "upload_time": "2016-02-05T07:45:29", "url": "https://files.pythonhosted.org/packages/d1/1a/364cbfd927be1b743c7f0a985a7f1f7e8a51469619f9fefe4ee9240ba210/cyordereddict-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8924331ec3bb754c92fd2603d3a29489", "sha256": "d9b2c31796999770801a9a49403b8cb49510ecb64e5d1e9d4763ed44f2d5a76e" }, "downloads": -1, "filename": "cyordereddict-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8924331ec3bb754c92fd2603d3a29489", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138200, "upload_time": "2016-02-05T07:45:29", "url": "https://files.pythonhosted.org/packages/d1/1a/364cbfd927be1b743c7f0a985a7f1f7e8a51469619f9fefe4ee9240ba210/cyordereddict-1.0.0.tar.gz" } ] }