enhomie.utils package#

Submodules#

enhomie.utils.child module#

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.

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

enhomie.utils.param module#

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 related to exception.

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

  • value – Value if any specified for the parameter.

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

enhomie.utils.raises module#

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 multiple sources match given parameters.

enhomie.utils.tests module#

class enhomie.utils.tests.TestTimes(start: Time = Time('2026-07-07T06:00:00.000000+0000'), middle: Time = Time('2026-07-13T06:00:00.000000+0000'), final: Time = Time('2026-07-14T05:00:00.000000+0000'), current: Time = Time('2026-07-14T06:06:45.523045+0000'))[source]#

Bases: object

Contain the times used within various tests in project.

start: Time = Time('2026-07-07T06:00:00.000000+0000')#
middle: Time = Time('2026-07-13T06:00:00.000000+0000')#
final: Time = Time('2026-07-14T05:00:00.000000+0000')#
current: Time = Time('2026-07-14T06:06:45.523045+0000')#
class enhomie.utils.tests.TestBodies(planets: tuple[Literal['jupiter', 'neptune'], ...] = ('neptune', 'jupiter'), 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.

planets: tuple[Literal['jupiter', 'neptune'], ...] = ('neptune', 'jupiter')#
moons: tuple[tuple[Literal['jupiter', 'neptune'], Literal['ganymede', 'halimede']], ...] = (('jupiter', 'ganymede'), ('neptune', 'halimede'))#

Module contents#

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.

phase: Literal['initial', 'runtime']#
child: str#
about: str | None = None#
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 related to exception.

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

  • value – Value if any specified for the parameter.

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

Bases: Exception

Exception when action was not taken due to idempotency.

exception enhomie.utils.MultipleSource[source]#

Bases: Exception

Exception when multiple sources match given parameters.

class enhomie.utils.TestTimes(start: Time = Time('2026-07-07T06:00:00.000000+0000'), middle: Time = Time('2026-07-13T06:00:00.000000+0000'), final: Time = Time('2026-07-14T05:00:00.000000+0000'), current: Time = Time('2026-07-14T06:06:45.523045+0000'))[source]#

Bases: object

Contain the times used within various tests in project.

start: Time = Time('2026-07-07T06:00:00.000000+0000')#
middle: Time = Time('2026-07-13T06:00:00.000000+0000')#
final: Time = Time('2026-07-14T05:00:00.000000+0000')#
current: Time = Time('2026-07-14T06:06:45.523045+0000')#
class enhomie.utils.TestBodies(planets: tuple[Literal['jupiter', 'neptune'], ...] = ('neptune', 'jupiter'), 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.

planets: tuple[Literal['jupiter', 'neptune'], ...] = ('neptune', 'jupiter')#
moons: tuple[tuple[Literal['jupiter', 'neptune'], Literal['ganymede', 'halimede']], ...] = (('jupiter', 'ganymede'), ('neptune', 'halimede'))#