enhomie.utils package#

Subpackages#

Submodules#

enhomie.utils.child module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

exception enhomie.utils.child.InvalidChild(child: str | HomieChild, phase: Literal['initial', 'runtime'], about: str | None = None)[source]#

Bases: Exception

Exception for when the child could not be instantiated.

Note

Similar or identical to classes in other projects.

Parameters:
  • child – Name or child that is determined invalid.

  • phase – From which phase child was found invalid.

  • about – Additional information for the exception.

about: str | None = None#
child: str#
phase: Literal['initial', 'runtime']#

enhomie.utils.param module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

exception enhomie.utils.param.InvalidParam(error: Literal['minimal', 'invalid', 'missing', 'noexist'], about: str | None = None, *, child: HomieChild | None = None, param: str | None = None, value: Any | None = None)[source]#

Bases: Exception

Exception for after invalid parameters are encountered.

Note

Similar or identical to classes in other projects.

Parameters:
  • error – Simple code describing the invalid error.

  • about – Additional information for the exception.

  • child – Child class instance for Homie Automate.

  • param – Name of the parameter which is not valid.

  • value – Value if any specified for the parameter.

about: str | None = None#
child: HomieChild | None = None#
error: Literal['minimal', 'invalid', 'missing', 'noexist']#
param: str | None = None#
value: Any | None = None#

enhomie.utils.raises module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

exception enhomie.utils.raises.Idempotent[source]#

Bases: Exception

Exception when action was not taken due to idempotency.

exception enhomie.utils.raises.MultipleSource[source]#

Bases: Exception

Exception when action was not taken due to idempotency.

exception enhomie.utils.raises.UnexpectedCondition[source]#

Bases: Exception

Exception when action was not taken due to idempotency.

enhomie.utils.tests module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enhomie.utils.tests.TestBodies(planets: tuple[Literal['jupiter', 'neptune'], ...] = ('jupiter', 'neptune'), moons: tuple[tuple[Literal['jupiter', 'neptune'], Literal['ganymede', 'halimede']], ...] = (('jupiter', 'ganymede'), ('neptune', 'halimede')))[source]#

Bases: object

Contain the planets used to reference test sample sets.

moons: tuple[tuple[Literal['jupiter', 'neptune'], Literal['ganymede', 'halimede']], ...] = (('jupiter', 'ganymede'), ('neptune', 'halimede'))#
planets: tuple[Literal['jupiter', 'neptune'], ...] = ('jupiter', 'neptune')#
class enhomie.utils.tests.TestTimes(start: Time = Time('2025-06-21T02:00:00.000000+0000'), middle: Time = Time('2025-06-27T02:00:00.000000+0000'), final: Time = Time('2025-06-28T01:00:00.000000+0000'), current: Time = Time('2025-06-28T02:39:32.107387+0000'))[source]#

Bases: object

Contain the times used within various tests in project.

current: Time = Time('2025-06-28T02:39:32.107387+0000')#
final: Time = Time('2025-06-28T01:00:00.000000+0000')#
middle: Time = Time('2025-06-27T02:00:00.000000+0000')#
start: Time = Time('2025-06-21T02:00:00.000000+0000')#

Module contents#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

exception enhomie.utils.Idempotent[source]#

Bases: Exception

Exception when action was not taken due to idempotency.

exception enhomie.utils.InvalidChild(child: str | HomieChild, phase: Literal['initial', 'runtime'], about: str | None = None)[source]#

Bases: Exception

Exception for when the child could not be instantiated.

Note

Similar or identical to classes in other projects.

Parameters:
  • child – Name or child that is determined invalid.

  • phase – From which phase child was found invalid.

  • about – Additional information for the exception.

about: str | None = None#
child: str#
phase: Literal['initial', 'runtime']#
exception enhomie.utils.InvalidParam(error: Literal['minimal', 'invalid', 'missing', 'noexist'], about: str | None = None, *, child: HomieChild | None = None, param: str | None = None, value: Any | None = None)[source]#

Bases: Exception

Exception for after invalid parameters are encountered.

Note

Similar or identical to classes in other projects.

Parameters:
  • error – Simple code describing the invalid error.

  • about – Additional information for the exception.

  • child – Child class instance for Homie Automate.

  • param – Name of the parameter which is not valid.

  • value – Value if any specified for the parameter.

about: str | None = None#
child: HomieChild | None = None#
error: Literal['minimal', 'invalid', 'missing', 'noexist']#
param: str | None = None#
value: Any | None = None#
exception enhomie.utils.MultipleSource[source]#

Bases: Exception

Exception when action was not taken due to idempotency.

class enhomie.utils.TestBodies(planets: tuple[Literal['jupiter', 'neptune'], ...] = ('jupiter', 'neptune'), moons: tuple[tuple[Literal['jupiter', 'neptune'], Literal['ganymede', 'halimede']], ...] = (('jupiter', 'ganymede'), ('neptune', 'halimede')))[source]#

Bases: object

Contain the planets used to reference test sample sets.

moons: tuple[tuple[Literal['jupiter', 'neptune'], Literal['ganymede', 'halimede']], ...] = (('jupiter', 'ganymede'), ('neptune', 'halimede'))#
planets: tuple[Literal['jupiter', 'neptune'], ...] = ('jupiter', 'neptune')#
class enhomie.utils.TestTimes(start: Time = Time('2025-06-21T02:00:00.000000+0000'), middle: Time = Time('2025-06-27T02:00:00.000000+0000'), final: Time = Time('2025-06-28T01:00:00.000000+0000'), current: Time = Time('2025-06-28T02:39:32.107387+0000'))[source]#

Bases: object

Contain the times used within various tests in project.

current: Time = Time('2025-06-28T02:39:32.107387+0000')#
final: Time = Time('2025-06-28T01:00:00.000000+0000')#
middle: Time = Time('2025-06-27T02:00:00.000000+0000')#
start: Time = Time('2025-06-21T02:00:00.000000+0000')#
exception enhomie.utils.UnexpectedCondition[source]#

Bases: Exception

Exception when action was not taken due to idempotency.