BaseArtifactimplementation and give it a unique
pd.DataFrame, we will take advantage of our materializers to figure our what kind of artifacts you are dealing with.
PandasMaterializeris only associated with
pd.DataFrames however it has the option to interpret this dataframe either as a
SchemaArtifact. As the
DataArtifactis the first element in the list, it has a priority and unless it is specified otherwise, all the
pd.DataFrameinput and output annotations will yield a
pd.DataFrames. In the step decorator, we explicitly handle
SchemaArtifact, whereas the
output_2will become a
DataArtifactdue to the default behavior.