Comments (2)
Annotated
can take multiple metadata values - https://docs.python.org/3/library/typing.html#typing.Annotated
Multiple metadata elements can be supplied (Annotated supports variadic arguments):
@dataclass
class ctype:
kind: str
Annotated[int, ValueRange(3, 10), ctype("char")]
It is up to the tool consuming the annotations to decide whether the client is allowed to add multiple metadata elements to one annotation and how to merge those annotations.
Hera doesn't explicitly support multiple annotations at the moment (as we just check get_args(annotation)[1]
), but it should work as long as Parameter
or Artifact
is the first piece of metadata according to code such as
hera/src/hera/workflows/_runner/script_annotations_util.py
Lines 154 to 155 in 345e687
from hera.
Closing this as the immediate question has been answered - we can add a new issue to explicitly add multiple Annotated
elements support if needed
from hera.
Related Issues (20)
- TemplateNameConflict error on hera==5.16.1 HOT 1
- Issue: Incorrect `env` Structure in `initContainers` Generated by Hera HOT 2
- CLI does not correctly generate script templates that use the runner
- New dag/steps decorators issues/inconsistencies
- Add argo linting for examples
- Add runner debug mode for extra logging HOT 1
- Artifact name should be optional for runner inputs
- Custom serialization for non-user types and non-serializable types for Hera runner HOT 1
- Cannot run script with tuple annotation in return type HOT 1
- Arguments do not build correctly when using a dict
- DAGs/Steps cannot be added to TemplateSets
- Validate Input/Output class for new decorator functions at build time
- Locally-runnable DAG breaks down for complex examples
- Support Literal types in script runner
- Mypy call-arg errors when using script decorator HOT 7
- Mypy misc error using new Workflow/TemplateSet decorators
- Difficult to use script functions in fully type-safe code
- Fields silently ignored in Pydantic I/O types HOT 1
- Cannot output a non-serialisable Artifact using Pydantic IO HOT 2
- Allow using Pydantic I/O in with-based code HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hera.