"""
=======
Manager
=======
A base Manager class to be used to create manager for use in ``vivarium``
simulations.
"""
from typing import TYPE_CHECKING, Any, Dict
if TYPE_CHECKING:
from vivarium.framework.engine import Builder
[docs]
class Manager:
CONFIGURATION_DEFAULTS: Dict[str, Any] = {}
"""
A dictionary containing the defaults for any configurations managed by this
manager. An empty dictionary indicates no managed configurations.
"""
##############
# Properties #
##############
@property
def configuration_defaults(self) -> Dict[str, Any]:
"""
Provides a dictionary containing the defaults for any configurations
managed by this manager.
These default values will be stored at the `component_configs` layer of the
simulation's ConfigTree.
Returns
-------
Dict[str, Any]
A dictionary containing the defaults for any configurations managed by
this manager.
"""
return self.CONFIGURATION_DEFAULTS
#####################
# Lifecycle methods #
#####################
[docs]
def setup(self, builder: "Builder"):
pass