Skip to content

Commit 3ec6587

Browse files
authored
Merge branch 'main' into importlib.resources
2 parents 82bf40e + 9bf9d15 commit 3ec6587

File tree

22 files changed

+216
-116
lines changed

22 files changed

+216
-116
lines changed

stdlib/@tests/stubtest_allowlists/common.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,6 @@ types.MethodType.__closure__ # read-only but not actually a property; stubtest
500500
types.MethodType.__defaults__ # read-only but not actually a property; stubtest thinks it doesn't exist.
501501
types.ModuleType.__dict__ # read-only but not actually a property; stubtest thinks it's a mutable attribute.
502502
types.ModuleType.__getattr__ # this doesn't exist at runtime
503-
types.SimpleNamespace.__init__ # class doesn't accept positional arguments but has default C signature
504503

505504
# sys attributes that are not always defined
506505
sys.gettotalrefcount # Available on python debug builds

stdlib/@tests/stubtest_allowlists/py310.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ pkgutil.ImpImporter\..*
249249
pkgutil.ImpLoader\..*
250250

251251
types.CodeType.replace # stubtest thinks default values are None but None doesn't work at runtime
252+
types.SimpleNamespace.__init__ # class doesn't accept positional arguments but has default C signature
252253

253254
# These enums derive from (str, Enum)
254255
pstats.SortKey.__new__

stdlib/@tests/stubtest_allowlists/py311.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ inspect._ParameterKind.description # Still exists, but stubtest can't see it
135135
os.PathLike.__class_getitem__ # PathLike is a protocol; we don't expect all PathLike classes to implement class_getitem
136136
poplib.POP3_SSL.stls # bad declaration of inherited function. See poplib.pyi
137137
types.GenericAlias.__call__ # Would be complicated to fix properly, Any could silence problems. #6392
138+
types.SimpleNamespace.__init__ # class doesn't accept positional arguments but has default C signature
138139
types.GenericAlias.__getattr__
139140
types.GenericAlias.__mro_entries__
140141
weakref.ProxyType.__reversed__ # Doesn't really exist

stdlib/@tests/stubtest_allowlists/py312.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ typing.ParamSpecKwargs.__mro_entries__
184184
typing.TypeVar.__mro_entries__
185185
typing.TypeVarTuple.__mro_entries__
186186

187+
# class doesn't accept positional arguments but has default C signature
188+
types.SimpleNamespace.__init__
189+
187190
# TODO: mypy should infer that this attribute is inherited from builtins.type;
188191
# why doesn't it infer this?
189192
typing.SupportsAbs.__type_params__

stdlib/@tests/stubtest_allowlists/py313.txt

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ _ctypes.pointer
1212
_ctypes.sizeof
1313
_thread.interrupt_main
1414
_thread.lock
15-
_thread.stack_size
1615
_thread.start_joinable_thread
17-
_thread.start_new_thread
1816
_tkinter.create
1917
asyncio.AbstractEventLoop.create_server
2018
asyncio.AbstractServer.abort_clients
@@ -92,34 +90,15 @@ importlib.metadata._meta.SimplePath.exists
9290
importlib.metadata._meta.SimplePath.read_bytes
9391
importlib.metadata._meta.SimplePath.read_text
9492
importlib.metadata.diagnose
95-
mailbox.Maildir.add_flag
96-
mailbox.Maildir.get_flags
97-
mailbox.Maildir.get_info
98-
mailbox.Maildir.remove_flag
99-
mailbox.Maildir.set_flags
100-
mailbox.Maildir.set_info
10193
os.path.splitroot
102-
pdb.Pdb.MAX_CHAINED_EXCEPTION_DEPTH
103-
pdb.Pdb.completedefault
104-
pdb.Pdb.completenames
105-
pdb.Pdb.do_exceptions
106-
pdb.Pdb.interaction
107-
pdb.Pdb.message
108-
pdb.Pdb.user_opcode
10994
# `__replace__` to be special cased in dataclasses
11095
pstats.FunctionProfile.__replace__
11196
pstats.StatsProfile.__replace__
112-
pydoc.pager
113-
pydoc.pipepager
114-
pydoc.plainpager
115-
pydoc.tempfilepager
116-
pydoc.ttypager
11797
site.gethistoryfile
11898
site.register_readline
11999
sre_compile.SRE_FLAG_TEMPLATE
120100
sre_constants.SRE_FLAG_TEMPLATE
121101
sre_parse.SRE_FLAG_TEMPLATE
122-
threading.stack_size
123102
tkinter.Misc.after_info
124103
tkinter.Misc.busy
125104
tkinter.Misc.busy_cget
@@ -148,20 +127,6 @@ tkinter.Text.count
148127
tkinter.Wm.wm_attributes
149128
trace.CoverageResults.write_results
150129
types.MappingProxyType.get
151-
unittest.IsolatedAsyncioTestCase.loop_factory
152-
unittest.TestProgram.usageExit
153-
unittest.__all__
154-
unittest.async_case.IsolatedAsyncioTestCase.loop_factory
155-
unittest.findTestCases
156-
unittest.getTestCaseNames
157-
unittest.loader.findTestCases
158-
unittest.loader.getTestCaseNames
159-
unittest.loader.makeSuite
160-
unittest.main.TestProgram.usageExit
161-
unittest.makeSuite
162-
unittest.mock.NonCallableMock._calls_repr
163-
unittest.mock.ThreadingMock
164-
unittest.mock.__all__
165130
zipfile.CompleteDirs.inject
166131
zipfile.ZipInfo.compress_level
167132
zipfile._path.CompleteDirs.inject

