diff --git a/stdlib/_typeshed/__init__.pyi b/stdlib/_typeshed/__init__.pyi index fa6ef8150e3a..f42be80abdc0 100644 --- a/stdlib/_typeshed/__init__.pyi +++ b/stdlib/_typeshed/__init__.pyi @@ -59,12 +59,11 @@ Unused: TypeAlias = object # stable MaybeNone: TypeAlias = Any # stable # typeshed-internal type aliases to facilitate transition from -# `float` to either `float | int` or `float` (and similar for `complex`). -# When you encounter one of these type aliases, you are encouraged to -# replace them with the correct type. Please don't use them outside typeshed. +# `float` to either `float | int` or `float`. When you encounter this type +# alias, you are encouraged to replace it with the correct type. Please don't +# use it outside typeshed. # See https://github.com/python/typeshed/issues/16059 for details. FloatInt: TypeAlias = float | int -ComplexInt: TypeAlias = complex | float | int # Used to mark arguments that default to a sentinel value. This prevents # stubtest from complaining about the default value not matching. diff --git a/stdlib/ast.pyi b/stdlib/ast.pyi index f84c93e7953e..000f84093604 100644 --- a/stdlib/ast.pyi +++ b/stdlib/ast.pyi @@ -1711,7 +1711,7 @@ else: if sys.version_info < (3, 14): @deprecated("Removed in Python 3.14. Use `ast.Constant` instead.") class Num(Constant, metaclass=_ABC): - def __new__(cls, n: complex, **kwargs: Unpack[_Attributes]) -> Constant: ... # type: ignore[misc] # pyright: ignore[reportInconsistentConstructor] + def __new__(cls, n: complex | float | int, **kwargs: Unpack[_Attributes]) -> Constant: ... # type: ignore[misc] # pyright: ignore[reportInconsistentConstructor] @deprecated("Removed in Python 3.14. Use `ast.Constant` instead.") class Str(Constant, metaclass=_ABC): diff --git a/stdlib/builtins.pyi b/stdlib/builtins.pyi index 1628f1bbf760..d9f225f1bc00 100644 --- a/stdlib/builtins.pyi +++ b/stdlib/builtins.pyi @@ -428,7 +428,7 @@ class float: def __format__(self, format_spec: str, /) -> str: ... if sys.version_info >= (3, 14): @classmethod - def from_number(cls, number: float | SupportsIndex | SupportsFloat, /) -> Self: ... + def from_number(cls, number: SupportsIndex | SupportsFloat, /) -> Self: ... @disjoint_base class complex: @@ -440,23 +440,23 @@ class complex: imag: complex | SupportsFloat | SupportsIndex = 0, ) -> Self: ... @overload - def __new__(cls, real: str | SupportsComplex | SupportsFloat | SupportsIndex | complex) -> Self: ... + def __new__(cls, real: str | SupportsComplex | SupportsFloat | SupportsIndex | complex | float | int) -> Self: ... @property def real(self) -> float: ... @property def imag(self) -> float: ... def conjugate(self) -> complex: ... - def __add__(self, value: complex, /) -> complex: ... - def __sub__(self, value: complex, /) -> complex: ... - def __mul__(self, value: complex, /) -> complex: ... - def __pow__(self, value: complex, mod: None = None, /) -> complex: ... - def __truediv__(self, value: complex, /) -> complex: ... - def __radd__(self, value: complex, /) -> complex: ... - def __rsub__(self, value: complex, /) -> complex: ... - def __rmul__(self, value: complex, /) -> complex: ... - def __rpow__(self, value: complex, mod: None = None, /) -> complex: ... - def __rtruediv__(self, value: complex, /) -> complex: ... + def __add__(self, value: complex | float | int, /) -> complex: ... + def __sub__(self, value: complex | float | int, /) -> complex: ... + def __mul__(self, value: complex | float | int, /) -> complex: ... + def __pow__(self, value: complex | float | int, mod: None = None, /) -> complex: ... + def __truediv__(self, value: complex | float | int, /) -> complex: ... + def __radd__(self, value: complex | float | int, /) -> complex: ... + def __rsub__(self, value: complex | float | int, /) -> complex: ... + def __rmul__(self, value: complex | float | int, /) -> complex: ... + def __rpow__(self, value: complex | float | int, mod: None = None, /) -> complex: ... + def __rtruediv__(self, value: complex | float | int, /) -> complex: ... def __eq__(self, value: object, /) -> bool: ... def __ne__(self, value: object, /) -> bool: ... def __neg__(self) -> complex: ... @@ -469,7 +469,7 @@ class complex: def __complex__(self) -> complex: ... if sys.version_info >= (3, 14): @classmethod - def from_number(cls, number: complex | SupportsComplex | SupportsFloat | SupportsIndex, /) -> Self: ... + def from_number(cls, number: SupportsComplex | SupportsFloat | SupportsIndex, /) -> Self: ... @type_check_only class _FormatMapMapping(Protocol): @@ -2185,9 +2185,9 @@ def pow(base: float, exp: int, mod: None = None) -> float: ... # return type must be Any (same as complex base, complex exp), # as `float | complex` causes too many false-positive errors @overload -def pow(base: float, exp: complex | _SupportsSomeKindOfPow, mod: None = None) -> Any: ... +def pow(base: float, exp: complex | float | int | _SupportsSomeKindOfPow, mod: None = None) -> Any: ... @overload -def pow(base: complex, exp: complex | _SupportsSomeKindOfPow, mod: None = None) -> complex: ... +def pow(base: complex, exp: complex | float | int | _SupportsSomeKindOfPow, mod: None = None) -> complex: ... @overload def pow(base: _SupportsPow2[_E_contra, _T_co], exp: _E_contra, mod: None = None) -> _T_co: ... # type: ignore[overload-overlap] @overload @@ -2195,7 +2195,7 @@ def pow(base: _SupportsPow3NoneOnly[_E_contra, _T_co], exp: _E_contra, mod: None @overload def pow(base: _SupportsPow3[_E_contra, _M_contra, _T_co], exp: _E_contra, mod: _M_contra) -> _T_co: ... @overload -def pow(base: _SupportsSomeKindOfPow, exp: float, mod: None = None) -> Any: ... +def pow(base: _SupportsSomeKindOfPow, exp: float | int, mod: None = None) -> Any: ... @overload def pow(base: _SupportsSomeKindOfPow, exp: complex, mod: None = None) -> complex: ... diff --git a/stdlib/cmath.pyi b/stdlib/cmath.pyi index 554eb54e2e4c..36fedef8ce6e 100644 --- a/stdlib/cmath.pyi +++ b/stdlib/cmath.pyi @@ -8,8 +8,8 @@ nan: Final[float] nanj: Final[complex] tau: Final[float] -_F: TypeAlias = SupportsFloat | SupportsIndex -_C: TypeAlias = SupportsFloat | SupportsComplex | SupportsIndex | complex +_F: TypeAlias = SupportsIndex | SupportsFloat +_C: TypeAlias = SupportsIndex | SupportsFloat | SupportsComplex | int | float | complex def acos(z: _C, /) -> complex: ... def acosh(z: _C, /) -> complex: ... diff --git a/stdlib/functools.pyi b/stdlib/functools.pyi index 42041befd999..25e75b4f18f0 100644 --- a/stdlib/functools.pyi +++ b/stdlib/functools.pyi @@ -233,7 +233,7 @@ class _SingleDispatchCallable(Generic[_T]): registry: types.MappingProxyType[Any, Callable[..., _T]] def dispatch(self, cls: Any) -> Callable[..., _T]: ... - # @fun.register(complex) + # @fun.register(complex | float | int) # def _(arg, verbose=False): ... @overload def register(self, cls: _RegType, func: None = None) -> Callable[[Callable[..., _T]], Callable[..., _T]]: ... diff --git a/stdlib/optparse.pyi b/stdlib/optparse.pyi index 35dfc54a9d49..710a51c19c41 100644 --- a/stdlib/optparse.pyi +++ b/stdlib/optparse.pyi @@ -29,7 +29,7 @@ SUPPRESS_HELP: Final = "SUPPRESSHELP" SUPPRESS_USAGE: Final = "SUPPRESSUSAGE" # Can return complex, float, or int depending on the option's type -def check_builtin(option: Option, opt: str, value: str) -> complex: ... +def check_builtin(option: Option, opt: str, value: str) -> complex | float | int: ... def check_choice(option: Option, opt: str, value: str) -> str: ... class OptParseError(Exception): diff --git a/stdlib/pydoc.pyi b/stdlib/pydoc.pyi index dd9a365dff0b..9943aaa5e0d8 100644 --- a/stdlib/pydoc.pyi +++ b/stdlib/pydoc.pyi @@ -82,11 +82,11 @@ class HTMLRepr(Repr): def __init__(self) -> None: ... def escape(self, text: str) -> str: ... def repr(self, object: object) -> str: ... - def repr1(self, x: object, level: complex) -> str: ... - def repr_string(self, x: str, level: complex) -> str: ... - def repr_str(self, x: str, level: complex) -> str: ... - def repr_instance(self, x: object, level: complex) -> str: ... - def repr_unicode(self, x: AnyStr, level: complex) -> str: ... + def repr1(self, x: object, level: int) -> str: ... + def repr_string(self, x: str, level: int) -> str: ... + def repr_str(self, x: str, level: int) -> str: ... + def repr_instance(self, x: object, level: int) -> str: ... + def repr_unicode(self, x: AnyStr, level: int) -> str: ... class HTMLDoc(Doc): _repr_instance: HTMLRepr @@ -190,10 +190,10 @@ class HTMLDoc(Doc): class TextRepr(Repr): def __init__(self) -> None: ... - def repr1(self, x: object, level: complex) -> str: ... - def repr_string(self, x: str, level: complex) -> str: ... - def repr_str(self, x: str, level: complex) -> str: ... - def repr_instance(self, x: object, level: complex) -> str: ... + def repr1(self, x: object, level: int) -> str: ... + def repr_string(self, x: str, level: int) -> str: ... + def repr_str(self, x: str, level: int) -> str: ... + def repr_instance(self, x: object, level: int) -> str: ... class TextDoc(Doc): _repr_instance: TextRepr diff --git a/stubs/PyYAML/yaml/representer.pyi b/stubs/PyYAML/yaml/representer.pyi index 38255a636d49..9e1dd7c4d53d 100644 --- a/stubs/PyYAML/yaml/representer.pyi +++ b/stubs/PyYAML/yaml/representer.pyi @@ -58,7 +58,7 @@ class SafeRepresenter(BaseRepresenter): def represent_undefined(self, data) -> Never: ... class Representer(SafeRepresenter): - def represent_complex(self, data: complex) -> ScalarNode: ... + def represent_complex(self, data: complex | float | int) -> ScalarNode: ... def represent_tuple(self, data: Iterable[Incomplete]) -> SequenceNode: ... def represent_name(self, data: BuiltinFunctionType | FunctionType) -> ScalarNode: ... def represent_module(self, data: ModuleType) -> ScalarNode: ... diff --git a/stubs/pyasn1/pyasn1/type/univ.pyi b/stubs/pyasn1/pyasn1/type/univ.pyi index ad2a65391381..dd3b50a733c3 100644 --- a/stubs/pyasn1/pyasn1/type/univ.pyi +++ b/stubs/pyasn1/pyasn1/type/univ.pyi @@ -52,7 +52,7 @@ class Integer(base.SimpleAsn1Type): def __mod__(self, value): ... def __rmod__(self, value): ... # Accepts everything builtins.pow does - def __pow__(self, value: complex, modulo: int | None = None) -> Self: ... + def __pow__(self, value: complex | float | int, modulo: int | None = None) -> Self: ... def __rpow__(self, value): ... def __floordiv__(self, value): ... def __rfloordiv__(self, value): ... @@ -206,7 +206,7 @@ class Real(base.SimpleAsn1Type): def __mod__(self, value): ... def __rmod__(self, value): ... # Accepts everything builtins.pow with a float base does - def __pow__(self, value: complex, modulo: int | None = None) -> Self: ... + def __pow__(self, value: complex | float | int, modulo: int | None = None) -> Self: ... def __rpow__(self, value): ... def __truediv__(self, value): ... def __rtruediv__(self, value): ... diff --git a/stubs/seaborn/seaborn/_core/typing.pyi b/stubs/seaborn/seaborn/_core/typing.pyi index c114bdf8f09f..c1fefb365b75 100644 --- a/stubs/seaborn/seaborn/_core/typing.pyi +++ b/stubs/seaborn/seaborn/_core/typing.pyi @@ -11,7 +11,7 @@ from pandas import DataFrame, Index, Series, Timedelta, Timestamp class SupportsDataFrame(Protocol): def __dataframe__(self, nan_as_null: bool = ..., allow_copy: bool = ...): ... -ColumnName: TypeAlias = str | bytes | date | datetime | timedelta | bool | complex | Timestamp | Timedelta +ColumnName: TypeAlias = str | bytes | date | datetime | timedelta | bool | complex | float | int | Timestamp | Timedelta Vector: TypeAlias = Series[Any] | Index[Any] | ndarray[Any, Any] VariableSpec: TypeAlias = ColumnName | Vector | None VariableSpecList: TypeAlias = list[VariableSpec] | Index[Any] | None diff --git a/stubs/seaborn/seaborn/utils.pyi b/stubs/seaborn/seaborn/utils.pyi index 66859f2188a2..5a0345f1088c 100644 --- a/stubs/seaborn/seaborn/utils.pyi +++ b/stubs/seaborn/seaborn/utils.pyi @@ -40,8 +40,9 @@ _Palette: TypeAlias = str | Sequence[ColorType] | Mapping[Any, ColorType] # noq _Seed: TypeAlias = int | np.random.Generator | np.random.RandomState # noqa: Y047 _Scalar: TypeAlias = ( # numeric - float - | complex + complex + | float + | int | np.number[Any] # dates | dt.date