fromtyping_extensionsimportAnnotatedfromhera.exprimportg,itfromhera.sharedimportglobal_configfromhera.workflowsimport(Artifact,Input,Output,S3Artifact,Workflow,)global_config.experimental_features["decorator_syntax"]=True# We start by defining our Workfloww=Workflow(generate_name="data-workflow-")# This defines the template's inputsclassMyInput(Input):bucket_name:str="my-bucket"classMyOutput(Output):file:Annotated[str,Artifact(path="/file")]# We then use the decorators of the `Workflow` object# to set the entrypoint and create a Data template@w.set_entrypoint@w.data_template(source=S3Artifact(name="test-bucket",bucket=f"{g.inputs.parameters.bucket_name:$}"),transformations=[g.data.filter(it.ends_with("main.log"))],# type: ignore)defbasic_hello_world(my_input:MyInput)->MyOutput:...