The Plugin Management System

Todo

This part will come in with the full description of the plugin system in the next PR. -J.C. 05/07/19

class vivarium.framework.plugins.PluginGroup(controller, builder_interface)[source]
Parameters:
controller: Manager | ComponentConfigurationParser
builder_interface: Interface
exception vivarium.framework.plugins.PluginConfigurationError[source]

Error raised when plugin configuration is incorrectly specified.

class vivarium.framework.plugins.PluginManager(plugin_configuration=None)[source]
Parameters:

plugin_configuration (dict[str, dict[str, dict[str, str]]] | LayeredConfigTree | None)

property name: str
get_plugin(manager_type)[source]
Return type:

TypeVar(M, bound= Manager)

Parameters:

manager_type (type[M])

get_plugin_from_name(name)[source]
Return type:

Manager

Parameters:

name (str)

get_interface_from_name(name)[source]
Return type:

Interface

Parameters:

name (str)

get_plugin_interface(interface_type)[source]
Return type:

TypeVar(I, bound= Interface)

Parameters:

interface_type (type[I])

get_optional_controllers()[source]
Return type:

dict[str, Manager]

get_optional_interfaces()[source]
Return type:

dict[str, Interface]

get_component_config_parser()[source]
Return type:

ComponentConfigurationParser

get_manager_name(manager_type)[source]
Return type:

str

Parameters:

manager_type (type[Manager])

get_interface_name(interface_type)[source]
Return type:

str

Parameters:

interface_type (type[Interface])

get_manager_type_from_name(name)[source]
Return type:

type[Manager]

Parameters:

name (str)

get_interface_type_from_name(name)[source]
Return type:

type[Interface]

Parameters:

name (str)