Common utilities for engine platforms.


  • NodeLoader: Node loader utility class for platform engines.
class topology.platforms.utils.NodeLoader(engine_name, api_version='1.0', base_class=None)

Node loader utility class for platform engines.

This class allows to load nodes for a platform engine using Python entry points.

  • engine_name (str) – Name of the engine.
  • api_version (str) – Version of the API for that engine node.
  • base_class (class) – Base class to check against. Any class specified here must comply with the BaseNode.


Inheritance diagram of NodeLoader


List all available nodes types.

This function lists all available node types by discovering installed plugins registered in the entry point. This can be costly or error prone if a plugin misbehave. Because of this a cache is stored after the first call.

Parameters:cache (bool) – If True return the cached result. If False force reload of all plugins registered for the entry point.
Return type:OrderedDict
Returns:An ordered dictionary associating the name of the node type and the class (subclass of topology.platforms.node.BaseNode) implementing it.