Update to GT4Py v1.1.8: adapt type hints (and ignores)#1096
Update to GT4Py v1.1.8: adapt type hints (and ignores)#1096
Conversation
|
cscs-ci run default |
|
cscs-ci run distributed |
|
cscs-ci run default |
|
cscs-ci run distributed |
## Description Partner-PR in icon4py: C2SM/icon4py#1096 (make sure this passes tests first) Radically reduce the amount of required type ignores in client code which uses the `from gt4py import next as gtx` pattern. Add a mypy plugin, which (when used) can also remove false positives for `Field[Dims[SomeDim], ...]`, where 'SomeDim' is an **instance** of `Dimension` (as mandated by gt4py), as well as false positives for missing binary ops between `float64` and `float` fields / scalars. - fixes #2496 - fixes #2503 Experimenting with this in icon4py reveals more ways in which gt4py blocks client code type checking, which have not been addressed in this PR so far: - [x] #2507 - [x] subtly different versions of #2507 where mypy reports a mismatch in dtypes, which have not been looked into further so far ## Requirements - [X] All fixes and/or new features come with corresponding tests. - [X] Important design decisions have been documented in the appropriate ADR inside the [docs/development/ADRs/](docs/development/ADRs/README.md) folder. --------- Co-authored-by: Enrique González Paredes <enriqueg@cscs.ch>
|
cscs-ci run default |
|
cscs-ci run distributed |
|
cscs-ci run dace |
|
cscs-ci run default |
|
cscs-ci run default |
| def get_float(self, name: str) -> float: | ||
| return float(self.get(name, type_=factory.RetrievalType.SCALAR)) |
There was a problem hiding this comment.
wondering if this should return wpfloat?
|
cscs-ci run default |
|
cscs-ci run default |
|
cscs-ci run default |
|
Mandatory Tests Please make sure you run these tests via comment before you merge!
Optional Tests To run benchmarks you can use:
To run tests and benchmarks with the DaCe backend you can use:
To run test levels ignored by the default test suite (mostly simple datatest for static fields computations) you can use:
For more detailed information please look at CI in the EXCLAIM universe. |
havogt
left a comment
There was a problem hiding this comment.
The new functions get_int32 and get_wpfloat should probably be removed again and the typing around factory.get improved by making the type part of the object that is used to retrieve the information.
Reduce blanket type ignores at the price of adding a handful specific ones.