Skip to content

Commit e08e349

Browse files
authored
Replace incomplete module markers (#14030)
1 parent 8b877a6 commit e08e349

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+89
-199
lines changed

pyrightconfig.stricter.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
"exclude": [
99
// test cases use a custom pyrightconfig file
1010
"**/@tests/test_cases",
11+
"stdlib/__main__.pyi",
1112
"stdlib/distutils/command",
1213
"stdlib/distutils/dist.pyi",
14+
"stdlib/encodings/__init__.pyi",
1315
"stdlib/lib2to3/fixes/*.pyi",
1416
"stdlib/numbers.pyi",
1517
"stdlib/optparse.pyi",
@@ -38,6 +40,7 @@
3840
"stubs/defusedxml",
3941
"stubs/docker",
4042
"stubs/docutils",
43+
"stubs/flake8-typing-imports",
4144
"stubs/Flask-SocketIO",
4245
"stubs/fpdf2",
4346
"stubs/gdb",
@@ -79,6 +82,7 @@
7982
"stubs/Pygments",
8083
"stubs/PyMySQL",
8184
"stubs/python-crontab",
85+
"stubs/python-datemath",
8286
"stubs/python-dateutil",
8387
"stubs/python-http-client",
8488
"stubs/python-jose",

stdlib/__main__.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from typing import Any
2-
3-
def __getattr__(name: str) -> Any: ...
1+
def __getattr__(name: str): ... # incomplete module

stdlib/encodings/__init__.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from codecs import CodecInfo
32

43
class CodecRegistryError(LookupError, SystemError): ...
@@ -7,4 +6,4 @@ def normalize_encoding(encoding: str | bytes) -> str: ...
76
def search_function(encoding: str) -> CodecInfo | None: ...
87

98
# Needed for submodules
10-
def __getattr__(name: str) -> Incomplete: ...
9+
def __getattr__(name: str): ... # incomplete module

stubs/Pygments/pygments/lexers/__init__.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from _typeshed import FileDescriptorOrPath, Incomplete, StrPath
1+
from _typeshed import FileDescriptorOrPath, StrPath
22
from collections.abc import Iterator
33
from typing import Any
44

@@ -16,4 +16,4 @@ def guess_lexer_for_filename(_fn: StrPath, _text: str, **options: Any) -> Lexer:
1616
def guess_lexer(_text: str | bytes, **options: Any) -> Lexer: ...
1717

1818
# Having every lexer class here doesn't seem to be worth it
19-
def __getattr__(name: str) -> Incomplete: ...
19+
def __getattr__(name: str): ... # incomplete module

stubs/Pygments/pygments/styles/__init__.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Iterator, Mapping
32

43
from pygments.style import Style
@@ -10,4 +9,4 @@ def get_style_by_name(name) -> type[Style]: ...
109
def get_all_styles() -> Iterator[str]: ...
1110

1211
# Having every style class here doesn't seem to be worth it
13-
def __getattr__(name: str) -> Incomplete: ...
12+
def __getattr__(name: str): ... # incomplete module

stubs/docutils/docutils/examples.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/docutils/docutils/parsers/rst/states.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,4 +141,4 @@ class Inliner:
141141
def implicit_inline(self, text: str, lineno: int) -> list[nodes.Text]: ...
142142
dispatch: dict[str, Callable[[Match[str], int], tuple[str, list[nodes.problematic], str, list[nodes.system_message]]]] = ...
143143

144-
def __getattr__(name: str) -> Incomplete: ...
144+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/docutils/docutils/transforms/__init__.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ class Transformer:
1111
def add_transform(self, transform_class: type[Transform], priority: int | None = None, **kwargs) -> None: ...
1212
def __getattr__(self, name: str, /) -> Incomplete: ...
1313

14-
def __getattr__(name: str) -> Incomplete: ...
14+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/docutils/docutils/writers/latex2e.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from typing import ClassVar
32

43
from docutils.utils import Reporter
@@ -17,4 +16,4 @@ class Babel:
1716
def language_name(self, language_code: str) -> str: ...
1817
def get_language(self) -> str: ...
1918

20-
def __getattr__(name: str) -> Incomplete: ...
19+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/flake8-typing-imports/flake8_typing_imports.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import argparse
22
import ast
3-
from _typeshed import Incomplete
43
from collections.abc import Generator
54
from typing import Any, ClassVar
65

@@ -14,4 +13,4 @@ class Plugin:
1413
def __init__(self, tree: ast.AST) -> None: ...
1514
def run(self) -> Generator[tuple[int, int, str, type[Any]], None, None]: ...
1615

17-
def __getattr__(name: str) -> Incomplete: ... # incomplete (other attributes are normally not accessed)
16+
def __getattr__(name: str): ... # incomplete module (other attributes are normally not accessed)

stubs/gdb/gdb/dap/breakpoint.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/bt.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/disassemble.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/evaluate.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/events.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/frames.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/io.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/launch.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/locations.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/memory.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/modules.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/next.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/pause.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/scopes.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/server.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/sources.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/startup.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/state.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/threads.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/typecheck.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module

stubs/gdb/gdb/dap/varref.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
from _typeshed import Incomplete
2-
3-
def __getattr__(name: str) -> Incomplete: ...
1+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
from _typeshed import Incomplete
2-
31
import arrow
42

53
class DateMathException(Exception): ...
64

75
def parse(
86
expression: str, now: arrow.Arrow | None = None, tz: str = "UTC", type: str | None = None, roundDown: bool = True
97
) -> arrow.Arrow: ...
10-
def __getattr__(name: str) -> Incomplete: ...
8+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/__init__.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,4 +432,4 @@ def gather_nd(
432432
name: str | None = None,
433433
bad_indices_policy: Literal["", "DEFAULT", "ERROR", "IGNORE"] = "",
434434
) -> Tensor: ...
435-
def __getattr__(name: str) -> Incomplete: ...
435+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/config/__init__.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from typing import NamedTuple
32

43
from tensorflow.config import experimental as experimental
@@ -10,4 +9,4 @@ class PhysicalDevice(NamedTuple):
109
def list_physical_devices(device_type: None | str = None) -> list[PhysicalDevice]: ...
1110
def get_visible_devices(device_type: None | str = None) -> list[PhysicalDevice]: ...
1211
def set_visible_devices(devices: list[PhysicalDevice] | PhysicalDevice, device_type: None | str = None) -> None: ...
13-
def __getattr__(name: str) -> Incomplete: ...
12+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/config/experimental.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import typing_extensions
2-
from _typeshed import Incomplete
32
from typing import TypedDict
43

54
from tensorflow.config import PhysicalDevice
@@ -14,4 +13,4 @@ def reset_memory_stats(device: str) -> None: ...
1413
def get_memory_usage(device: PhysicalDevice) -> int: ...
1514
def get_memory_growth(device: PhysicalDevice) -> bool: ...
1615
def set_memory_growth(device: PhysicalDevice, enable: bool) -> None: ...
17-
def __getattr__(name: str) -> Incomplete: ...
16+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/data/__init__.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,4 +269,4 @@ class TFRecordDataset(Dataset[tf.Tensor]):
269269
@property
270270
def element_spec(self) -> tf.TensorSpec: ...
271271

272-
def __getattr__(name: str) -> Incomplete: ...
272+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/data/experimental.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Callable, Sequence
32
from typing import Final, TypeVar
43

@@ -30,4 +29,4 @@ def sample_from_datasets(
3029
seed: int | None = None,
3130
stop_on_empty_dataset: bool = False,
3231
) -> Dataset[_T1]: ...
33-
def __getattr__(name: str) -> Incomplete: ...
32+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from _typeshed import Incomplete
2-
31
from tensorflow.python.distribute.distribute_lib import Strategy as Strategy
42

5-
def __getattr__(name: str) -> Incomplete: ...
3+
def __getattr__(name: str): ... # incomplete module
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from _typeshed import Incomplete
2-
31
from .experimental.coordinator import RemoteValue as RemoteValue
42

5-
def __getattr__(name: str) -> Incomplete: ...
3+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/distribute/experimental/coordinator.pyi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from typing import Generic, TypeVar
32

43
from tensorflow._aliases import AnyArray
@@ -9,4 +8,4 @@ class RemoteValue(Generic[_Value_co]):
98
def fetch(self) -> AnyArray: ...
109
def get(self) -> _Value_co: ...
1110

12-
def __getattr__(name: str) -> Incomplete: ...
11+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/dtypes.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,4 @@ quint16: DType
5454
string: DType
5555

5656
def as_dtype(type_value: DTypeLike) -> DType: ...
57-
def __getattr__(name: str) -> Incomplete: ...
57+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/experimental/__init__.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ _T_co = TypeVar("_T_co", covariant=True)
77
class Optional(ABC, Generic[_T_co]):
88
def __getattr__(self, name: str) -> Incomplete: ...
99

10-
def __getattr__(name: str) -> Incomplete: ...
10+
def __getattr__(name: str): ... # incomplete module

stubs/tensorflow/tensorflow/experimental/dtensor.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ class Mesh:
1616
use_xla_spmd: bool = False,
1717
) -> None: ...
1818

19-
def __getattr__(name: str) -> Incomplete: ...
19+
def __getattr__(name: str): ... # incomplete module

0 commit comments

Comments
 (0)