xsimlab.process¶
-
xsimlab.
process
(maybe_cls=None, autodoc=True, apply_attrs=True) → Type[Process]¶ A class decorator that adds everything needed to use the class as a process.
A process represents a logical unit in a computational model.
A process class usually implements:
An interface as a set of variables defined as class attributes (see, e.g.,
variable()
,foreign()
,on_demand()
,group()
, etc.). When the class is used within aModel
object, this decorator automatically adds properties to get/set values for these variables.One or more methods among
initialize()
,run_step()
,finalize_step()
andfinalize()
, which are called at different stages of a simulation and perform some computation based on the variables defined in the process interface.Decorated methods to compute, validate or set a default value for one or more variables.
- Parameters
maybe_cls (class, optional) – Allows to apply this decorator to a class either as
@process
or@process(*args)
.autodoc (bool, optional) – If True (default), automatically adds an attributes section to the docstring of the class to which the decorator is applied, using the metadata of each variable declared in the class.
apply_attrs (bool, optional) – If True (default), applies the
attr.s()
decorator to the class. Set it to False if the class is already decorated byattr.s
.