bx.cookbook package

Submodules

Module contents

Various useful utilities, mostly taken from the ASPN Python cookbook.

class bx.cookbook.ImmutableDict(*args, **kwds)

Bases: dict

A hashable dict.

clear() None.  Remove all items from D.
popitem()

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

setdefault(k, default=None)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update([E, ]**F) None.  Update D from dict/iterable E and F.

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

class bx.cookbook.Memoize(function)

Bases: object

bx.cookbook.cachedmethod(function)
bx.cookbook.cross_lists(*sets)

Return the cross product of the arguments

bx.cookbook.flatten(*args)
class bx.cookbook.memoized(func)

Bases: object

Decorator that caches a function’s return value each time it is called. If called later with the same arguments, the cached value is returned, and not re-evaluated.