base
base ¶
Base module for named objects and their collections. Provides common functionality for serialization and management of named objects.
NamedObject ¶
Bases: BaseModel
Base class for named objects with serialization support.
Attributes:
Name | Type | Description |
---|---|---|
type |
str
|
Name of object class type (computed field) |
name |
str
|
Name of the object |
Configuration
model_config (ConfigDict): Pydantic model configuration
NamedObjectHash ¶
Bases: BaseModel
Dictionary of named objects with type checking and conflict prevention.
Attributes:
Name | Type | Description |
---|---|---|
objects |
dict
|
Dictionary of named objects |
deserialize_objects
classmethod
¶
Deserialize objects during validation.
Source code in src/data_handlers/base.py
get_object ¶
get_object(name: str) -> NamedObject
get_object_names ¶
get_objects ¶
get_objects() -> Iterable[NamedObject]
register_object ¶
register_object(obj: NamedObject) -> Self
Register a named object. Checks for naming conflicts.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
obj
|
NamedObject
|
Object to register |
required |
Raises:
Type | Description |
---|---|
ValueError
|
If object with same name exists |
Source code in src/data_handlers/base.py
NamedObjectList ¶
Bases: BaseModel
List of named objects with type checking.
Attributes:
Name | Type | Description |
---|---|---|
objects |
list
|
List of named objects |
Example
__getitem__ ¶
__getitem__(idx: int) -> NamedObject
__iter__ ¶
__iter__() -> Iterable[NamedObject]
append ¶
append(obj: NamedObject) -> Self
Append a single object to the list.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
obj
|
NamedObject
|
Object to append |
required |
Returns:
Name | Type | Description |
---|---|---|
Self |
Self
|
Returns self for chaining |
extend ¶
extend(objects: Iterable[NamedObject]) -> Self
Extend list with multiple objects.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
objects
|
Iterable[NamedObject]
|
Objects to add |
required |
Returns:
Name | Type | Description |
---|---|---|
Self |
Self
|
Returns self for chaining |
Source code in src/data_handlers/base.py
from_iterable
classmethod
¶
from_iterable(iterable: Iterable[NamedObject]) -> Self
Create instance from an iterable of named objects.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
iterable
|
Iterable[NamedObject]
|
Objects to add to list |
required |
Returns:
Name | Type | Description |
---|---|---|
Self |
Self
|
New instance containing the objects |
Source code in src/data_handlers/base.py
get_object ¶
get_object(name: str) -> NamedObject
Get a registered object by name.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Name of the object to retrieve |
required |
Returns:
Name | Type | Description |
---|---|---|
NamedObject |
NamedObject
|
The requested object |
Raises:
Type | Description |
---|---|
KeyError
|
If no object exists with the given name |
Source code in src/data_handlers/base.py
get_objects ¶
get_objects() -> Iterable[NamedObject]
Get all registered objects.
Returns:
Type | Description |
---|---|
Iterable[NamedObject]
|
Iterable[NamedObject]: Iterator over all stored objects |
Example
Source code in src/data_handlers/base.py
register_object ¶
register_object(obj: NamedObject) -> Self
Register a named object to the list with duplicate name checking.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
obj
|
NamedObject
|
Object to register |
required |
Returns:
Name | Type | Description |
---|---|---|
Self |
Self
|
Returns self for method chaining |
Raises:
Type | Description |
---|---|
ValueError
|
If an object with the same name already exists |
Source code in src/data_handlers/base.py
ObjectRegistry ¶
Generic registry for named object types.
Stores object types for deserialization from JSON files. Types are stored at the class level for consistent access across modules.
Types are stored at the class level for consistent access across modules.
Methods:
Name | Description |
---|---|
register |
Register an object type |
get |
Get an object type by name |
get_all |
Get all registered object types |
get
classmethod
¶
get(category: str, name: str) -> Type[NamedObject]
Get an object type by category and name.
Source code in src/data_handlers/base.py
get_all
classmethod
¶
get_all(category: str) -> list[Type[NamedObject]]
get_registry
classmethod
¶
get_registry(category: str) -> Dict[str, Type[NamedObject]]
Get or create registry for a category.
Source code in src/data_handlers/base.py
register
classmethod
¶
register(category: str, obj_type: Type[NamedObject]) -> None
Register an object type in its category.