Shortcuts

Utilities

Tools

Frozen Class

Frozen class. Example of usage can be found in catalyst.core.state.State.

class catalyst.tools.frozen_class.FrozenClass[source]

Bases: object

Class which prohibit __setattr__ on existing attributes.

Examples

>>> class State(FrozenClass):

Registry

Registry. .. todo:: Representative docstring for this module

class catalyst.tools.registry.Registry(default_name_key: str, default_meta_factory: Callable[[Union[Type[CT_co], Callable[[...], Any]], Tuple, Mapping[KT, VT_co]], Any] = <function _default_meta_factory>)[source]

Bases: collections.abc.MutableMapping

Universal class allowing to add and access various factories by name.

__init__(default_name_key: str, default_meta_factory: Callable[[Union[Type[CT_co], Callable[[...], Any]], Tuple, Mapping[KT, VT_co]], Any] = <function _default_meta_factory>)[source]
Parameters:
  • default_name_key (str) – Default key containing factory name when creating from config
  • default_meta_factory (MetaFactory) – default object that calls factory. Optional. Default just calls factory.
add(factory: Union[Type[CT_co], Callable[[...], Any]] = None, *factories, name: str = None, **named_factories) → Union[Type[CT_co], Callable[[...], Any]][source]

Adds factory to registry with it’s __name__ attribute or provided name. Signature is flexible.

Parameters:
  • factory – Factory instance
  • factories – More instances
  • name – Provided name for first instance. Use only when pass single instance.
  • named_factories – Factory and their names as kwargs
Returns:

First factory passed

Return type:

(Factory)

add_from_module(module, prefix: Union[str, List[str]] = None) → None[source]

Adds all factories present in module. If __all__ attribute is present, takes ony what mentioned in it.

Parameters:
  • module – module to scan
  • prefix (Union[str, List[str]]) – prefix string for all the module’s factories. If prefix is a list, all values will be treated as aliases.
all() → List[str][source]
Returns:list of names of registered items
get(name: str) → Union[Type[CT_co], Callable[[...], Any], None][source]

Retrieves factory, without creating any objects with it or raises error.

Parameters:name – factory name
Returns:factory by name
Return type:Factory
get_from_params(*, meta_factory=None, **kwargs) → Union[Any, Tuple[Any, Mapping[str, Any]]][source]

Creates instance based in configuration dict with instantiation_fn. If config[name_key] is None, None is returned.

Parameters:
  • meta_factory – Function that calls factory the right way. If not provided, default is used.
  • **kwargs – additional kwargs for factory
Returns:

result of calling instantiate_fn(factory, **config)

get_if_str(obj: Union[str, Type[CT_co], Callable[[...], Any]])[source]

Returns object from the registry if obj type is string.

get_instance(name: str, *args, meta_factory=None, **kwargs)[source]

Creates instance by calling specified factory with instantiate_fn.

Parameters:
  • name – factory name
  • meta_factory – Function that calls factory the right way. If not provided, default is used
  • args – args to pass to the factory
  • **kwargs – kwargs to pass to the factory
Returns:

created instance

late_add(cb: Callable[[Registry], None])[source]

Allows to prevent cycle imports by delaying some imports till next registry query.

Parameters:cb – Callback receives registry and must call it’s methods to register factories
len() → int[source]
Returns:length of registered items
exception catalyst.tools.registry.RegistryException(message)[source]

Bases: Exception

Exception class for all registry errors.

__init__(message)[source]

Init.

Parameters:message – exception message

Time Manager

Simple timer.

class catalyst.tools.time_manager.TimeManager[source]

Bases: object

@TODO: Docs. Contribution is welcome.

__init__()[source]

@TODO: Docs. Contribution is welcome.

reset() → None[source]

Reset all previous timers.

start(name: str) → None[source]

Starts timer name.

Parameters:name (str) – name of a timer
stop(name: str) → None[source]

Stops timer name.

Parameters:name (str) – name of a timer
Read the Docs v: latest
Versions
latest
stable
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.