benchmarkstt.factory module

%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#e7f2fa', 'lineColor': '#2980B9' }}}%% classDiagram CoreFactory ClassConfig Factory ClassConfigTuple <|-- ClassConfig Registry <|-- Factory class ClassConfigTuple { <<namedtuple>> name cls docs optional_args required_args } class ClassConfig { __new__(name, docs, optional_args, required_args)$ } class Factory { <<mapping>> <<contains>> <<iterable>> +create(alias, *args, **kwargs) +is_valid(tocheck) +keys() +register(alias=None) +register_classname(name, alias=None) +register_namespace(namespace) +unregister(key) base_class namespaces=None methods=None normalize_class_name(clsname)$ } class CoreFactory { <<mapping>> <<contains>> <<iterable>> +create(*args, **kwargs) +is_valid(*args, **kwargs) +keys() +register(*args, **kwargs) add_supported_namespace(namespace)$ base_class allow_duck=None }
class benchmarkstt.factory.ClassConfig(name, cls, docs, optional_args, required_args)[source]

Bases: benchmarkstt.factory.ClassConfigTuple

property docs

Alias for field number 2

class benchmarkstt.factory.CoreFactory(base_class, allow_duck=None)[source]

Bases: object

classmethod add_supported_namespace(namespace)[source]
create(*args, **kwargs)[source]
is_valid(*args, **kwargs)[source]
keys()[source]
register(*args, **kwargs)[source]
class benchmarkstt.factory.Factory(base_class, namespaces=None, methods=None)[source]

Bases: benchmarkstt.registry.Registry

Factory class with auto-loading of namespaces according to a base class.

create(alias, *args, **kwargs)[source]
is_valid(tocheck)[source]

Checks that tocheck is a valid class extending base_class

Parameters

tocheck -- The class to check

Return type

bool

static normalize_class_name(clsname)[source]

Normalizes the class name for automatic lookup of a class, by default this means lowercasing the class name, but may be overrided by a child class.

Parameters

clsname -- The class name

Returns

The normalized class name

Return type

str

register(cls, alias=None)[source]

Register an alias for a class

Parameters
  • cls (self.base_class) --

  • alias (str|None) -- The alias to use when trying to get the class back, by default will use normalized class name.

Returns

None

register_classname(name, alias=None)[source]
register_namespace(namespace)[source]

Registers all valid classes from a given namespace

Parameters

namespace (str|module) --