Cawdrey

Travis Build Status Documentation Status PyPI PyPI - Python Version Conda Coverage License GitHub top language

A collection of useful custom dictionaries for Python.

Contents

  • frozendict: An immutable dictionary that cannot be changed after creation.
  • FrozenOrderedDict: An immutable OrderedDict where the order of keys is preserved, but that cannot be changed after creation.
  • AlphaDict: A FrozenOrderedDict where the keys are stored in alphabetical order.
  • bdict: A dictionary where key, value pairs are stored both ways round.

This package also provides two base classes for creating your own custom dictionaries:

  • FrozenBase: An Abstract Base Class for Frozen dictionaries.
  • MutableBase: An Abstract Base Class for mutable dictionaries.

Other Dictionary Packages

If you’re looking to unflatten a dictionary, such as to go from this:

{'foo.bar': 'val'}

to this:

check out unflatten, flattery or morph to accomplish that.

indexed provides an OrederedDict where the values can be accessed by their index as well as by their keys.

There’s also python-benedict, which provides a custom dictionary with keylist/keypath support, I/O shortcuts (Base64, CSV, JSON, TOML, XML, YAML, pickle, query-string) and many utilities.