FrozenDict#

class muse.variables_schema.FrozenDict#

Bases: dict

A read-only dict subclass.

Unlike types.MappingProxyType, instances are picklable, which keeps frozen defaults usable with multiprocessing. The mapping itself stays read-only across a pickle round-trip, but numpy or astropy.units.Quantity values it holds regain their writable flag on unpickle; this is harmless because each process operates on its own copy.

Methods Summary

clear(*_args, **_kwargs)

Remove all items from the dict.

pop(k[,d])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem(*_args, **_kwargs)

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

setdefault(*_args, **_kwargs)

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

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E.keys(): 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]

Methods Documentation

clear(*_args, **_kwargs)#

Remove all items from the dict.

pop(
k[,
d,]
) v, remove specified key and return the corresponding value.#

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem(*_args, **_kwargs)#

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(*_args, **_kwargs)#

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 mapping/iterable E and F.#

If E is present and has a .keys() method, then does: for k in E.keys(): 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]