PlasmaCalcs.quantities.quantity_tools.DecoratingPatterns
- class PlasmaCalcs.quantities.quantity_tools.DecoratingPatterns(known_calcs=None)
Bases:
DecoratingCalcsDecoratingVars 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.