Mario is an open-source Scala library for defining complex data pipelines (such as machine learning pipelines) in a functional, typesafe, and declarative style. It enforces acyclic pipeline graphs, runs steps concurrently, and guarantees each step executes exactly once.
It is most valuable when constructing multi-stage data transformations, ETL jobs, or machine learning pipelines in Scala where steps have dependencies, need concurrent execution, and type safety is important.