{ "info": { "author": "Anthon van der Neut", "author_email": "a.van.der.neut@ruamel.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python" ], "description": "The ordereddict module in short\n-------------------------------\n\nThis is an implementation of an ordered dictionary with Key Insertion\nOrder (KIO: updates of values do not affect the position of the key),\nKey Value Insertion Order (KVIO, an existing key's position is removed\nand put at the back). The standard library module OrderedDict, implemented\nlater, implements a subset of ``ordereddict`` functionality.\n\nSorted dictionaries are also provided. Currently only with Key Sorted\nOrder (KSO, no sorting function can be specified, but you can specify a\ntransform to apply on the key before comparison (e.g. string.lower)).\n\nThis package is hosted on BitBucket and installable from PyPI::\n\n pip install ruamel.ordereddict\n\nFor Windows there are 32 and 64 bit installable wheels available.\n\nUsage::\n\n from ruamel.ordereddict import ordereddict\n kio = ordereddict()\n kvio = ordereddict(kvio=True)\n # without relax unordered initalisation is not allowed\n d = ordereddict({'a':1, 'b': 2}, relax=True)\n sd = sorteddict({'a':1, 'b': 2}) # sorteddict is always relaxed\n\n**please note that starting with 0.4.6 you should not import _ordereddict\ndirectly**\n\nThis module has been tested under:\n\n============= ========================= ==========\nOS compiler Python\nLinux Mint 17 gcc 4.8.4 2.7.13\nWindows Visual Studio 2010 2.7.13-32\nWindows Visual Studio 2010 2.7.13-64\n============= ========================= ==========\n\nOlder versions of this module has been tested under\nand I expect those to still work:\n\n============= ======================== =========\nOS compiler Python\nWindows XP-64 Visual Studio 2010 2.7.10-32\nWindows XP-64 Visual Studio 2010 2.7.10-64\nWindows XP-64 Visual Studio 2008 2.6.9-32\nWindows XP-64 Visual Studio 2008 2.6.9-64\nLinux Mint 17 gcc 4.8.2 2.6.9\nUbuntu 12.04 gcc 4.7.2 2.7.6\nUbuntu 12.04 gcc 4.7.2 2.6.8\nUbuntu 8.04 gcc 4.2.4 2.7.6\nUbuntu 8.04 gcc 4.2.4 2.5.2\nWindows XP Visual C++ 2008 Express 2.7.6\nWindows 7 64 Windows SDK for Win7 SP1 2.7.6\nUbuntu 12.04 gcc 4.6.3 2.7.3\nUbuntu 8.04 gcc 4.2.4 2.6.4\nUbuntu 8.04 gcc 4.2.4 2.5.2\nUbuntu 8.10 gcc 4.3.2 2.5.4\nUbuntu 8.10 gcc 4.3.2 2.4.6\nUbuntu 7.04 gcc 4.1.2 2.5.1\nUbuntu 7.04 gcc 4.1.2 2.4.4\nUbuntu 6.06 gcc 2.5.1\nWindows XP Visual Studio 2003 2.5.1\nWindows XP Visual C++ 2008 Express 2.6.5\nWindows MingGW 4.7.0 2.7.3\nSolaris 10 GCC 4.4.x 2.7.3\n============= ======================== =========\n\nVersion 0.4.1 was tested and found working on SuSE Linux Enterprise Server\n(GCC 4.1.0 and Intel C/C++ 10.1) by Stuart Stock.\n\nMingGW and Solaris were tested and reported to work by Wladimir with version\n0.4.5\n\nHome\n----------------------------\n\nhttps://bitbucket.org/ruamel/ordereddict is ordereddict's home on the web.\n\nClone the repository there if you want to work from the source.\n\nhttp://www.xs4all.nl/~anthon/Python/ordereddict used to be\nordereddict's home on the web.\nThere you can still find the links for downloading the older version (0.4.5).\n\n\n\nInstallation\n------------\n\n.. comment: To install the package you can use::\n\n pip install ruamel.ordereddict\n\nYou can clone and checkout the sources, and then run::\n\n python setup.py install\n\n\nBugreporting\n------------\n\nIf you find any problems, please let me know, but also realise that I\nhave a spamfilter that catches over 100 emails a day and yours might\nget in there unnoticed. So if there is no response within a few days\nplease try again.\n\nFunctionality\n-------------\n\nordereddict has all of the functionality of dict() except that there\nis no keyword based initialisation and that you cannot pass a normal\ndict to the initialisation of the basic ordereddict (however see the\nrelax-ed keyword below). sorteddict cannot be initialised from keywords\neither, but can be initialised from normal dict (ie. they are always\nrelaxed).\n\nAs you probably would expect .keys(), .values(), .items(),\n.iterkeys(), itervalues(), iteritems() and \"for i in some_ordereddict\"\nhave elements ordered based on the key insertion order (or key value\ninsertion order if kvio is specified, or sort order for sorteddict).\n\nordered/sorteddicts can be pickled.\n\nSome methods have been slightly changed:\n\n- initialisation of ordereddict takes keywords:\n\n - kvio: if set to True, then move an existing key on update\n - relax: if set to True, the ordereddict is relaxed for its life regarding\n initialisation and/or update from unordered data (read a normal dict).\n\n- initialisation of sorteddict takes keyword:\n\n - key: specifies a function to apply on key (e.g. string.lower)\n\n- .popitem() takes an optional argument (defaulting to -1) indicating which\n key/value pair to return (by default the last one available)\n- .dict()/.values()/.items()/.iterdict()/.itervalues()/.iteritems()\n all take an optional reverse (default False) parameter that gives\n the list reversed order resp. iterates in reverse\n (the non-iterator can also be done relatively efficient with e.g.\n od.dict().reverse() )\n- .update(): takes an optional relax=True which allows one time\n ordereddict update from normal dictionaries regardless of\n initialisation time relax setting.\n\nIn addition to that ordereddict and sorteddict have some extra methods:\n\n- .index(key) - gives an integer value that is the index of the key\n- .setkeys()/.setvalues()/.setitems(), work like those in the Larosa/Foord\n implementation, although they might throw different exceptions:\n - setvalues' argument must be an itereable that returns the same number of\n items as the length of the ordereddict\n - setitems' argument is free in length, it performs a clear and adds\n the items in order.\n- slice retrieval for all\n\nand ordereddict only also has:\n\n- .setkeys(), works like the one in the Larosa/Foord\n implementation. Argument must be an itereable returning a permutation of the\n existing keys ( that implies having the same length as the ordereddict)\n- .reverse() - reverses the keys in place\n- .insert(position, key, value) - this will put a key at a particular position\n so that afterwards .index(key) == position, if the key was already there\n the original position (and value) is lost to the new position. This often\n means moving keys to new positions!\n- slice deletion/assignment:\n - stepped deletion could be optimized a bit (individual items are deleted\n which can require memmoving multiple items)\n - assignment only from OrderedDict (with the same length as the slice). This\n could also be optimised as I first delete, then insert individual items.\n If the assigned items contain keys that are still there after the deletion\n 'phase' then retrieving that slice does not always give the original\n assigned ordereddict (depending on the position of the items\n with those keys in either ordereddict)\n- .rename(oldkey, newkey) renames a key, but keeps the items position and value\n\nThe new OrderedDict in the standard collections module\n------------------------------------------------------\n\nWith Python 3.1 and backported to 2.7 there is an OrderedDict class\navailable in the collections modules. Raymond Hettinger indicated in\n2009 at EuroPython that he preferred to start from a minimal\nOrderedDict instead of using the Larosa/Foord\nimplementation. Unfortunately the available tests (for the\nfunctionality that the simple collections.OrderedDict supports) were\nnot used either resulting in preventable bugs like repr initially not\nworking on recursive OrderedDicts.\n\nordereddict (and the Larosa/Foord implementation) is essentially\na superset of collections.OrderedDict, but there are a few\ndifferences:\n\n- OrderedDict is by default relax-ed.\n- repr of recursive OrderedDict does not give any indication of the\n value of the recursive key, as it only displays `...`. ordereddict\n displays `ordereddict([...])` as value. Just using the dots like\n OrderedDict does is going to be ambiguous as soon as you have two different\n types A and B and nest A in B in A or B in B in A.\n- some newer build-in functions available in OrderedDict are not\n available in ordereddict ( __reversed__, viewkeys, viewvalues, viewitems).\n\nAll of the differences can be straightened out in small (70 lines of\nPython) OrderedDict wrapper around ordereddict. With this wrapper the\nOrderedDict tests in the standard test_collections.py all pass.\n\nTesting\n-------\n\ntestordereddict.py in the test subdirectory has been used to test the module.\nYou can use::\n\n python testordereddict\n\nto run the tests (py.test support has been dropped as newer versions\nof py.test were not compatible).\n\nThere is a somewhat patched copy of the python lib/Test dictionary testing\nroutines included as well, it fails on the _update test however\nbecause the default is not to use a relaxed ordereddict.\nYou can run it with::\n\n cd test/unit\n python test_dict.py\n\nTo Do\n-----\n- implement Value Sorted Order (VSO: specify value=True for normal\n value comparison), or a value rewrite function for VSO ( e.g.\n value=string.lower )\n- implement Item Sorted Order (ISO): compare value then key ( the other way\n around would not make sense with unique keys, but we might have\n non-unique values).\n- implement slice deletion for sorteddict\n- more testing of sorteddict functionality\n- speedtest slices\n- speedtest sorteddict\n- check on the test_update unittest in test_dict.py\n\nTo Consider\n-----------\n- comparing ordereddicts (as per Larosa/Foord)\n- implement the whole (optionally) using pointers in the DictObject Items\n (Faster on insertion/deletion, slower on accessing slices, makes\n implementing algorithms somewhat more difficult), would have to seperate\n code for sorteddict as key position determination would be much slower.\n- supply a pure Python implementation of exactly the functionality in\n ordereddict\n- test on older versions (< 2.4) of Python and make portable (if this can\n be done without too much clutter) or port.\n- test on the Mac\n- optimise searching for an item pointer for sorteddict with binary search\n (for deletion)\n\nBackground information\n----------------------\n\nordereddict is directly derived from Python's own dictobject.c file.\nThe extensions and the representation of ordereddicts() are based\non Larosa/Foord's excellent pure Python OrderedDict() module\n(http://www.voidspace.org.uk/python/odict.html).\n\nThe implemenation adds a vector of pointers to elements to the basic\ndictionary structure and keeps this vector compact (and in order) so\nindexing is fast. The elements do not know about their position (so\nnothing needs to be updated there if that position changes, but then\nfinding an item's index is expensive. Insertion/deletion is also relatively\nexpensive in that on average half of the vector of pointers needs to\nbe memmove-d one position.\nThere is also a long value for bit info like kvio, relaxed.\n\nThe sorteddict structure has an additional 3 pointers of which only\none (sd_key) is currently used (the others are sd_cmp and sd_value).\n\nSpeed\n-----\n\nBased on some tests with best of 10 iterations of 10000 iterations of various\nfunctions under Ubuntu 7.10 (see test/timeordereddict.py and test/ta.py)::\n\n Results in seconds:\n\n ------------------------------- dict ordereddict Larosa/Ford collections\n OrderedDict OrderedDict\n empty 0.023 0.025 0.023 0.024\n create_empty 0.028 0.031 0.147 0.329\n create_five_entry 0.037 0.042 0.384 0.558\n create_26_entry 0.187 0.203 1.494 1.602\n create_676_entry 5.330 5.574 36.797 34.810\n get_keys_from_26_entry 0.209 0.231 1.501 1.762\n pop_5_items_26_entry 0.219 0.247 1.952 1.864\n pop_26_items_676_entry 7.550 8.127 46.578 41.851\n popitem_last_26_entry 0.203 0.225 1.624 1.734\n popitem_last_676_entry 5.285 5.534 36.912 34.799\n popitem_100_676_entry -------- 5.552 36.577 --------\n walk_26_iteritems -------- 0.494 2.792 2.238\n ------------------------------- dict ordereddict Larosa/Ford collections\n OrderedDict OrderedDict\n\n empty 0.930 1.000 0.950 0.966\n create_empty 0.909 1.000 4.728 10.594\n create_five_entry 0.892 1.000 9.201 13.374\n create_26_entry 0.923 1.000 7.368 7.901\n create_676_entry 0.956 1.000 6.601 6.245\n get_keys_from_26_entry 0.908 1.000 6.508 7.641\n pop_5_items_26_entry 0.888 1.000 7.916 7.559\n pop_26_items_676_entry 0.929 1.000 5.732 5.150\n popitem_last_26_entry 0.901 1.000 7.222 7.712\n popitem_last_676_entry 0.955 1.000 6.670 6.288\n popitem_100_676_entry -------- 1.000 6.588 --------\n walk_26_iteritems -------- 1.000 5.653 4.532\n\nWhy\n---\n\nBecause I am orderly ;-O, and because I use dictionaries to\nstore key/value information read from some text file quite often.\nUnfortunately comparing those files with diff when written from\nnormal dictionaries often obfucates changes because of the reordering\nof lines when key/value pairs are added and then written.\n\nI have special routine for YAML files that takes lines like::\n\n - key1: val1\n - key2: val3\n - key3:\n - val3a\n - val3b\n\n(i.e. a list of key-value pairs) directly to a single ordered dictionary\nand back. (I find it kind of strange to finally have a structured,\nhuman readeable, format that does not try to preserve the\norder of key-value pairs so that comparing files is difficult with\n'standard' text tools).\n\nOlder versions\n--------------\n\nhttp://www.xs4all.nl/~anthon/Python/ordereddict used to be\nordereddict's home on the web.\n\nThere you can still find the links for downloading the older version (0.4.5).\n\n\nHistory\n-------\n\n``0.4.13``: 2017-0723\n-\n\n| ``0.4.9 2015-08-10``\n| typos fixed by Gianfranco Costamagna\n|\n| ``0.4.8 2015-05-31``\n| dependent on ruamel.base\n| version number in a single place\n| using py.test under tox\n| generate wheel for 32/64bit py26/py27 on windows\n|\n| ``0.4.6 2014-01-18``\n| Move to ruamel namespace, hosted on bitbucket, MIT License\n| Testing with tox\n|\n| ``0.4.5 2012-06-17``\n| Fix for a bug while inserting last item again beyond last position (reported\n| by Volkan \u00c7etin / volki tolki ( cetinv at gmail.com )\n| Fix for repeated deletion and insertion fail. Found by and solution provided\n| by Darren Dowker (including tests). Also found by Fabio Zadronzy (including\n| a less elegant fix).\n| applied reindent to .py and astyle to .c files\n|\n| ``0.4.3 2009-05-11``\n| Fix for a bug in slicing SortedDicts.\n| Found by, and fix provided by, Migel Anguel (linos.es)\n|\n| ``0.4.2 2009-03-27``\n| Bug found and by Alexandre Andrade and Fabio Zadrozny in\n| doing deepcopy\n|\n| ``0.4.1 2007-11-06``\n| Bug found and fixed by Fabio Zadrozny on resizing dictionaries\n|\n| ``0.4 2007-10-30``\n| added pickling, added relaxed initialisation/update (from unordered dicts)\n| added KVIO (Key Value Insertion Order ie. key moves to back on update)\n| implemented sorteddict, with KSO, Key Sorted Order. You can specify\n| a function for key transformation before comparison (such as string.lower)\n| sorteddict does not have all of the ordereddict methods as not all make\n| sense (eg. slice assignment, rename, setkeys)\n|\n| ``0.3 2007-10-24``\n| added setkeys/setvalues/setitems; slice retrieval, deletion, assignment\n| .rename(oldkey, newkey) rename a key keeping same value and position\n| .index() of non-existing key now returns ValueError instead of SystemError\n| Changed the module name to _ordereddict (from ordereddict), as Jason\n| Kirstland probably rightfully suggested that any private implementation\n| likely has the (file)name ordereddict.py. A modulename with leading\n| underscore seams more common for extension modules anyway.\n|\n| ``0.2a 2007-10-16``\n| Solved the potential GC problem on Windows\n|\n| ``0.2 2007-10-16``\n| First release, with some tests, and possible still a GC problem\n| with Windows.\n|\n| ``0.1 2007-10-..``\n| This version was never released. While testing it I was far in writing\n| an email to comp.lang.python about why timing with timeit did seem to\n| be memory hungry ....\n| and then I realised ordereddict had a memory leak %-)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/ruamel/ordereddict", "keywords": "", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "ruamel.ordereddict", "package_url": "https://pypi.org/project/ruamel.ordereddict/", "platform": "", "project_url": "https://pypi.org/project/ruamel.ordereddict/", "project_urls": { "Homepage": "https://bitbucket.org/ruamel/ordereddict" }, "release_url": "https://pypi.org/project/ruamel.ordereddict/0.4.14/", "requires_dist": null, "requires_python": "", "summary": "a version of dict that keeps keys in insertion resp. sorted order", "version": "0.4.14" }, "last_serial": 5592223, "releases": { "0.4.13": [ { "comment_text": "", "digests": { "md5": "920750f3b0440075a491ad545efd7937", "sha256": "854dd4a524811b16111b1107d8a751e4ca064d2bb103d3d91deab75de36b6620" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.13-cp27-cp27m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "920750f3b0440075a491ad545efd7937", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 32909, "upload_time": "2018-08-16T13:33:53", "url": "https://files.pythonhosted.org/packages/8f/06/080297f4eb33bfc87ec57710b6f9d74356487d2fd527f9cda27782f74cd3/ruamel.ordereddict-0.4.13-cp27-cp27m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "115e9c54a5a54e74d011eb96bfedb6b2", "sha256": "150ce8e6c514a2a2b62753622a75874962561f8e5eeec81a3172ab952807bf0b" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.13-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "115e9c54a5a54e74d011eb96bfedb6b2", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 99516, "upload_time": "2017-07-23T11:05:23", "url": "https://files.pythonhosted.org/packages/f3/2d/8915a5f565c56e1650ce220b9a18867441f54cdf989cd5cf7fdfba47840e/ruamel.ordereddict-0.4.13-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "1b4936a76162cdd3c056406a23006b82", "sha256": "45541836cbfdde630033cae7bbbe35acbac87a0ceec79f944b7a3bedd940fe78" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "1b4936a76162cdd3c056406a23006b82", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 99514, "upload_time": "2017-07-23T11:05:26", "url": "https://files.pythonhosted.org/packages/f3/2c/fa6d75dc459b371ed3b88fdbf8042785ce1655073c884fd97bdbb9f48e01/ruamel.ordereddict-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "bbca12090f2ea14f6ef4b75873f6db7b", "sha256": "aee2fa23e884249b4284b728888c553d551e5bfd4de2731f10153fd7813ec55f" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.13-cp27-cp27m-win32.whl", "has_sig": false, "md5_digest": "bbca12090f2ea14f6ef4b75873f6db7b", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 34993, "upload_time": "2017-07-23T11:05:29", "url": "https://files.pythonhosted.org/packages/a1/28/8bca02553fea784f63ba2dbc0c1df919b905719403d3a0fc2469bfea0ee2/ruamel.ordereddict-0.4.13-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "10af9cb98e43adb992cd46e0e2c6d314", "sha256": "08b4b19fe518d32251a5338e039c4dc9eb0876f2919f94c9b8d2f9446ea80806" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.13-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "10af9cb98e43adb992cd46e0e2c6d314", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 38693, "upload_time": "2017-07-23T11:05:30", "url": "https://files.pythonhosted.org/packages/2b/d4/b1ec24d4cc8669bb01e303573a5dd9a85b4c116a53c225749fbb9bce0ac9/ruamel.ordereddict-0.4.13-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "06db93e19a27b2121c4c684216b9e3b7", "sha256": "bf0a198c8ce5d973c24e5dba12d3abc254996788ca6ad8448eabc6aa710db149" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.13.tar.gz", "has_sig": false, "md5_digest": "06db93e19a27b2121c4c684216b9e3b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57711, "upload_time": "2017-07-23T11:05:33", "url": "https://files.pythonhosted.org/packages/b1/8f/3b1b407ff387e006a4a33e62182b212077bed41676451d60327955a50c3c/ruamel.ordereddict-0.4.13.tar.gz" } ], "0.4.14": [ { "comment_text": "", "digests": { "md5": "6087a75b7dfce7215595db4b1073f538", "sha256": "7324310945c6b47218255b5d75ccbc74d435221c44652ec4406b1a871ddc3bc3" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "6087a75b7dfce7215595db4b1073f538", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 33775, "upload_time": "2019-07-27T07:58:24", "url": "https://files.pythonhosted.org/packages/04/d9/8a30be51c7ee4a928e1e07e6d8f2634687d304dabfe8cd92d56e0399d48a/ruamel.ordereddict-0.4.14-cp27-cp27m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9b7f83d9c251f4525d79d847a6b3e7bb", "sha256": "4cd0ec38dac57a4054dda14b0a5eea1a877dcc73106131ef08513fb89ba95a22" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "9b7f83d9c251f4525d79d847a6b3e7bb", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 93301, "upload_time": "2019-07-27T07:58:26", "url": "https://files.pythonhosted.org/packages/33/c1/3319972ce668b98733647ba69c29781248ee6d63bb387731401030ed7f23/ruamel.ordereddict-0.4.14-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b9d4bab4b5cbb8a6a10c3672a50c0c6c", "sha256": "4375a70d5d217069a8349bf5fbc27aa4cf1aedfbf03ce94df113b75d22d1a1e2" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "b9d4bab4b5cbb8a6a10c3672a50c0c6c", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 93297, "upload_time": "2019-07-27T07:58:28", "url": "https://files.pythonhosted.org/packages/8c/d6/4971e55c60b972160b911368fa4cd756d68739b6616b0cb57d09d8a6ee18/ruamel.ordereddict-0.4.14-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "8636109bfaeba801c5010b18d0b0d35f", "sha256": "4f641c4de9082866b9e88497ad8050dca38c5ddbb8cb7ae9316da9db257092b2" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-win32.whl", "has_sig": false, "md5_digest": "8636109bfaeba801c5010b18d0b0d35f", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28729, "upload_time": "2019-07-27T07:58:30", "url": "https://files.pythonhosted.org/packages/81/f0/78bddf0bad1c2b1c43f455bf927bbe0de35646dcacee1e3a14ed2f3affe5/ruamel.ordereddict-0.4.14-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "70cfaa8ce897b10f8bd41ff6e47b3cb8", "sha256": "36fe0af3a02a0e1199447d050e6c3a1f5bd4c7d68e4c260f6a7a058fb4da71cb" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "70cfaa8ce897b10f8bd41ff6e47b3cb8", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 32426, "upload_time": "2019-07-27T07:58:32", "url": "https://files.pythonhosted.org/packages/c4/ca/779dffdca6f1379c5dc4a15b08cc734aac3505e4c36b07376c9139a16db0/ruamel.ordereddict-0.4.14-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "e0723a39e81fdf5d986d892dc5a94bb8", "sha256": "281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14.tar.gz", "has_sig": false, "md5_digest": "e0723a39e81fdf5d986d892dc5a94bb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60892, "upload_time": "2019-07-27T07:58:34", "url": "https://files.pythonhosted.org/packages/7d/fd/522c4722347aaf01e6bc8cce486130d83c52c72d3c3c2bbe3cbb02dddd4d/ruamel.ordereddict-0.4.14.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "09cfdefcc213ef157e9eea321c4fedc9", "sha256": "9e2a1de9387f85fd9b38a4e7980ff8e5443b2e43778fbf41ee3188ecac175cfc" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.6-cp27-none-win32.whl", "has_sig": false, "md5_digest": "09cfdefcc213ef157e9eea321c4fedc9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 32880, "upload_time": "2014-01-20T11:16:35", "url": "https://files.pythonhosted.org/packages/d0/e3/de982f999319c30c151f1838b9b31124b4d0cd00c44a666adbb7661630b5/ruamel.ordereddict-0.4.6-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "65c7ed0278b84e84e23ed4eb16eea85c", "sha256": "4271cb802c6b7fb78d1d5c4b881ca0fad358df3339804dc73a1049eccebc4340" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.6-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "65c7ed0278b84e84e23ed4eb16eea85c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 36203, "upload_time": "2014-01-20T15:59:09", "url": "https://files.pythonhosted.org/packages/98/67/d054aad1c56558115c0a7b7bc88841491c304bea1be82f175956114687dd/ruamel.ordereddict-0.4.6-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "77e89e89b280242eff92d12c2644060d", "sha256": "5e7d1d7967eaa1c7300441b218c018915c31f627d8052f7ce74c41cc6ccc443c" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.6.tar.gz", "has_sig": false, "md5_digest": "77e89e89b280242eff92d12c2644060d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47690, "upload_time": "2014-01-19T11:43:13", "url": "https://files.pythonhosted.org/packages/18/f2/e536b3d658abd3917bf89b88292b9668c58bbd1d7a377d8648a2887a6f80/ruamel.ordereddict-0.4.6.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "3c08f5704ea818c16243a0e92432d765", "sha256": "2f7530dc3f113aa08b271e04e091cd81dce1afcc2011fe4b95896633404e711a" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.8-cp26-none-win32.whl", "has_sig": false, "md5_digest": "3c08f5704ea818c16243a0e92432d765", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 35903, "upload_time": "2015-05-31T18:51:40", "url": "https://files.pythonhosted.org/packages/1e/af/d1f408791f33f21039fa4108c050c013cd623f10e9e3401d5c7bcc137c93/ruamel.ordereddict-0.4.8-cp26-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "4712e45f3b62fc80d55df90a8ebdf3fe", "sha256": "fcffdbf6976562f915ce9361ca983d21536a6b9015cfc9ecff2294e8ac50bba9" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.8-cp26-none-win_amd64.whl", "has_sig": false, "md5_digest": "4712e45f3b62fc80d55df90a8ebdf3fe", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 39517, "upload_time": "2015-05-31T18:51:44", "url": "https://files.pythonhosted.org/packages/bd/35/ba38336b0d99119299d86e16f4aa83caf9183324dc9ace774098e916ccbc/ruamel.ordereddict-0.4.8-cp26-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "29af61cfa85ad896babea6833cc630e1", "sha256": "074029ca073facd42b3a981dc3c62102ed6d20c94f9f5978ec22237dced1e13d" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.8-cp27-none-win32.whl", "has_sig": false, "md5_digest": "29af61cfa85ad896babea6833cc630e1", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 35927, "upload_time": "2015-05-31T18:51:48", "url": "https://files.pythonhosted.org/packages/cc/61/4807cd34670b2096bd5568ef227cb8b08697f0610face5780906bdfcf788/ruamel.ordereddict-0.4.8-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "e7795164cf7bf7a154611cedde73765c", "sha256": "30cdda8487169269ed57db1052c5ebab75ab5a3f8c71661f81cf707f80adff63" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.8-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "e7795164cf7bf7a154611cedde73765c", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 36433, "upload_time": "2015-05-31T18:51:52", "url": "https://files.pythonhosted.org/packages/ad/f4/2fab2a83d32b6fffdda687b835da03bdaafe8940f65345de6954a8b5b21a/ruamel.ordereddict-0.4.8-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "7d611077efd26f06f32c5569aea32cc3", "sha256": "2c6c9f8d6805676d9d32d09d1145e3d5927b647cc6b1b6b1f39403f5326fd160" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.8.tar.gz", "has_sig": false, "md5_digest": "7d611077efd26f06f32c5569aea32cc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49000, "upload_time": "2015-05-31T18:51:36", "url": "https://files.pythonhosted.org/packages/43/06/881a24caeead369ae1099850c37b2c1a51994af5bcbe4742a0913ec62f28/ruamel.ordereddict-0.4.8.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "c21457c021e159bad17c92368ebb0074", "sha256": "9c0f02581dd7c244684922a87edf764f075cec9c8017df76ce67b98fedace257" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp26-cp26m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "c21457c021e159bad17c92368ebb0074", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 91474, "upload_time": "2016-05-12T17:20:27", "url": "https://files.pythonhosted.org/packages/7c/2d/552e914797da6f5a475452008f8450d4e3142ac2bcd59200356eed74e082/ruamel.ordereddict-0.4.9-cp26-cp26m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "63a9feecce0bb6ae133e6c4a35ff5ac2", "sha256": "c5e7657979a8a9f532442e14c80ae6d97b536555e082bffed6607cd602416950" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp26-cp26mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "63a9feecce0bb6ae133e6c4a35ff5ac2", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 91472, "upload_time": "2016-05-12T17:20:37", "url": "https://files.pythonhosted.org/packages/3f/7e/b6fa21fda860d4e4cfe3a234ba3f7daa07d81851b6bdfefe2dfed3941101/ruamel.ordereddict-0.4.9-cp26-cp26mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "bf381d8e63a029a6a1c8b0daf6e84703", "sha256": "cf9823028d9921fc7814e4eeb1d838130e3f0fdc54163a014dbc745b8c70b958" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp26-none-win32.whl", "has_sig": false, "md5_digest": "bf381d8e63a029a6a1c8b0daf6e84703", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 33762, "upload_time": "2015-08-14T14:26:13", "url": "https://files.pythonhosted.org/packages/01/e7/fc17609d0b741b0d80d4563927af29da20593dda5f86ead824b8c421d2c7/ruamel.ordereddict-0.4.9-cp26-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "4354de93e8efda81bc180d9152fd373e", "sha256": "6c2ecae18cca87962a6208fba644206b4fe917c0c743d33e99703e83a7003d3f" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp26-none-win_amd64.whl", "has_sig": false, "md5_digest": "4354de93e8efda81bc180d9152fd373e", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 37404, "upload_time": "2015-08-14T14:26:17", "url": "https://files.pythonhosted.org/packages/06/1a/1cde92a0d6c06e1817813896c9945081f4d4caacfdc001bbb7ff6fa30e25/ruamel.ordereddict-0.4.9-cp26-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "bd1e36b8026d91ba292a4e8d5f117d01", "sha256": "4fcd59f6ad00d99a2ef2384bea9ea06d82752eafa7116e0eeb32012167330d43" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "bd1e36b8026d91ba292a4e8d5f117d01", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 99435, "upload_time": "2016-05-12T17:20:48", "url": "https://files.pythonhosted.org/packages/b1/51/eeadef3400c8e56c00de9bc969b36f805c93802c719fe883383ed848ec23/ruamel.ordereddict-0.4.9-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cec11e099c9acbcb252f5bdfeb44e307", "sha256": "e9fee1d9aec682c06457d9e12b7d09d5bca16a142721a6f4309ff171532dfb6b" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "cec11e099c9acbcb252f5bdfeb44e307", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 99433, "upload_time": "2016-05-12T17:21:01", "url": "https://files.pythonhosted.org/packages/96/4b/5251bf469f37e49e0c92f841b5b3ef01a1c9d652cc018df470e5ae235eb8/ruamel.ordereddict-0.4.9-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b05acdee4f28ffdf8750f87edeacee36", "sha256": "1232f0ac644e10edac1de32ecf9ad60f15ce706b4416e4edfcf1a557f6759142" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp27-none-win32.whl", "has_sig": false, "md5_digest": "b05acdee4f28ffdf8750f87edeacee36", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 34885, "upload_time": "2015-08-14T14:26:20", "url": "https://files.pythonhosted.org/packages/86/e1/945e31169c420234e3ce45d1347687f19a003b7cdc0ec83efe0d16ee78e0/ruamel.ordereddict-0.4.9-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "b6a8b29b8e853d3acc5f811ae8ff4c22", "sha256": "cc7b09683d606eb5da712668c46fa178fc816ad0dca67c662846c445561d3d6d" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "b6a8b29b8e853d3acc5f811ae8ff4c22", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 38582, "upload_time": "2015-08-14T14:26:25", "url": "https://files.pythonhosted.org/packages/bb/68/e1fd0fcb3d1058843c690b797348d068d473ff1bd14534d4c3a572390b35/ruamel.ordereddict-0.4.9-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "d160714193a0ec470cc26f614b1aa0e7", "sha256": "7058c470f131487a3039fb9536dda9dd17004a7581bdeeafa836269a36a2b3f6" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.9.tar.gz", "has_sig": false, "md5_digest": "d160714193a0ec470cc26f614b1aa0e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53707, "upload_time": "2015-08-14T14:25:58", "url": "https://files.pythonhosted.org/packages/b1/17/97868578071068fe7d115672b52624d421ff24e5e802f65d6bf3ea184e8f/ruamel.ordereddict-0.4.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6087a75b7dfce7215595db4b1073f538", "sha256": "7324310945c6b47218255b5d75ccbc74d435221c44652ec4406b1a871ddc3bc3" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "6087a75b7dfce7215595db4b1073f538", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 33775, "upload_time": "2019-07-27T07:58:24", "url": "https://files.pythonhosted.org/packages/04/d9/8a30be51c7ee4a928e1e07e6d8f2634687d304dabfe8cd92d56e0399d48a/ruamel.ordereddict-0.4.14-cp27-cp27m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9b7f83d9c251f4525d79d847a6b3e7bb", "sha256": "4cd0ec38dac57a4054dda14b0a5eea1a877dcc73106131ef08513fb89ba95a22" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "9b7f83d9c251f4525d79d847a6b3e7bb", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 93301, "upload_time": "2019-07-27T07:58:26", "url": "https://files.pythonhosted.org/packages/33/c1/3319972ce668b98733647ba69c29781248ee6d63bb387731401030ed7f23/ruamel.ordereddict-0.4.14-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b9d4bab4b5cbb8a6a10c3672a50c0c6c", "sha256": "4375a70d5d217069a8349bf5fbc27aa4cf1aedfbf03ce94df113b75d22d1a1e2" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "b9d4bab4b5cbb8a6a10c3672a50c0c6c", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 93297, "upload_time": "2019-07-27T07:58:28", "url": "https://files.pythonhosted.org/packages/8c/d6/4971e55c60b972160b911368fa4cd756d68739b6616b0cb57d09d8a6ee18/ruamel.ordereddict-0.4.14-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "8636109bfaeba801c5010b18d0b0d35f", "sha256": "4f641c4de9082866b9e88497ad8050dca38c5ddbb8cb7ae9316da9db257092b2" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-win32.whl", "has_sig": false, "md5_digest": "8636109bfaeba801c5010b18d0b0d35f", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28729, "upload_time": "2019-07-27T07:58:30", "url": "https://files.pythonhosted.org/packages/81/f0/78bddf0bad1c2b1c43f455bf927bbe0de35646dcacee1e3a14ed2f3affe5/ruamel.ordereddict-0.4.14-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "70cfaa8ce897b10f8bd41ff6e47b3cb8", "sha256": "36fe0af3a02a0e1199447d050e6c3a1f5bd4c7d68e4c260f6a7a058fb4da71cb" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14-cp27-cp27m-win_amd64.whl", "has_sig": false, "md5_digest": "70cfaa8ce897b10f8bd41ff6e47b3cb8", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 32426, "upload_time": "2019-07-27T07:58:32", "url": "https://files.pythonhosted.org/packages/c4/ca/779dffdca6f1379c5dc4a15b08cc734aac3505e4c36b07376c9139a16db0/ruamel.ordereddict-0.4.14-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "e0723a39e81fdf5d986d892dc5a94bb8", "sha256": "281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a" }, "downloads": -1, "filename": "ruamel.ordereddict-0.4.14.tar.gz", "has_sig": false, "md5_digest": "e0723a39e81fdf5d986d892dc5a94bb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60892, "upload_time": "2019-07-27T07:58:34", "url": "https://files.pythonhosted.org/packages/7d/fd/522c4722347aaf01e6bc8cce486130d83c52c72d3c3c2bbe3cbb02dddd4d/ruamel.ordereddict-0.4.14.tar.gz" } ] }