BaseStepOperator
is the abstract base class that needs to be subclassed in order to run specific steps of your pipeline in a separate environment. As step operators can come in many shapes and forms, the base class exposes a deliberately simple and generic interface:StackComponent
, it inherits from the StackComponent
class. This sets the TYPE
variable to the specific StackComponentType
.FLAVOR
class variable needs to be set in subclasses as it is meant to identify the implementation flavor of the particular step operator.abstractmethod
called launch()
. In the implementation of every step operator flavor, the launch()
method is responsible for preparing the environment and executing the step.azureml
, sagemaker
and vertex
integrations.BaseStepOperator
.FLAVOR
class variable.launch()
method. This method has two main responsibilities:pip
dependencies. The list of requirements needed to successfully execute the step is passed in via the requirements
argument of the launch()
method. Additionally, you'll have to make sure that all the source code of your ZenML step and pipeline are available within this execution environment.zenml.step_operators.entrypoint
module. As long as your environment was set up correctly (see the previous bullet point), you can run the step using the command provided via the entrypoint_command
argument of the launch()
method.