class documentation

Helper class implementing nested dict+attr access for `.Config`. Specifically, is used both for `.Config` itself, and to wrap any other dicts assigned as config values (recursively). .. warning:: All methods (of this object or in subclasses) must take care to initialize new attributes via ``self._set(name='value')``, or they'll run into recursion errors! .. versionadded:: 1.0

Class Method from_data Alternate constructor for 'baby' DataProxies used as sub-dict values.
Method __contains__ Undocumented
Method __delattr__ Undocumented
Method __delitem__ Undocumented
Method __eq__ Undocumented
Method __getattr__ Undocumented
Method __getitem__ Undocumented
Method __iter__ Undocumented
Method __len__ Undocumented
Method __repr__ Undocumented
Method __setattr__ Undocumented
Method __setitem__ Undocumented
Method clear Undocumented
Method pop Undocumented
Method popitem Undocumented
Method setdefault Undocumented
Method update Undocumented
Method _get Undocumented
Method _set Convenience workaround of default 'attrs are config keys' behavior.
Method _track_modification_of Undocumented
Method _track_removal_of Undocumented
Class Variable _proxies Undocumented
Property _is_leaf Undocumented
Property _is_root Undocumented
@classmethod
def from_data(cls, data, root=None, keypath=tuple()): (source)

Alternate constructor for 'baby' DataProxies used as sub-dict values. Allows creating standalone DataProxy objects while also letting subclasses like `.Config` define their own ``__init__`` without muddling the two. :param dict data: This particular DataProxy's personal data. Required, it's the Data being Proxied. :param root: Optional handle on a root DataProxy/Config which needs notification on data updates. :param tuple keypath: Optional tuple describing the path of keys leading to this DataProxy's location inside the ``root`` structure. Required if ``root`` was given (and vice versa.) .. versionadded:: 1.0

def __contains__(self, key): (source)

Undocumented

def __delattr__(self, name): (source)

Undocumented

def __delitem__(self, key): (source)

Undocumented

def __eq__(self, other): (source)

Undocumented

def __getattr__(self, key): (source)

Undocumented

def __getitem__(self, key): (source)

Undocumented

def __iter__(self): (source)

Undocumented

def __len__(self): (source)

Undocumented

def __repr__(self): (source)

Undocumented

def __setattr__(self, key, value): (source)

Undocumented

def __setitem__(self, key, value): (source)

Undocumented

def clear(self): (source)

Undocumented

def pop(self, *args): (source)

Undocumented

def popitem(self): (source)

Undocumented

def setdefault(self, *args): (source)

Undocumented

def update(self, *args, **kwargs): (source)

Undocumented

def _get(self, key): (source)

Undocumented

def _set(self, *args, **kwargs): (source)

Convenience workaround of default 'attrs are config keys' behavior. Uses `object.__setattr__` to work around the class' normal proxying behavior, but is less verbose than using that directly. Has two modes (which may be combined if you really want): - ``self._set('attrname', value)``, just like ``__setattr__`` - ``self._set(attname=value)`` (i.e. kwargs), even less typing.

def _track_modification_of(self, key, value): (source)

Undocumented

def _track_removal_of(self, key): (source)

Undocumented

_proxies = (source)

Undocumented

Undocumented

Undocumented