The benefits from using Metaflow are now outweighed by the issues and lack of customization (logging for example) forcing us into complex workarounds.
Since we do not use much of the Metaflow features (we've only used Metaflow for the structure of the Pipelines), we do not have a lot of code that depends on it.
The required code changes will mostly be needed on the Pipelines side.
Those change will also allow us to have more control over the execution of Pipelines (logging, profiling, branching, ...)
It will remove 1 level of indirection in the execution stack since Metaflow is always run as a subprocess call (it cannot be called within Python by design).
The benefits from using Metaflow are now outweighed by the issues and lack of customization (logging for example) forcing us into complex workarounds.
Since we do not use much of the Metaflow features (we've only used Metaflow for the structure of the Pipelines), we do not have a lot of code that depends on it.
The required code changes will mostly be needed on the Pipelines side.
Those change will also allow us to have more control over the execution of Pipelines (logging, profiling, branching, ...)
It will remove 1 level of indirection in the execution stack since Metaflow is always run as a subprocess call (it cannot be called within Python by design).