99from functools import lru_cache , partial
1010from importlib .resources import files as importlib_files
1111from pathlib import Path
12- from typing import TYPE_CHECKING , Any
12+ from typing import TYPE_CHECKING , Any , Literal
1313
1414from packaging import version
1515
@@ -49,7 +49,11 @@ class ValidationError(ValueError):
4949# to fit the needs of ESMValCore. Matplotlib is licenced under the terms of
5050# the the 'Python Software Foundation License'
5151# (https://www.python.org/psf/license)
52- def _make_type_validator (cls : Any , * , allow_none : bool = False ) -> Any :
52+ def _make_type_validator (
53+ cls : Any , # noqa: ANN401
54+ * ,
55+ allow_none : bool = False ,
56+ ) -> Callable :
5357 """Construct a type validator for `cls`.
5458
5559 Return a validator that converts inputs to *cls* or raises (and
@@ -363,7 +367,9 @@ def validate_extra_facets_dir(value):
363367 return validate_pathlist (value )
364368
365369
366- def validate_projects (value : Any ) -> Any :
370+ def validate_projects (
371+ value : dict ,
372+ ) -> dict [str , dict [str , Any ]]:
367373 """Validate projects mapping."""
368374 mapping = validate_dict (value )
369375 options_for_project : dict [str , Callable [[Any ], Any ]] = {
@@ -446,8 +452,8 @@ def _handle_deprecation(
446452# TODO: remove in v2.15.0
447453def deprecate_extra_facets_dir (
448454 validated_config : ValidatedConfig ,
449- value : Any ,
450- validated_value : Any ,
455+ value : str | Path ,
456+ validated_value : str | Path ,
451457) -> None :
452458 """Deprecate ``extra_facets_dir`` option.
453459
@@ -483,8 +489,8 @@ def deprecate_extra_facets_dir(
483489
484490def deprecate_rootpath (
485491 validated_config : ValidatedConfig ,
486- value : Any ,
487- validated_value : Any ,
492+ value : dict ,
493+ validated_value : dict ,
488494) -> None :
489495 """Deprecate ``rootpath`` option.
490496
@@ -510,8 +516,8 @@ def deprecate_rootpath(
510516
511517def deprecate_drs (
512518 validated_config : ValidatedConfig , # noqa: ARG001
513- value : Any , # noqa: ARG001
514- validated_value : Any , # noqa: ARG001
519+ value : dict , # noqa: ARG001
520+ validated_value : dict , # noqa: ARG001
515521) -> None :
516522 """Deprecate ``drs`` option.
517523
@@ -531,8 +537,8 @@ def deprecate_drs(
531537
532538def deprecate_download_dir (
533539 validated_config : ValidatedConfig , # noqa: ARG001
534- value : Any , # noqa: ARG001
535- validated_value : Any , # noqa: ARG001
540+ value : str | Path , # noqa: ARG001
541+ validated_value : str | Path , # noqa: ARG001
536542) -> None :
537543 """Deprecate ``download_dir`` option.
538544
@@ -552,8 +558,8 @@ def deprecate_download_dir(
552558
553559def deprecate_search_esgf (
554560 validated_config : ValidatedConfig ,
555- value : Any , # noqa: ARG001
556- validated_value : Any ,
561+ value : Literal [ "never" , "when_missing" , "always" ] , # noqa: ARG001
562+ validated_value : Literal [ "never" , "when_missing" , "always" ] ,
557563) -> None :
558564 """Deprecate ``search_esgf`` option.
559565
0 commit comments