from metaflow import step, FlowSpec, kubernetes, parallel

class ParallelTestFlow(FlowSpec):
    @step
    def start(self):
        print("Starting 👋")
        self.next(self.process, num_parallel=2)

    @parallel
    @kubernetes
    @step
    def process(self):
        print("Processing...")
        self.next(self.join)

    @step
    def join(self, inputs):
        print("Joining!")
        self.next(self.end)

    @step
    def end(self):
        print("Done! 🏁")


if __name__ == "__main__":
    ParallelTestFlow()
