Skip to main content
Version: Main branch

special_dicts

superduper.misc.special_dicts

Source code

recursive_update​

recursive_update(data,
replace_function: Callable)
ParameterDescription
dataDict, List, Tuple, Set
replace_functionCallable

Recursively update data with a replace function.

diff​

diff(r1,
r2)
ParameterDescription
r1Dict
r2Dict

Get the difference between two dictionaries.

_diff({'a': 1, 'b': 2}, {'a': 2, 'b': 2})
# {'a': (1, 2)}
_diff({'a': {'c': 3}, 'b': 2}, {'a': 2, 'b': 2})
# {'a': ({'c': 3}, 2)}

recursive_find​

recursive_find(data,
check_function: Callable)
ParameterDescription
dataDict, List, Tuple, Set
check_functionCallable

Recursively find items in data that satisfy a check function.

MongoStyleDict​

MongoStyleDict(self,
/,
*args,
**kwargs)
ParameterDescription
args*args for dict
kwargs**kwargs for dict

Dictionary object mirroring how MongoDB handles fields.

SuperDuperFlatEncode​

SuperDuperFlatEncode(self,
*args,
**kwargs)
ParameterDescription
args*args for dict
kwargs**kwargs for dict

Dictionary for representing flattened encoding data.

ArgumentDefaultDict​

ArgumentDefaultDict(self,
*args,
default_factory,
**kwargs)
ParameterDescription
args*args for dict
default_factoryCallable used to create default dependent on key
kwargs**kwargs for dict

Default-dictionary which takes the key as an argument to default factory.

IndexableDict​

IndexableDict(self,
ordered_dict)
ParameterDescription
ordered_dictOrderedDict

IndexableDict.

# Example:
# -------
d = IndexableDict({'a': 1, 'b': 2})
d[0]
# 1
d[1]
# 2