Hey! As we grow metaflow adoption internally at my...
# ask-metaflow
i
Hey! As we grow metaflow adoption internally at my org one common area of feedback is that it is unclear about what artifacts are passed between steps and what the types of those artifacts may be. For example to check an artifacts existence in a later step typically I need a
getattr(self, "attribute", None)
which feels not great because the type checker cannot interpret this and infer the type. Also at the end step it would be great if I could output an overall output of the flow using
return
. Is this feedback known already? Is there already a way to do this using modern python typecheckers? I am big fan of typed outputs and inputs and have taken inspiration from other python graph libraries like https://pydantic.dev/docs/ai/graph/graph/#graph Love the tool. Let me know if this is the wrong place to give this feedback. I can also make a PR/Issue with some ideas I have if that is helpful
h
Thanks for the feedback! Yes we are aware of this, and have plans to address it. Happy to see your ideas if you have thought about this already and we can compare notes. As to whether it's possible right now, there's nothing in core but I was playing with this: https://github.com/npow/metaflow-contracts
d
Great feedback. We are investigating function like steps as well. Nothing there et but hopefully soon.
(On top of what Nissan said)
i
Amazing thanks for letting me know. That contracts project seems interesting, I will play around with that. I am not too opinionated so I can share more once I figure out something that feels ergonomic to me. Appreciate it.