3030import attrs .validators as av
3131
3232if TYPE_CHECKING :
33- from collections .abc import Callable , Iterable
33+ from collections .abc import Callable , Iterable , Sequence
3434
3535__all__ = [
3636 "ArgumentError" ,
@@ -50,7 +50,7 @@ def __dir__() -> list[str]:
5050av_opt_list_str = av .optional (
5151 av .deep_iterable (
5252 member_validator = av .instance_of (str ),
53- iterable_validator = attrs . validators .instance_of (list ),
53+ iterable_validator = av . not_ ( av .instance_of (str ) ),
5454 )
5555)
5656av_bool = av .instance_of (bool )
@@ -63,16 +63,16 @@ class NoxOptions:
6363 error_on_external_run : bool = attrs .field (validator = av_bool )
6464 error_on_missing_interpreters : bool = attrs .field (validator = av_bool )
6565 force_venv_backend : None | str = attrs .field (validator = av_opt_str )
66- keywords : None | list [str ] = attrs .field (validator = av_opt_list_str )
67- pythons : None | list [str ] = attrs .field (validator = av_opt_list_str )
66+ keywords : None | Sequence [str ] = attrs .field (validator = av_opt_list_str )
67+ pythons : None | Sequence [str ] = attrs .field (validator = av_opt_list_str )
6868 report : None | str = attrs .field (validator = av_opt_str )
6969 reuse_existing_virtualenvs : bool = attrs .field (validator = av_bool )
7070 reuse_venv : None | Literal ["no" , "yes" , "never" , "always" ] = attrs .field (
7171 validator = av .optional (av .in_ (["no" , "yes" , "never" , "always" ]))
7272 )
73- sessions : None | list [str ] = attrs .field (validator = av_opt_list_str )
73+ sessions : None | Sequence [str ] = attrs .field (validator = av_opt_list_str )
7474 stop_on_first_error : bool = attrs .field (validator = av_bool )
75- tags : None | list [str ] = attrs .field (validator = av_opt_list_str )
75+ tags : None | Sequence [str ] = attrs .field (validator = av_opt_list_str )
7676 verbose : bool = attrs .field (validator = av_bool )
7777
7878
0 commit comments