@@ -93,6 +93,7 @@ module = [
93
93
" cftime.*" ,
94
94
" cubed.*" ,
95
95
" cupy.*" ,
96
+ " dask.types.*" ,
96
97
" fsspec.*" ,
97
98
" h5netcdf.*" ,
98
99
" h5py.*" ,
@@ -162,6 +163,41 @@ module = [
162
163
" xarray.tests.test_weighted" ,
163
164
]
164
165
166
+ # Use strict = true whenever namedarray has become standalone. In the meantime
167
+ # don't forget to add all new files related to namedarray here:
168
+ # ref: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options
169
+ [[tool .mypy .overrides ]]
170
+ # Start off with these
171
+ warn_unused_configs = true
172
+ warn_redundant_casts = true
173
+ warn_unused_ignores = true
174
+
175
+ # Getting these passing should be easy
176
+ strict_equality = true
177
+ strict_concatenate = true
178
+
179
+ # Strongly recommend enabling this one as soon as you can
180
+ check_untyped_defs = true
181
+
182
+ # These shouldn't be too much additional work, but may be tricky to
183
+ # get passing if you use a lot of untyped libraries
184
+ disallow_subclassing_any = true
185
+ disallow_untyped_decorators = true
186
+ disallow_any_generics = true
187
+
188
+ # These next few are various gradations of forcing use of type annotations
189
+ disallow_untyped_calls = true
190
+ disallow_incomplete_defs = true
191
+ disallow_untyped_defs = true
192
+
193
+ # This one isn't too hard to get passing, but return on investment is lower
194
+ no_implicit_reexport = true
195
+
196
+ # This one can be tricky to get passing if you use a lot of untyped libraries
197
+ warn_return_any = true
198
+
199
+ module = [" xarray.namedarray.*" , " xarray.tests.test_namedarray" ]
200
+
165
201
[tool .ruff ]
166
202
builtins = [" ellipsis" ]
167
203
exclude = [
0 commit comments