Skip to content

Commit

Permalink
Remove, move or # noqa more TypeAlias declarations (#8450)
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexWaygood authored Aug 5, 2022
1 parent 3e88363 commit 892796a
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 48 deletions.
4 changes: 2 additions & 2 deletions stdlib/email/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ from typing import IO, Union
from typing_extensions import TypeAlias

# Definitions imported by multiple submodules in typeshed
_ParamType: TypeAlias = Union[str, tuple[str | None, str | None, str]]
_ParamsType: TypeAlias = Union[str, None, tuple[str, str | None, str]]
_ParamType: TypeAlias = Union[str, tuple[str | None, str | None, str]] # noqa: Y047
_ParamsType: TypeAlias = Union[str, None, tuple[str, str | None, str]] # noqa: Y047

def message_from_string(s: str, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...
def message_from_bytes(s: bytes, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...
Expand Down
2 changes: 1 addition & 1 deletion stdlib/lib2to3/pgen2/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ from typing import Any
from typing_extensions import TypeAlias

# This is imported in several lib2to3/pgen2 submodules
_Convert: TypeAlias = Callable[[Grammar, _RawNode], Any]
_Convert: TypeAlias = Callable[[Grammar, _RawNode], Any] # noqa: Y047
33 changes: 7 additions & 26 deletions stdlib/multiprocessing/__init__.pyi
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import sys
from multiprocessing import context, reduction as reducer, synchronize
from multiprocessing import context, reduction as reducer
from multiprocessing.context import (
AuthenticationError as AuthenticationError,
BufferTooShort as BufferTooShort,
Expand All @@ -10,12 +10,14 @@ from multiprocessing.context import (
from multiprocessing.process import active_children as active_children, current_process as current_process

# These are technically functions that return instances of these Queue classes.
# Using them as annotations is deprecated. Either use imports from
# multiprocessing.queues or the aliases defined below. See #4266 for discussion.
# The stub here doesn't reflect reality exactly --
# while e.g. `multiprocessing.queues.Queue` is a class,
# `multiprocessing.Queue` is actually a function at runtime.
# Avoid using `multiprocessing.Queue` as a type annotation;
# use imports from multiprocessing.queues instead.
# See #4266 and #8450 for discussion.
from multiprocessing.queues import JoinableQueue as JoinableQueue, Queue as Queue, SimpleQueue as SimpleQueue
from multiprocessing.spawn import freeze_support as freeze_support
from typing import TypeVar
from typing_extensions import TypeAlias

if sys.version_info >= (3, 8):
from multiprocessing.process import parent_process as parent_process
Expand Down Expand Up @@ -62,27 +64,6 @@ __all__ = [
if sys.version_info >= (3, 8):
__all__ += ["parent_process"]

# The following type aliases can be used to annotate the return values of
# the corresponding functions. They are not defined at runtime.
#
# from multiprocessing import Lock
# from typing import TYPE_CHECKING
# if TYPE_CHECKING:
# from multiprocessing import _LockType
# lock: _LockType = Lock()

_T = TypeVar("_T")
_QueueType: TypeAlias = Queue[_T]
_SimpleQueueType: TypeAlias = SimpleQueue[_T]
_JoinableQueueType: TypeAlias = JoinableQueue[_T]
_BarrierType: TypeAlias = synchronize.Barrier
_BoundedSemaphoreType: TypeAlias = synchronize.BoundedSemaphore
_ConditionType: TypeAlias = synchronize.Condition
_EventType: TypeAlias = synchronize.Event
_LockType: TypeAlias = synchronize.Lock
_RLockType: TypeAlias = synchronize.RLock
_SemaphoreType: TypeAlias = synchronize.Semaphore

# These functions (really bound methods)
# are all autogenerated at runtime here: https://github.com/python/cpython/blob/600c65c094b0b48704d8ec2416930648052ba715/Lib/multiprocessing/__init__.py#L23
RawValue = context._default_context.RawValue
Expand Down
7 changes: 0 additions & 7 deletions stdlib/tkinter/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -186,13 +186,6 @@ _EntryValidateCommand: TypeAlias = (
) # example when it's sequence: entry['invalidcommand'] = [entry.register(print), '%P']
_GridIndex: TypeAlias = int | str | Literal["all"]
_ImageSpec: TypeAlias = _Image | str # str can be from e.g. tkinter.image_names()
_Padding: TypeAlias = Union[
_ScreenUnits,
tuple[_ScreenUnits],
tuple[_ScreenUnits, _ScreenUnits],
tuple[_ScreenUnits, _ScreenUnits, _ScreenUnits],
tuple[_ScreenUnits, _ScreenUnits, _ScreenUnits, _ScreenUnits],
]
_Relief: TypeAlias = Literal["raised", "sunken", "flat", "ridge", "solid", "groove"] # manual page: Tk_GetRelief
_ScreenUnits: TypeAlias = str | float # Often the right type instead of int. Manual page: Tk_GetPixels
# -xscrollcommand and -yscrollcommand in 'options' manual page
Expand Down
32 changes: 20 additions & 12 deletions stdlib/tkinter/ttk.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import tkinter
from _typeshed import Incomplete
from collections.abc import Callable
from tkinter.font import _FontDescription
from typing import Any, overload
from typing import Any, Union, overload
from typing_extensions import Literal, TypeAlias, TypedDict

__all__ = [
Expand Down Expand Up @@ -38,6 +38,14 @@ __all__ = [
def tclobjs_to_py(adict: dict[Any, Any]) -> dict[Any, Any]: ...
def setup_master(master: Incomplete | None = ...): ...

_Padding: TypeAlias = Union[
tkinter._ScreenUnits,
tuple[tkinter._ScreenUnits],
tuple[tkinter._ScreenUnits, tkinter._ScreenUnits],
tuple[tkinter._ScreenUnits, tkinter._ScreenUnits, tkinter._ScreenUnits],
tuple[tkinter._ScreenUnits, tkinter._ScreenUnits, tkinter._ScreenUnits, tkinter._ScreenUnits],
]

# from ttk_widget (aka ttk::widget) manual page, differs from tkinter._Compound
_TtkCompound: TypeAlias = Literal["text", "image", tkinter._Compound]

Expand Down Expand Up @@ -337,7 +345,7 @@ class Frame(Widget):
cursor: tkinter._Cursor = ...,
height: tkinter._ScreenUnits = ...,
name: str = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
relief: tkinter._Relief = ...,
style: str = ...,
takefocus: tkinter._TakeFocusValue = ...,
Expand All @@ -352,7 +360,7 @@ class Frame(Widget):
borderwidth: tkinter._ScreenUnits = ...,
cursor: tkinter._Cursor = ...,
height: tkinter._ScreenUnits = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
relief: tkinter._Relief = ...,
style: str = ...,
takefocus: tkinter._TakeFocusValue = ...,
Expand All @@ -379,7 +387,7 @@ class Label(Widget):
image: tkinter._ImageSpec = ...,
justify: Literal["left", "center", "right"] = ...,
name: str = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
relief: tkinter._Relief = ...,
state: str = ...,
style: str = ...,
Expand All @@ -405,7 +413,7 @@ class Label(Widget):
foreground: tkinter._Color = ...,
image: tkinter._ImageSpec = ...,
justify: Literal["left", "center", "right"] = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
relief: tkinter._Relief = ...,
state: str = ...,
style: str = ...,
Expand Down Expand Up @@ -433,7 +441,7 @@ class Labelframe(Widget):
labelanchor: Literal["nw", "n", "ne", "en", "e", "es", "se", "s", "sw", "ws", "w", "wn"] = ...,
labelwidget: tkinter.Misc = ...,
name: str = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
relief: tkinter._Relief = ..., # undocumented
style: str = ...,
takefocus: tkinter._TakeFocusValue = ...,
Expand All @@ -452,7 +460,7 @@ class Labelframe(Widget):
height: tkinter._ScreenUnits = ...,
labelanchor: Literal["nw", "n", "ne", "en", "e", "es", "se", "s", "sw", "ws", "w", "wn"] = ...,
labelwidget: tkinter.Misc = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
relief: tkinter._Relief = ...,
style: str = ...,
takefocus: tkinter._TakeFocusValue = ...,
Expand Down Expand Up @@ -519,7 +527,7 @@ class Notebook(Widget):
cursor: tkinter._Cursor = ...,
height: int = ...,
name: str = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
style: str = ...,
takefocus: tkinter._TakeFocusValue = ...,
width: int = ...,
Expand All @@ -531,7 +539,7 @@ class Notebook(Widget):
*,
cursor: tkinter._Cursor = ...,
height: int = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
style: str = ...,
takefocus: tkinter._TakeFocusValue = ...,
width: int = ...,
Expand All @@ -545,7 +553,7 @@ class Notebook(Widget):
*,
state: Literal["normal", "disabled", "hidden"] = ...,
sticky: str = ..., # consists of letters 'n', 's', 'w', 'e', no repeats, may be empty
padding: tkinter._Padding = ...,
padding: _Padding = ...,
text: str = ...,
image=..., # Sequence of an image name, followed by zero or more (sequences of one or more state names followed by an image name)
compound: tkinter._Compound = ...,
Expand Down Expand Up @@ -958,7 +966,7 @@ class Treeview(Widget, tkinter.XView, tkinter.YView):
displaycolumns: str | list[str] | tuple[str, ...] | list[int] | tuple[int, ...] | Literal["#all"] = ...,
height: int = ...,
name: str = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
selectmode: Literal["extended", "browse", "none"] = ...,
# list/tuple of Literal don't actually work in mypy
#
Expand All @@ -979,7 +987,7 @@ class Treeview(Widget, tkinter.XView, tkinter.YView):
cursor: tkinter._Cursor = ...,
displaycolumns: str | list[str] | tuple[str, ...] | list[int] | tuple[int, ...] | Literal["#all"] = ...,
height: int = ...,
padding: tkinter._Padding = ...,
padding: _Padding = ...,
selectmode: Literal["extended", "browse", "none"] = ...,
show: Literal["tree", "headings", "tree headings", ""] | list[str] | tuple[str, ...] = ...,
style: str = ...,
Expand Down

0 comments on commit 892796a

Please sign in to comment.