bencher.class_enum

Attributes

T

Classes

ClassEnum

A string-based enum class that maps enum values to corresponding class instances.

BaseClass

Base class for the ClassEnum example.

Class1

Example subclass 1 for the ClassEnum demonstration.

Class2

Example subclass 2 for the ClassEnum demonstration.

ExampleEnum

An example implementation of ClassEnum.

Module Contents

bencher.class_enum.T
class bencher.class_enum.ClassEnum

Bases: strenum.StrEnum

A string-based enum class that maps enum values to corresponding class instances.

ClassEnum is a pattern to make it easier to create a factory method that converts from an enum value to a corresponding class instance. Subclasses should implement the to_class() method which takes an enum value and returns an instance of the corresponding class.

This pattern is useful for configuration-driven class instantiation, allowing classes to be selected via string configuration values that match enum names.

classmethod to_class_generic(module_import: str, class_name: str) Any

Create an instance of a class from its module path and class name.

This utility method dynamically imports a module and instantiates a class from it.

Parameters:
  • module_import (str) – The module path to import (e.g., “bencher.class_enum”)

  • class_name (str) – The name of the class to instantiate

Returns:

A new instance of the specified class

Return type:

Any

classmethod to_class(enum_val: ClassEnum) Any
Abstractmethod:

Convert an enum value to its corresponding class instance.

Subclasses must override this method to implement the mapping from enum values to class instances.

Parameters:

enum_val (ClassEnum) – The enum value to convert to a class instance

Returns:

An instance of the class corresponding to the enum value

Return type:

Any

Raises:

NotImplementedError – If this method is not overridden by a subclass

class bencher.class_enum.BaseClass

Base class for the ClassEnum example.

A simple dataclass that serves as the base class for the ClassEnum example classes.

baseclassname

A name for the base class

Type:

str

baseclassname: str = 'class0'
class bencher.class_enum.Class1

Bases: BaseClass

Example subclass 1 for the ClassEnum demonstration.

classname

A name for this class

Type:

str

classname: str = 'class1'
class bencher.class_enum.Class2

Bases: BaseClass

Example subclass 2 for the ClassEnum demonstration.

classname

A name for this class

Type:

str

classname: str = 'class2'
class bencher.class_enum.ExampleEnum

Bases: ClassEnum

An example implementation of ClassEnum.

This enum demonstrates how to use ClassEnum to map enum values to class instances. Each enum value corresponds to a class name that can be instantiated.

Class1
Class2
classmethod to_class(enum_val: ExampleEnum) BaseClass

Convert an ExampleEnum value to its corresponding class instance.

Parameters:

enum_val (ExampleEnum) – The enum value to convert

Returns:

An instance of either Class1 or Class2, depending on the enum value

Return type:

BaseClass