from abc import ABC, abstractmethod
from zenml.stack import StackComponent
class BaseStepOperator(StackComponent, ABC):
"""Base class for all ZenML step operators."""
entrypoint_command: List[str],
"""Abstract method to execute a step.
Concrete step operator subclasses must implement the following
functionality in this method:
- Prepare the execution environment and install all the necessary
- Launch a **synchronous** job that executes the `entrypoint_command`
pipeline_name: Name of the pipeline which the step to be executed
run_name: Name of the pipeline run which the step to be executed
entrypoint_command: Command that executes the step.
requirements: List of pip requirements that must be installed
inside the step operator environment.
# Write custom logic here.