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}.

Methods

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

decorates f(self, var, *, _match=None) like DecoratingCalcs.decorator, but also:

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

add f to self.known_calcs as a LoadableQuantity.

decorator(name=None, deps=[], *, aliases=[], dims=None, load_across_dims=None, ignores_dims=[], reduces_dims=[], partition_across_dim=None, partition_deps=None, **kw_decorator)

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.