gemseo.utils.enumeration module#

Enumerations tools.

merge_enums(name, base_enum_class, *enums, doc='')[source]#

Create an enum from other ones.

This is useful because an enum class cannot be derived for extension with other enum items.

Parameters:
  • name (str) -- The name of the enum class to create.

  • base_enum_class (EnumMeta) -- The base enum class to derive from.

  • *enums (type[Enum]) -- The enum classes to be merged in.

  • doc (str) --

    The new enum class docstring.

    By default it is set to "".

Returns:

The created enum class.

Return type:

EnumMeta