Open jlopezpena opened 8 months ago
Sorry for necroing this, but Python 3.14 alpha 1 got released, and among the major new features it has PEP 649 - deferred evaluation of annotations, which means the behaviour of from __future__ import annotations
(stringified annotations) will become the default in python 3.14. This will break zenml
use of annotations in steps and pipelines, so this issue will be a blocker for python 3.14 compatibility
@jlopezpena Thanks for the information, we'll definitely have to rework this once 3.14 is released. I don't think this will be a quick/easy fix though, so we probably won't get to it before that unfortunately.
@schustmi of course, no rush from my side (I am aware of the issue and know how to sidestep it), just wanted to point out that it will become a blocker so that you can provision accordingly, since as you said this is likely to require some major reworks of the pipeline building code
Contact Details [Optional]
No response
System Information
What happened?
Developing a new pipeline, I added a helper method to refactor one of the steps. In order to type-hint that helper method (which returns a pandas Series, so the type hint needed to be
pd.Series[float]
) I added at the top of the file where the step was defined the lineThis caused my pipeline to stop working, with the very confusing error
Reproduction steps
from __future__ import annotations
to the file defining some pipeline steps, and the pipeline run will break at pipeline compilation time.(I was using python 3.11.6)
Relevant log output
Code of Conduct