PlasmaCalcs.quantities.quantity_tools.DecoratingPatterns

class PlasmaCalcs.quantities.quantity_tools.DecoratingPatterns(known_calcs=None)

Bases: DecoratingCalcs

DecoratingVars but for patterns; name should be an re.Pattern (or str; and will apply re.compile()),
and decorated functions will always be provided a value for kwarg _match=re.match(name, var).
deps values might contain ints; that indicates the dependency is at that group index.
E.g. ‘(.*)_([xyz])’ would put deps=[0] since it matches {var}_{x} and depends on {var}.
__init__(known_calcs=None)

Methods

__init__([known_calcs])

decorator([name, deps, aliases, dims, ...])

track_f(f, *[, name, aliases, deps, ...])

decorator(name=None, deps=[], *, aliases=[], dims=None, load_across_dims=None, ignores_dims=[], reduces_dims=[], partition_across_dim=None, partition_deps=None)
decorates f(self, var, *, _match=None) like DecoratingCalcs.decorator, but also:
- name is treated as a Pattern (re.compile() it if necessary)
- returned function will determine _match via Pattern.fullmatch, if necessary.
(This way, the function can be called directly, though that is usually discouraged.)
loadable_quantity_cls

alias of LoadablePattern

track_f(f, *, name=None, aliases=[], deps=[], attr_deps=[], value_deps=[], dims=None, ignores_dims=[], reduces_dims=[])
add f to self.known_calcs as a LoadableQuantity.
See help(self.decorator) for details on parameters.