diff --git a/simple_parsing/helpers/subgroups.py b/simple_parsing/helpers/subgroups.py index 8b16794c..7cf9ec66 100644 --- a/simple_parsing/helpers/subgroups.py +++ b/simple_parsing/helpers/subgroups.py @@ -3,6 +3,7 @@ import functools import inspect import typing +from collections.abc import Mapping from dataclasses import _MISSING_TYPE, MISSING from enum import Enum from logging import getLogger as get_logger @@ -21,7 +22,7 @@ @overload def subgroups( - subgroups: dict[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], + subgroups: Mapping[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], *args, default: Key | DataclassT, default_factory: _MISSING_TYPE = MISSING, @@ -32,7 +33,7 @@ def subgroups( @overload def subgroups( - subgroups: dict[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], + subgroups: Mapping[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], *args, default: _MISSING_TYPE = MISSING, default_factory: type[DataclassT] | functools.partial[DataclassT], @@ -43,7 +44,7 @@ def subgroups( @overload def subgroups( - subgroups: dict[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], + subgroups: Mapping[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], *args, default: _MISSING_TYPE = MISSING, default_factory: _MISSING_TYPE = MISSING, @@ -53,7 +54,7 @@ def subgroups( def subgroups( - subgroups: dict[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], + subgroups: Mapping[Key, DataclassT | type[DataclassT] | functools.partial[DataclassT]], *args, default: Key | DataclassT | _MISSING_TYPE = MISSING, default_factory: type[DataclassT] | functools.partial[DataclassT] | _MISSING_TYPE = MISSING,