Skip to content

Enums

zenml.enums

ZenML enums.

AnalyticsEventSource (StrEnum)

Enum to identify analytics events source.

Source code in zenml/enums.py
class AnalyticsEventSource(StrEnum):
    """Enum to identify analytics events source."""

    ZENML_GO = "zenml go"
    ZENML_SERVER = "zenml server"

AnnotationTasks (StrEnum)

Supported annotation tasks.

Source code in zenml/enums.py
class AnnotationTasks(StrEnum):
    """Supported annotation tasks."""

    IMAGE_CLASSIFICATION = "image_classification"
    OBJECT_DETECTION_BOUNDING_BOXES = "object_detection_bounding_boxes"

ArtifactType (StrEnum)

All possible types an artifact can have.

Source code in zenml/enums.py
class ArtifactType(StrEnum):
    """All possible types an artifact can have."""

    DATAANALYSIS = "DataAnalysisArtifact"
    DATA = "DataArtifact"
    MODEL = "ModelArtifact"
    SCHEMA = "SchemaArtifact"
    SERVICE = "ServiceArtifact"
    STATISTICS = "StatisticsArtifact"
    BASE = "BaseArtifact"

CliCategories (StrEnum)

All possible categories for CLI commands.

Note: The order of the categories is important. The same order is used to sort the commands in the CLI help output.

Source code in zenml/enums.py
class CliCategories(StrEnum):
    """All possible categories for CLI commands.

    Note: The order of the categories is important. The same
    order is used to sort the commands in the CLI help output.
    """

    STACK_COMPONENTS = "Stack Components"
    MODEL_DEPLOYMENT = "Model Deployment"
    INTEGRATIONS = "Integrations"
    MANAGEMENT_TOOLS = "Management Tools"
    IDENTITY_AND_SECURITY = "Identity and Security"
    OTHER_COMMANDS = "Other Commands"

ContainerRegistryFlavor (StrEnum)

Flavors of container registries.

Source code in zenml/enums.py
class ContainerRegistryFlavor(StrEnum):
    """Flavors of container registries."""

    DEFAULT = "default"
    GITHUB = "github"
    DOCKERHUB = "dockerhub"
    GCP = "gcp"
    AZURE = "azure"

ExecutionStatus (StrEnum)

Enum that represents the current status of a step or pipeline run.

Source code in zenml/enums.py
class ExecutionStatus(StrEnum):
    """Enum that represents the current status of a step or pipeline run."""

    FAILED = "failed"
    COMPLETED = "completed"
    RUNNING = "running"
    CACHED = "cached"

    @staticmethod
    def run_status(step_statuses: List["ExecutionStatus"]) -> "ExecutionStatus":
        """Returns the overall run status based on the list of step statuses.

        Args:
            step_statuses: A list of step statuses.

        Returns:
            The overall run status.
        """
        if ExecutionStatus.FAILED in step_statuses:
            return ExecutionStatus.FAILED
        if ExecutionStatus.RUNNING in step_statuses:
            return ExecutionStatus.RUNNING
        return ExecutionStatus.COMPLETED

LoggingLevels (Enum)

Enum for logging levels.

Source code in zenml/enums.py
class LoggingLevels(Enum):
    """Enum for logging levels."""

    NOTSET = logging.NOTSET
    ERROR = logging.ERROR
    WARN = logging.WARN
    INFO = logging.INFO
    DEBUG = logging.DEBUG
    CRITICAL = logging.CRITICAL

PermissionType (StrEnum)

All permission types.

Source code in zenml/enums.py
class PermissionType(StrEnum):
    """All permission types."""

    # ANY CHANGES TO THIS ENUM WILL NEED TO BE DONE TOGETHER WITH A DB MIGRATION
    WRITE = "write"  # allows the user to create, update, delete everything
    READ = "read"  # allows the user to read everything
    ME = "me"  # allows the user to self administrate (change name, password...)

SecretValidationLevel (StrEnum)

Secret validation levels.

Source code in zenml/enums.py
class SecretValidationLevel(StrEnum):
    """Secret validation levels."""

    SECRET_AND_KEY_EXISTS = "SECRET_AND_KEY_EXISTS"
    SECRET_EXISTS = "SECRET_EXISTS"
    NONE = "NONE"

ServerProviderType (StrEnum)

ZenML server providers.

Source code in zenml/enums.py
class ServerProviderType(StrEnum):
    """ZenML server providers."""

    LOCAL = "local"
    DOCKER = "docker"
    AWS = "aws"
    GCP = "gcp"
    AZURE = "azure"

StackComponentType (StrEnum)

All possible types a StackComponent can have.

Source code in zenml/enums.py
class StackComponentType(StrEnum):
    """All possible types a `StackComponent` can have."""

    ALERTER = "alerter"
    ANNOTATOR = "annotator"
    ARTIFACT_STORE = "artifact_store"
    CONTAINER_REGISTRY = "container_registry"
    DATA_VALIDATOR = "data_validator"
    EXPERIMENT_TRACKER = "experiment_tracker"
    FEATURE_STORE = "feature_store"
    MODEL_DEPLOYER = "model_deployer"
    ORCHESTRATOR = "orchestrator"
    SECRETS_MANAGER = "secrets_manager"
    STEP_OPERATOR = "step_operator"

    @property
    def plural(self) -> str:
        """Returns the plural of the enum value.

        Returns:
            The plural of the enum value.
        """
        if self == StackComponentType.CONTAINER_REGISTRY:
            return "container_registries"

        return f"{self.value}s"

StoreType (StrEnum)

Repository Store Backend Types.

Source code in zenml/enums.py
class StoreType(StrEnum):
    """Repository Store Backend Types."""

    SQL = "sql"
    REST = "rest"