diff --git a/baybe/parameters/base.py b/baybe/parameters/base.py index d8ac2bdb2..c795b5812 100644 --- a/baybe/parameters/base.py +++ b/baybe/parameters/base.py @@ -33,7 +33,7 @@ class Parameter(ABC, SerialMixin): """Class variable encoding whether this parameter is discrete.""" # object variables - name: str = field(validator=[instance_of(str), min_len(1)]) + name: str = field(validator=(instance_of(str), min_len(1))) """The name of the parameter""" @abstractmethod diff --git a/baybe/parameters/categorical.py b/baybe/parameters/categorical.py index d26f8ed5c..8992ae27e 100644 --- a/baybe/parameters/categorical.py +++ b/baybe/parameters/categorical.py @@ -22,14 +22,13 @@ class CategoricalParameter(DiscreteParameter): # See base class. # object variables - # FIXME[typing]: https://github.com/python-attrs/attrs/issues/1197 _values: Tuple[str, ...] = field( converter=tuple, - validator=[ + validator=( min_len(2), - validate_unique_values, # type: ignore - deep_iterable(member_validator=[instance_of(str), min_len(1)]), - ], + validate_unique_values, + deep_iterable(member_validator=(instance_of(str), min_len(1))), + ), ) # See base class. diff --git a/baybe/parameters/substance.py b/baybe/parameters/substance.py index 3a21fec2a..f4f4e704b 100644 --- a/baybe/parameters/substance.py +++ b/baybe/parameters/substance.py @@ -46,7 +46,7 @@ class SubstanceParameter(DiscreteParameter): data: Dict[str, Smiles] = field( validator=deep_mapping( mapping_validator=min_len(2), - # TODO: Create cattrs issue for required `and_` and value/key_validator + # FIXME[typing]: https://github.com/python-attrs/attrs/issues/1206 key_validator=and_(instance_of(str), min_len(1)), value_validator=lambda *x: None, )