HierarchicalMixin

class app.util.mixins.hierarchical.HierarchicalMixin[source]

Bases: HierarchicalMixinMinimal

Mixin that adds parent/child hierarchy support to a class.

Provides instance_parent and instance_hierarchy properties, allowing objects to be organized in a tree structure. Used for logging, naming, and configuration inheritance in pygaindalf.

Inheritance diagram of HierarchicalMixin

Inheritance Diagram for HierarchicalMixin

Methods

__init__(*args[, instance_parent])

Initialize the mixin and set the instance parent.

Attributes

ALLOW_CHANGING_INSTANCE_PARENT

HIERARCHICAL_MIXIN_ATTRIBUTE

instance_parent

Get the instance parent.

ALLOW_CHANGING_INSTANCE_PARENT: ClassVar[bool] = False
HIERARCHICAL_MIXIN_ATTRIBUTE: ClassVar[str] = '__parent'
__init__(*args, instance_parent: ParentType | None = None, **kwargs) None[source]

Initialize the mixin and set the instance parent.

Parameters:
  • instance_parent (ParentType | None) – Optional parent for the instance.

  • *args – Additional positional arguments for superclasses.

  • **kwargs – Additional keyword arguments for superclasses.

Return type:

None

property instance_parent: ParentType | None

Get the instance parent.

Returns:

The parent object.

Return type:

ParentType