Vue d'ensemble

Metaflow 2.11, publie le 15 janvier 2024, introduit le Deployer pour simplifier le deploiement de workflows en production.

Fonctionnalites principales

Deployer

Le Deployer permet de deployer des flows Metaflow sur des orchestrateurs (Argo, Step Functions) directement depuis Python.

python
from metaflow import FlowSpec, step

class TrainFlow(FlowSpec):
    @step
    def start(self):
        self.data = [1, 2, 3]
        self.next(self.train)

    @step
    def train(self):
        self.model = sum(self.data)
        self.next(self.end)

    @step
    def end(self):
        print(f'Result: {self.model}')

Deploiement programmatique

Le deploiement se fait via l'API Python, sans passer par la ligne de commande, facilitant l'integration CI/CD.

python
from metaflow.runner import Deployer

# Deploiement programmatique
deployer = Deployer('train_flow.py')
deployment = deployer.argo_workflows().create()

# Declencher une execution
run = deployment.trigger()
run.wait_for_completion()
print(f'Status: {run.status}')

Sources