flattree.api module

class flattree.api.FlatTree(*trees, root=None, sep='.', esc='\', aliases=None, default=None, raise_key_error=False)

Main tool to work with nested dictionaries using “flat” keys.

Flat keys are path-like strings with key components joined by “sep”: e.g. ‘level01.level02.level03.leaf’ where dot is a sep.

*trees

flat or regular trees, merged initialization

root

flat key prefix (puts tree in branch rather than root)

Type:str
sep

symbol to use when joining key components

Type:str
esc

symbol to escape sep in key components

Type:str
aliases

dictionary in a form of {alias: flat_key}. Aliases are flat key shortcuts.

default

value to return if key is not found during dictionary access when raise_key_error is not set

raise_key_error

if True, raise exception rather than return default

classmethod flatten(*trees, root=None, sep='.', esc='\\')

Merges nested dictionaries into a flat key dictionary.

get(k[, d]) → D[k] if k in D, else d. d defaults to None.
tree

Regular tree dynamically recovered from the flat tree.

update_aliases(aliases)

Updates alias dictionary, removes aliases if value is None

Parameters:aliases – new aliases