wardrobe

Stack-based datastructures: StackedDict.


Keywords
stack, dict, context
License
BSD-3-Clause
Install
pip install wardrobe==0.1

Documentation

########
wardrobe
########

wardrobe is a Python project about datastructures to manage contexts. It
currently provides one class: StackedDict.

StackedDict is a dictionary-like object with additional methods to
save the current state (commit) and restore it (reset).

Example:

::

  >>> from wardrobe import StackedDict
  >>> clark = StackedDict(top='blue bodysuit', bottom='red underpants',
  ...                     sex_appeal=True)
  >>> clark['bottom']
  'red underpants'
  >>> clark['friend'] = 'Lois'
  >>> dict(clark) == {'top': 'blue bodysuit',
  ...                 'bottom': 'red underpants',
  ...                 'friend': 'Lois',
  ...                 'sex_appeal': True}
  True
  >>> clark.commit()  # doctest: +ELLIPSIS
  <wardrobe.stackeddict.StackedDict object at 0x...>
  >>> clark.update({'top': 'shirt', 'bottom': 'jeans', 'head': 'glasses'})
  >>> del clark['sex_appeal']
  >>> dict(clark) == {'top': 'shirt',
  ...                 'bottom': 'jeans',
  ...                 'head': 'glasses',
  ...                 'friend': 'Lois'}
  True
  >>> clark.reset()  # doctest: +ELLIPSIS
  <wardrobe.stackeddict.StackedDict object at 0x...>
  >>> dict(clark) == {'top': 'blue bodysuit',
  ...                 'bottom': 'red underpants',
  ...                 'friend': 'Lois',
  ...                 'sex_appeal': True}
  True

wardrobe.StackedDict is useful to create context objects, like Django's
django.template.context:Context objects.


**********
Ressources
**********

* online documentation: http://wardrobe.readthedocs.org
* PyPI page: http://pypi.python.org/pypi/wardrobe
* code repository: https://github.com/benoitbryon/wardrobe
* bugtracker: https://github.com/benoitbryon/wardrobe/issues