88from typing import (
99 Any ,
1010 Dict ,
11+ get_type_hints ,
1112 Hashable ,
1213 List ,
1314 Literal ,
2223# dependencies
2324import numpy as np
2425import xarray as xr
25- from typing_extensions import ParamSpec , get_type_hints
26+ from typing_extensions import ParamSpec
2627
2728
2829# submodules
@@ -133,7 +134,7 @@ def __post_init__(self) -> None:
133134 if model .names :
134135 setattr (self , "name" , model .names [0 ].value )
135136
136- def __call__ (self , reference : Optional [AnyXarray ] = None ) -> xr .DataArray :
137+ def __call__ (self , reference : Optional [AnyXarray ] = None ) -> xr .DataArray : # pyright: ignore[reportUnknownParameterType]
137138 """Create a DataArray object according to the entry."""
138139 from .dataarray import asdataarray
139140
@@ -187,12 +188,12 @@ def from_dataclass(cls, dataclass: AnyDataClass[PInit]) -> "DataModel":
187188 model = cls ()
188189 eval_dataclass (dataclass )
189190
190- for field in dataclass .__dataclass_fields__ .values ():
191- value = getattr (dataclass , field .name , MISSING )
192- entry = get_entry (field , value )
191+ for field_value in dataclass .__dataclass_fields__ .values ():
192+ value = getattr (dataclass , field_value .name , MISSING )
193+ entry = get_entry (field_value , value )
193194
194195 if entry is not None :
195- model .entries [field .name ] = entry
196+ model .entries [field_value .name ] = entry
196197
197198 return model
198199
@@ -203,10 +204,10 @@ def eval_dataclass(dataclass: AnyDataClass[PInit]) -> None:
203204 if not is_dataclass (dataclass ):
204205 raise TypeError ("Not a dataclass or its object." )
205206
206- fields = dataclass .__dataclass_fields__ .values ()
207+ field_values = dataclass .__dataclass_fields__ .values ()
207208
208209 # do nothing if field types are already evaluated
209- if not any (isinstance (field .type , str ) for field in fields ):
210+ if not any (isinstance (field_value .type , str ) for field_value in field_values ):
210211 return
211212
212213 # otherwise, replace field types with evaluated types
@@ -215,8 +216,8 @@ def eval_dataclass(dataclass: AnyDataClass[PInit]) -> None:
215216
216217 types = get_type_hints (dataclass , include_extras = True )
217218
218- for field in fields :
219- field .type = types [field .name ]
219+ for field_value in field_values :
220+ field_value .type = types [field_value .name ]
220221
221222
222223def get_entry (field : AnyField , value : Any ) -> Optional [AnyEntry ]:
@@ -250,11 +251,11 @@ def get_entry(field: AnyField, value: Any) -> Optional[AnyEntry]:
250251 )
251252
252253
253- def get_typedarray (
254+ def get_typedarray ( # pyright: ignore[reportUnknownParameterType]
254255 data : Any ,
255256 dims : Dims ,
256- dtype : Optional [AnyDType ],
257- reference : Optional [AnyXarray ] = None ,
257+ dtype : Optional [AnyDType ], # pyright: ignore[reportUnknownParameterType]
258+ reference : Optional [AnyXarray ] = None , # pyright: ignore[reportUnknownParameterType]
258259) -> xr .DataArray :
259260 """Create a DataArray object with given dims and dtype.
260261
0 commit comments