After a break of almost a year there has been an update to `odict the Ordered Dictionary <http://www.voidspace.org.uk/python/odict.html>`_.
The latest version is 0.2.2, with changes implemented by Nicola Larosa. Despite over 700 downloads since May (plus 1300 as part of `pythonutils <http://www.voidspace.org.uk/python/pythonutils.html>`_) there have been no bug reports, only improvements [#]_. {sm;:-)} * `Quick Download <http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=odict.py>`_ What is odict? ========== **odict** is a pure Python implementation of an ordered dictionary. It keeps keys in insertion order and allows you to change the order. Methods (including iteration) that would return members in an arbitrary order are now ordered. There is also the `SequenceOrderedDict <http://www.voidspace.org.uk/python/odict.html#sequenceordereddict>`_ that behaves like a sequence as well as a dictionary. It allows slicing and the keys, values and items methods are special sequence objects (which are also callable and so behave as methods too). What's New ? ========== Code ------- Removed the TODO and CHANGELOG sections in the tail docstring (they are in the docs anyway). Disabled warnings during tests. Explicitly disabled tests execution on Python v.2.2 . In addition to the slicing tests, other ones are failing. Removed code duplication between the ``__init__`` and the ``update`` methods. Misc. cleanup. Also, based on code from `Tim Wegener`_: - added the ``rename`` method; - removed a ``has_key`` usage in the ``__setitem__`` method. Documentation ---------------------- Moved the ISSUES chapter from code's tail docstring to here. Moved up the `Creating an Ordered Dictionary <http://www.voidspace.org.uk/python/odict.html#creating-an-ordered-dictionary>`_ chapter. Added prompts to the code examples and removed the superfluous print statements (sometimes they were there, sometimes they were not). Misc. cleanup. .. [#] So either no-one is using it, or it's really good... -- http://mail.python.org/mailman/listinfo/python-list