Item factory enables registering, creating, and listing items. It is a singleton class.
Source code in neuralspot_edge/utils/factory.py
| def __init__(self):
self._items = {}
|
Functions
shared
classmethod
shared(factory: str) -> ItemFactory
Get the shared instance of the factory
Returns:
Source code in neuralspot_edge/utils/factory.py
| @classmethod
def shared(cls, factory: str) -> "ItemFactory":
"""Get the shared instance of the factory
Returns:
ItemFactory: shared instance
"""
return cls(singleton=factory)
|
register
register(name: str, item: T) -> None
Register an item
Parameters:
Source code in neuralspot_edge/utils/factory.py
| def register(self, name: str, item: T) -> None:
"""Register an item
Args:
name (str): Unique item name
item (T): Item
"""
self._items[name] = item
|
unregister
unregister(name: str) -> None
Unregister an item
Parameters:
Source code in neuralspot_edge/utils/factory.py
| def unregister(self, name: str) -> None:
"""Unregister an item
Args:
name (str): Item name
"""
self._items.pop(name, None)
|
list
List registered items
Returns:
Source code in neuralspot_edge/utils/factory.py
| def list(self) -> list[str]:
"""List registered items
Returns:
list[str]: item names
"""
return list(self._items.keys())
|
get
Get an item
Parameters:
Returns:
Source code in neuralspot_edge/utils/factory.py
| def get(self, name: str) -> T:
"""Get an item
Args:
name (str): Item name
Returns:
T: Item
"""
return self._items[name]
|
has
Check if an item is registered
Parameters:
Returns:
-
bool ( bool
) –
True if item is registered
Source code in neuralspot_edge/utils/factory.py
| def has(self, name: str) -> bool:
"""Check if an item is registered
Args:
name (str): Item name
Returns:
bool: True if item is registered
"""
return name in self._items
|