From 251570c4f6d48bb3cd4e0ab8c47dcb9f9d99618b Mon Sep 17 00:00:00 2001 From: LordGvozd <84399421+LordGvozd@users.noreply.github.com> Date: Mon, 12 May 2025 00:05:25 +0600 Subject: [PATCH] Bump gevent to 25.4.* (#13885) --- .../@tests/stubtest_allowlist_darwin.txt | 4 - .../@tests/stubtest_allowlist_linux.txt | 4 - .../@tests/stubtest_allowlist_win32.txt | 6 -- stubs/gevent/METADATA.toml | 2 +- stubs/gevent/gevent/_config.pyi | 5 + stubs/gevent/gevent/ares.pyi | 5 +- stubs/gevent/gevent/lock.pyi | 1 + stubs/gevent/gevent/pywsgi.pyi | 1 + stubs/gevent/gevent/queue.pyi | 38 +++++--- stubs/gevent/gevent/resolver/ares.pyi | 75 ++++++++------- stubs/gevent/gevent/resolver/cares.pyi | 91 +++++++++---------- stubs/gevent/gevent/resolver_ares.pyi | 5 +- 12 files changed, 113 insertions(+), 124 deletions(-) diff --git a/stubs/gevent/@tests/stubtest_allowlist_darwin.txt b/stubs/gevent/@tests/stubtest_allowlist_darwin.txt index 99849c10b..dd72ec9ef 100644 --- a/stubs/gevent/@tests/stubtest_allowlist_darwin.txt +++ b/stubs/gevent/@tests/stubtest_allowlist_darwin.txt @@ -17,10 +17,6 @@ gevent.libev.watcher.watcher.feed # undocumented argument for internal use only gevent.libev.watcher.watcher.__init__ -# ares_host_result always has the same layout, so we set the arguments on __new__ -# to reflect that fact, we don't care that the implementation accepts any number -# of arguments -gevent.resolver.cares.ares_host_result.__new__ # we have punted on socket, the gevent version of these functions sometimes use # named parameters, while the base implementation only allows positional arguments diff --git a/stubs/gevent/@tests/stubtest_allowlist_linux.txt b/stubs/gevent/@tests/stubtest_allowlist_linux.txt index d76885722..83da879a8 100644 --- a/stubs/gevent/@tests/stubtest_allowlist_linux.txt +++ b/stubs/gevent/@tests/stubtest_allowlist_linux.txt @@ -24,10 +24,6 @@ gevent.libev.watcher.watcher.feed # undocumented argument for internal use only gevent.libev.watcher.watcher.__init__ -# ares_host_result always has the same layout, so we set the arguments on __new__ -# to reflect that fact, we don't care that the implementation accepts any number -# of arguments -gevent.resolver.cares.ares_host_result.__new__ # we have punted on socket, the gevent version of these functions sometimes use # named parameters, while the base implementation only allows positional arguments diff --git a/stubs/gevent/@tests/stubtest_allowlist_win32.txt b/stubs/gevent/@tests/stubtest_allowlist_win32.txt index 52eddde03..a8a54020a 100644 --- a/stubs/gevent/@tests/stubtest_allowlist_win32.txt +++ b/stubs/gevent/@tests/stubtest_allowlist_win32.txt @@ -19,9 +19,3 @@ gevent.libev.corecext.* # these won't work until we find out if we can install libev somehow with choco gevent.libev.corecffi gevent.libev.watcher - -# these don't work on windows -gevent.ares -gevent.resolver.ares -gevent.resolver.cares -gevent.resolver_ares diff --git a/stubs/gevent/METADATA.toml b/stubs/gevent/METADATA.toml index 960f4c760..456b719c6 100644 --- a/stubs/gevent/METADATA.toml +++ b/stubs/gevent/METADATA.toml @@ -1,4 +1,4 @@ -version = "24.11.*" +version = "25.4.*" upstream_repository = "https://github.com/gevent/gevent" requires = ["types-greenlet", "types-psutil"] diff --git a/stubs/gevent/gevent/_config.pyi b/stubs/gevent/gevent/_config.pyi index 802f374fe..a7824ba97 100644 --- a/stubs/gevent/gevent/_config.pyi +++ b/stubs/gevent/gevent/_config.pyi @@ -72,6 +72,7 @@ class Config: ares_udp_port: _SettingDescriptor[str | int | None] ares_tcp_port: _SettingDescriptor[str | int | None] ares_servers: _SettingDescriptor[Sequence[str] | str | None] + print_blocking_reports: _SettingDescriptor[bool] class ImportableSetting(Generic[_T]): default: str | Sequence[str] @@ -141,6 +142,10 @@ class MaxBlockingTime(FloatSettingMixin, Setting[float]): default: float desc: str +class PrintBlockingReports(BoolSettingMixin, Setting[bool]): + default: bool + desc: str + class MonitorMemoryPeriod(FloatSettingMixin, Setting[float]): default: int desc: str diff --git a/stubs/gevent/gevent/ares.pyi b/stubs/gevent/gevent/ares.pyi index 8fa5509e5..6104efb65 100644 --- a/stubs/gevent/gevent/ares.pyi +++ b/stubs/gevent/gevent/ares.pyi @@ -1,6 +1,3 @@ -import sys - from gevent.resolver.cares import * -if sys.platform != "win32": - __all__ = ["channel"] +__all__ = ["channel"] diff --git a/stubs/gevent/gevent/lock.pyi b/stubs/gevent/gevent/lock.pyi index ddaf1ab85..2daa78274 100644 --- a/stubs/gevent/gevent/lock.pyi +++ b/stubs/gevent/gevent/lock.pyi @@ -38,3 +38,4 @@ class RLock: def __enter__(self) -> bool: ... def release(self) -> None: ... def __exit__(self, typ: type[BaseException] | None, val: BaseException | None, tb: TracebackType | None) -> None: ... + def locked(self) -> bool: ... diff --git a/stubs/gevent/gevent/pywsgi.pyi b/stubs/gevent/gevent/pywsgi.pyi index 8c25035fd..91400018e 100644 --- a/stubs/gevent/gevent/pywsgi.pyi +++ b/stubs/gevent/gevent/pywsgi.pyi @@ -28,6 +28,7 @@ class Input: position: int chunked_input: bool chunk_length: int + send_100_continue_enabled: bool def __init__( self, rfile: BufferedReader, content_length: int | None, socket: _GeventSocket | None = None, chunked_input: bool = False ) -> None: ... diff --git a/stubs/gevent/gevent/queue.pyi b/stubs/gevent/gevent/queue.pyi index 515aae6f5..b95cb5212 100644 --- a/stubs/gevent/gevent/queue.pyi +++ b/stubs/gevent/gevent/queue.pyi @@ -1,9 +1,10 @@ import sys +import types from collections import deque from collections.abc import Iterable # technically it is using _PySimpleQueue, which has the same interface as SimpleQueue -from queue import Empty as Empty, Full as Full, SimpleQueue as SimpleQueue +from queue import Empty as Empty, Full as Full from typing import Any, Generic, Literal, TypeVar, final, overload from typing_extensions import Self @@ -19,13 +20,16 @@ else: _T = TypeVar("_T") -class Queue(Generic[_T]): +class SimpleQueue(Generic[_T]): @property def hub(self) -> Hub: ... # readonly in Cython @property def queue(self) -> deque[_T]: ... # readonly in Cython maxsize: int | None is_shutdown: bool + + @classmethod + def __class_getitem__(cls, item: Any, /) -> types.GenericAlias: ... @overload def __init__(self, maxsize: int | None = None) -> None: ... @overload @@ -42,13 +46,27 @@ class Queue(Generic[_T]): def put(self, item: _T, block: bool = True, timeout: float | None = None) -> None: ... def put_nowait(self, item: _T) -> None: ... def qsize(self) -> int: ... - def shutdown(self, immediate: bool = False) -> None: ... def __bool__(self) -> bool: ... def __iter__(self) -> Self: ... def __len__(self) -> int: ... def __next__(self) -> _T: ... next = __next__ +class Queue(SimpleQueue[_T]): + @property + def unfinished_tasks(self) -> int: ... # readonly in Cython + @overload + def __init__(self, maxsize: int | None = None, *, unfinished_tasks: int | None = None) -> None: ... + @overload + def __init__(self, maxsize: int | None, items: Iterable[_T], unfinished_tasks: int | None = None) -> None: ... + @overload + def __init__(self, maxsize: int | None = None, *, items: Iterable[_T], unfinished_tasks: int | None = None) -> None: ... + def join(self, timeout: float | None = None) -> bool: ... + def task_done(self) -> None: ... + def shutdown(self, immediate: bool = False) -> None: ... + +JoinableQueue = Queue + @final class UnboundQueue(Queue[_T]): @overload @@ -61,18 +79,6 @@ class UnboundQueue(Queue[_T]): class PriorityQueue(Queue[_T]): ... class LifoQueue(Queue[_T]): ... -class JoinableQueue(Queue[_T]): - @property - def unfinished_tasks(self) -> int: ... # readonly in Cython - @overload - def __init__(self, maxsize: int | None = None, *, unfinished_tasks: int | None = None) -> None: ... - @overload - def __init__(self, maxsize: int | None, items: Iterable[_T], unfinished_tasks: int | None = None) -> None: ... - @overload - def __init__(self, maxsize: int | None = None, *, items: Iterable[_T], unfinished_tasks: int | None = None) -> None: ... - def join(self, timeout: float | None = None) -> bool: ... - def task_done(self) -> None: ... - class Channel(Generic[_T]): @property def getters(self) -> deque[Waiter[Any]]: ... # readonly in Cython @@ -81,6 +87,8 @@ class Channel(Generic[_T]): @property def hub(self) -> Hub: ... # readonly in Cython def __init__(self, maxsize: Literal[1] = 1) -> None: ... + @classmethod + def __class_getitem__(cls, item: Any, /) -> types.GenericAlias: ... @property def balance(self) -> int: ... def qsize(self) -> Literal[0]: ... diff --git a/stubs/gevent/gevent/resolver/ares.pyi b/stubs/gevent/gevent/resolver/ares.pyi index a20e6b99a..29c5ea0cb 100644 --- a/stubs/gevent/gevent/resolver/ares.pyi +++ b/stubs/gevent/gevent/resolver/ares.pyi @@ -1,43 +1,40 @@ -import sys +from collections.abc import Sequence +from typing import TypedDict -if sys.platform != "win32": - from collections.abc import Sequence - from typing import TypedDict +from gevent._types import _Watcher +from gevent.hub import Hub +from gevent.resolver import AbstractResolver +from gevent.resolver.cares import channel - from gevent._types import _Watcher - from gevent.hub import Hub - from gevent.resolver import AbstractResolver - from gevent.resolver.cares import channel +class _ChannelArgs(TypedDict): + flags: str | int | None + timeout: str | float | None + tries: str | int | None + ndots: str | int | None + udp_port: str | int | None + tcp_port: str | int | None + servers: Sequence[str] | str | None - class _ChannelArgs(TypedDict): - flags: str | int | None - timeout: str | float | None - tries: str | int | None - ndots: str | int | None - udp_port: str | int | None - tcp_port: str | int | None - servers: Sequence[str] | str | None +class Resolver(AbstractResolver): + cares_class: type[channel] + hub: Hub + cares: channel + pid: int + params: _ChannelArgs + fork_watcher: _Watcher + def __init__( + self, + hub: Hub | None = None, + use_environ: bool = True, + *, + flags: str | int | None = None, + timeout: str | float | None = None, + tries: str | int | None = None, + ndots: str | int | None = None, + udp_port: str | int | None = None, + tcp_port: str | int | None = None, + servers: Sequence[str] | str | None = None, + ) -> None: ... + def __del__(self) -> None: ... - class Resolver(AbstractResolver): - cares_class: type[channel] - hub: Hub - cares: channel - pid: int - params: _ChannelArgs - fork_watcher: _Watcher - def __init__( - self, - hub: Hub | None = None, - use_environ: bool = True, - *, - flags: str | int | None = None, - timeout: str | float | None = None, - tries: str | int | None = None, - ndots: str | int | None = None, - udp_port: str | int | None = None, - tcp_port: str | int | None = None, - servers: Sequence[str] | str | None = None, - ) -> None: ... - def __del__(self) -> None: ... - - __all__ = ["Resolver"] +__all__ = ["Resolver"] diff --git a/stubs/gevent/gevent/resolver/cares.pyi b/stubs/gevent/gevent/resolver/cares.pyi index b8f3546bf..21f3e504c 100644 --- a/stubs/gevent/gevent/resolver/cares.pyi +++ b/stubs/gevent/gevent/resolver/cares.pyi @@ -1,53 +1,50 @@ -import sys +from collections.abc import Callable, Iterable, Sequence +from typing import Any, Generic, TypeVar +from typing_extensions import Self -if sys.platform != "win32": - from collections.abc import Callable, Sequence - from typing import Any, Generic, TypeVar - from typing_extensions import Self +from gevent._types import _AddrinfoResult, _Loop, _NameinfoResult, _SockAddr - from gevent._types import _AddrinfoResult, _Loop, _NameinfoResult, _SockAddr +_T = TypeVar("_T") - _T = TypeVar("_T") +class ares_host_result(tuple[str, list[str], list[str]]): + family: int + def __new__(cls, family: int, iterable: Iterable[Any]) -> Self: ... - class Result(Generic[_T]): - exception: BaseException | None - value: _T | None - def __init__(self, value: _T | None = None, exception: BaseException | None = None) -> None: ... - def get(self) -> Any | None: ... - def successful(self) -> bool: ... +class Result(Generic[_T]): + exception: BaseException | None + value: _T | None + def __init__(self, value: _T | None = None, exception: BaseException | None = None) -> None: ... + def get(self) -> Any | None: ... + def successful(self) -> bool: ... - class ares_host_result(tuple[str, list[str], list[str]]): - family: int - def __new__(cls, family: int, hostname: str, aliases: list[str], addr_list: list[str], /) -> Self: ... +class channel: + @property + def loop(self) -> _Loop: ... + def __init__( + self, + loop: _Loop, + flags: str | int | None = None, + timeout: str | float | None = None, + tries: str | int | None = None, + ndots: str | int | None = None, + udp_port: str | int | None = None, + tcp_port: str | int | None = None, + servers: Sequence[str] | str | None = None, + ) -> None: ... + def destroy(self) -> None: ... + def getaddrinfo( + self, + callback: Callable[[Result[_AddrinfoResult]], object], + name: str, + service: str | None, + family: int = 0, + type: int = 0, + proto: int = 0, + flags: int = 0, + ) -> None: ... + def gethostbyaddr(self, callback: Callable[[Result[ares_host_result]], object], addr: str) -> Any: ... + def gethostbyname(self, callback: Callable[[Result[ares_host_result]], object], name: str, family: int = ...) -> None: ... + def getnameinfo(self, callback: Callable[[Result[_NameinfoResult]], object], sockaddr: _SockAddr, flags: int) -> None: ... + def set_servers(self, servers: Sequence[str] | str | None = None) -> None: ... - class channel: - @property - def loop(self) -> _Loop: ... - def __init__( - self, - loop: _Loop, - flags: str | int | None = None, - timeout: str | float | None = None, - tries: str | int | None = None, - ndots: str | int | None = None, - udp_port: str | int | None = None, - tcp_port: str | int | None = None, - servers: Sequence[str] | str | None = None, - ) -> None: ... - def destroy(self) -> None: ... - def getaddrinfo( - self, - callback: Callable[[Result[_AddrinfoResult]], object], - name: str, - service: str | None, - family: int = 0, - type: int = 0, - proto: int = 0, - flags: int = 0, - ) -> None: ... - def gethostbyaddr(self, callback: Callable[[Result[ares_host_result]], object], addr: str) -> Any: ... - def gethostbyname(self, callback: Callable[[Result[ares_host_result]], object], name: str, family: int = ...) -> None: ... - def getnameinfo(self, callback: Callable[[Result[_NameinfoResult]], object], sockaddr: _SockAddr, flags: int) -> None: ... - def set_servers(self, servers: Sequence[str] | str | None = None) -> None: ... - - __all__ = ["channel"] +__all__ = ["channel"] diff --git a/stubs/gevent/gevent/resolver_ares.pyi b/stubs/gevent/gevent/resolver_ares.pyi index 5eb752341..4d1fbbaae 100644 --- a/stubs/gevent/gevent/resolver_ares.pyi +++ b/stubs/gevent/gevent/resolver_ares.pyi @@ -1,6 +1,3 @@ -import sys - from gevent.resolver.ares import * -if sys.platform != "win32": - __all__ = ["Resolver"] +__all__ = ["Resolver"]