stdlib/@tests/stubtest_allowlists/py38.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ types.GetSetDescriptorType.__get__
206206
types.MemberDescriptorType.__get__
207207
types.MethodDescriptorType.__get__
208208
types.WrapperDescriptorType.__get__
209+
types.SimpleNamespace.__init__ # class doesn't accept positional arguments but has default C signature
209210
multiprocessing.managers.DictProxy.clear
210211
multiprocessing.managers.DictProxy.popitem
211212

stdlib/@tests/stubtest_allowlists/py39.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ pkgutil.ImpImporter\..*
223223
pkgutil.ImpLoader\..*
224224

225225
types.CodeType.replace # stubtest thinks default values are None but None doesn't work at runtime
226+
types.SimpleNamespace.__init__ # class doesn't accept positional arguments but has default C signature
226227

227228
# These enums derive from (str, Enum)
228229
pstats.SortKey.__new__
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import sys
2+
import types
3+
from collections import UserDict
4+
5+
# test `types.SimpleNamespace`
6+
7+
# Valid:
8+
types.SimpleNamespace()
9+
types.SimpleNamespace(x=1, y=2)
10+
11+
if sys.version_info >= (3, 13):
12+
types.SimpleNamespace(())
13+
types.SimpleNamespace([])
14+
types.SimpleNamespace([("x", "y"), ("z", 1)])
15+
types.SimpleNamespace({})
16+
types.SimpleNamespace(UserDict({"x": 1, "y": 2}))
17+
18+
19+
# Invalid:
20+
types.SimpleNamespace(1) # type: ignore
21+
types.SimpleNamespace([1]) # type: ignore
22+
types.SimpleNamespace([["x"]]) # type: ignore
23+
types.SimpleNamespace(**{1: 2}) # type: ignore
24+
types.SimpleNamespace({1: 2}) # type: ignore
25+
types.SimpleNamespace([[1, 2]]) # type: ignore
26+
types.SimpleNamespace(UserDict({1: 2})) # type: ignore
27+
types.SimpleNamespace([[[], 2]]) # type: ignore

stdlib/_thread.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ error = RuntimeError
1313
def _count() -> int: ...
1414
@final
1515
class LockType:
16-
def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool: ...
16+
def acquire(self, blocking: bool = True, timeout: float = -1) -> bool: ...
1717
def release(self) -> None: ...
1818
def locked(self) -> bool: ...
1919
def __enter__(self) -> bool: ...
@@ -22,14 +22,14 @@ class LockType:
2222
) -> None: ...
2323

2424
@overload
25-
def start_new_thread(function: Callable[[Unpack[_Ts]], object], args: tuple[Unpack[_Ts]]) -> int: ...
25+
def start_new_thread(function: Callable[[Unpack[_Ts]], object], args: tuple[Unpack[_Ts]], /) -> int: ...
2626
@overload
27-
def start_new_thread(function: Callable[..., object], args: tuple[Any, ...], kwargs: dict[str, Any]) -> int: ...
27+
def start_new_thread(function: Callable[..., object], args: tuple[Any, ...], kwargs: dict[str, Any], /) -> int: ...
2828
def interrupt_main() -> None: ...
2929
def exit() -> NoReturn: ...
3030
def allocate_lock() -> LockType: ...
3131
def get_ident() -> int: ...
32-
def stack_size(size: int = ...) -> int: ...
32+
def stack_size(size: int = 0, /) -> int: ...
3333

3434
TIMEOUT_MAX: float
3535

stdlib/mailbox.pyi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,14 @@ class Maildir(Mailbox[MaildirMessage]):
115115
def get_message(self, key: str) -> MaildirMessage: ...
116116
def get_bytes(self, key: str) -> bytes: ...
117117
def get_file(self, key: str) -> _ProxyFile[bytes]: ...
118+
if sys.version_info >= (3, 13):
119+
def get_info(self, key: str) -> str: ...
120+
def set_info(self, key: str, info: str) -> None: ...
121+
def get_flags(self, key: str) -> str: ...
122+
def set_flags(self, key: str, flags: str) -> None: ...
123+
def add_flag(self, key: str, flag: str) -> None: ...
124+
def remove_flag(self, key: str, flag: str) -> None: ...
125+
118126
def iterkeys(self) -> Iterator[str]: ...
119127
def __contains__(self, key: str) -> bool: ...
120128
def __len__(self) -> int: ...

0 commit comments

Comments
 (0)