diff --git a/stubs/WTForms/@tests/stubtest_allowlist.txt b/stubs/WTForms/@tests/stubtest_allowlist.txt index 2c8c7e4b5..18057b0c2 100644 --- a/stubs/WTForms/@tests/stubtest_allowlist.txt +++ b/stubs/WTForms/@tests/stubtest_allowlist.txt @@ -1,6 +1,3 @@ -# TODO: missing from stub -wtforms.form.__all__ - # Error: is not present at runtime # ============================= # This is hack to get around Field.__new__ not being able to return diff --git a/stubs/WTForms/wtforms/form.pyi b/stubs/WTForms/wtforms/form.pyi index ab889d4de..c10895447 100644 --- a/stubs/WTForms/wtforms/form.pyi +++ b/stubs/WTForms/wtforms/form.pyi @@ -83,3 +83,5 @@ class Form(BaseForm, metaclass=FormMeta): def __setitem__(self, name: str, value: None) -> None: ... # type: ignore[override] def __delitem__(self, name: str) -> None: ... def __delattr__(self, name: str) -> None: ... + +__all__ = ("BaseForm", "Form") diff --git a/stubs/editdistance/@tests/stubtest_allowlist.txt b/stubs/editdistance/@tests/stubtest_allowlist.txt index d9d340227..ef46eff1a 100644 --- a/stubs/editdistance/@tests/stubtest_allowlist.txt +++ b/stubs/editdistance/@tests/stubtest_allowlist.txt @@ -1,5 +1,2 @@ -# TODO: missing from stub -editdistance.__all__ - # Not public API -- the submodule is an implementation detail due to it being a cythonized package editdistance.bycython diff --git a/stubs/editdistance/editdistance/__init__.pyi b/stubs/editdistance/editdistance/__init__.pyi index 048d56125..8d31bd35a 100644 --- a/stubs/editdistance/editdistance/__init__.pyi +++ b/stubs/editdistance/editdistance/__init__.pyi @@ -4,3 +4,5 @@ def eval(a: Iterable[Hashable], b: Iterable[Hashable]) -> int: ... def distance(a: Iterable[Hashable], b: Iterable[Hashable]) -> int: ... def eval_criterion(a: Iterable[Hashable], b: Iterable[Hashable], thr: int) -> bool: ... def distance_le_than(a: Iterable[Hashable], b: Iterable[Hashable], thr: int) -> bool: ... + +__all__ = ("eval", "distance", "eval_criterion", "distance_le_than") diff --git a/stubs/gevent/@tests/stubtest_allowlist.txt b/stubs/gevent/@tests/stubtest_allowlist.txt index 0b0da22fc..3cd813e4b 100644 --- a/stubs/gevent/@tests/stubtest_allowlist.txt +++ b/stubs/gevent/@tests/stubtest_allowlist.txt @@ -1,40 +1,8 @@ # TODO: missing from stub -gevent._abstract_linkable.__all__ -gevent._ffi.loop.__all__ -gevent._ffi.watcher.__all__ -gevent._greenlet_primitives.__all__ -gevent._ident.__all__ -gevent._imap.__all__ -gevent.backdoor.__all__ -gevent.baseserver.__all__ -gevent.event.__all__ -gevent.events.__all__ -gevent.exceptions.__all__ -gevent.fileobject.__all__ -gevent.greenlet.__all__ -gevent.hub.__all__ -gevent.libev.__all__ -gevent.libev.corecext.__all__ -gevent.libuv.__all__ -gevent.libuv.loop.__all__ -gevent.libuv.watcher.__all__ -gevent.local.__all__ -gevent.monkey.__all__ gevent.os.__all__ -gevent.resolver.__all__ -gevent.resolver.blocking.__all__ -gevent.resolver.dnspython.__all__ -gevent.resolver.thread.__all__ -gevent.resolver_thread.__all__ -gevent.server.__all__ -gevent.signal.__all__ gevent.socket.__all__ gevent.ssl.__all__ gevent.subprocess.__all__ -gevent.threadpool.__all__ -gevent.timeout.__all__ -gevent.util.__all__ -gevent.win32util.__all__ # Error: failed to find stubs # ============================= @@ -66,7 +34,6 @@ gevent._ffi.ERROR gevent._ffi.GEVENT_DEBUG_LEVEL gevent._ffi.TRACE gevent._ffi.loop.AbstractLoop.async -gevent._ffi.loop.assign_standard_callbacks gevent._fileobjectcommon.UniversalNewlineBytesWrapper gevent._waiter.Waiter.switch_args @@ -79,8 +46,6 @@ gevent.libuv.watcher.watcher.feed # unnecessary python 2 compatibility stuff gevent._config.Config.trace_malloc gevent._imap.IMapUnordered.next -gevent.monkey.patch_builtins -gevent.monkey.patch_sys gevent.pywsgi.Environ.iteritems # weird method that doesn't work with this being generic, so we removed it diff --git a/stubs/gevent/@tests/stubtest_allowlist_darwin.txt b/stubs/gevent/@tests/stubtest_allowlist_darwin.txt index d561f9168..99849c10b 100644 --- a/stubs/gevent/@tests/stubtest_allowlist_darwin.txt +++ b/stubs/gevent/@tests/stubtest_allowlist_darwin.txt @@ -1,9 +1,3 @@ -# TODO: missing from stub -gevent.ares.__all__ -gevent.libev.corecffi.__all__ -gevent.resolver.ares.__all__ -gevent.resolver_ares.__all__ - # Error: is not present in stub # ============================= # internal API stuff we dropped because it wasn't necessary diff --git a/stubs/gevent/@tests/stubtest_allowlist_linux.txt b/stubs/gevent/@tests/stubtest_allowlist_linux.txt index a28b77fae..d76885722 100644 --- a/stubs/gevent/@tests/stubtest_allowlist_linux.txt +++ b/stubs/gevent/@tests/stubtest_allowlist_linux.txt @@ -1,9 +1,3 @@ -# TODO: missing from stub -gevent.ares.__all__ -gevent.libev.corecffi.__all__ -gevent.resolver.ares.__all__ -gevent.resolver_ares.__all__ - # Error: is not present in stub # ============================= # internal API stuff we dropped because it wasn't necessary diff --git a/stubs/gevent/@tests/stubtest_allowlist_win32.txt b/stubs/gevent/@tests/stubtest_allowlist_win32.txt index 734da8785..52eddde03 100644 --- a/stubs/gevent/@tests/stubtest_allowlist_win32.txt +++ b/stubs/gevent/@tests/stubtest_allowlist_win32.txt @@ -1,6 +1,7 @@ # Error: is not present in stub # ============================= # these get exported but don't actually work on win32 so we ignore them +gevent.signal.__all__ gevent.signal.getsignal gevent.signal.signal diff --git a/stubs/gevent/gevent/_abstract_linkable.pyi b/stubs/gevent/gevent/_abstract_linkable.pyi index 0c0d9a075..cdf549b90 100644 --- a/stubs/gevent/gevent/_abstract_linkable.pyi +++ b/stubs/gevent/gevent/_abstract_linkable.pyi @@ -11,3 +11,5 @@ class AbstractLinkable: def rawlink(self, callback: Callable[[Self], object], /) -> None: ... def ready(self) -> bool: ... def unlink(self, callback: Callable[[Self], object], /) -> None: ... + +__all__ = ["AbstractLinkable"] diff --git a/stubs/gevent/gevent/_ffi/loop.pyi b/stubs/gevent/gevent/_ffi/loop.pyi index b06e90c2a..7bd152d27 100644 --- a/stubs/gevent/gevent/_ffi/loop.pyi +++ b/stubs/gevent/gevent/_ffi/loop.pyi @@ -1,6 +1,6 @@ import sys from _typeshed import FileDescriptor -from collections.abc import Callable +from collections.abc import Callable, Sequence from types import TracebackType from typing import Protocol from typing_extensions import TypeAlias, TypeVarTuple, Unpack @@ -17,6 +17,10 @@ class _SupportsHandleError(Protocol): _ErrorHandler: TypeAlias = _ErrorHandlerFunc | _SupportsHandleError +def assign_standard_callbacks( + ffi: object, lib: object, callbacks_class: Callable[[object], object], extras: Sequence[tuple[object, object]] = ... +) -> object: ... + class AbstractLoop: CALLBACK_CHECK_COUNT: int error_handler: _ErrorHandler | None @@ -78,3 +82,5 @@ class AbstractLoop: def run_callback_threadsafe(self, func: Callable[[Unpack[_Ts]], object], *args: Unpack[_Ts]) -> _Callback: ... def callback(self, priority: float | None = ...) -> _Callback: ... def fileno(self) -> FileDescriptor | None: ... + +__all__ = ["AbstractLoop", "assign_standard_callbacks"] diff --git a/stubs/gevent/gevent/_ffi/watcher.pyi b/stubs/gevent/gevent/_ffi/watcher.pyi index 112396aa1..05128ac2c 100644 --- a/stubs/gevent/gevent/_ffi/watcher.pyi +++ b/stubs/gevent/gevent/_ffi/watcher.pyi @@ -89,3 +89,5 @@ class StatMixin: def prev(self) -> _StatResult | None: ... @property def interval(self) -> float: ... + +__all__: list[str] = [] diff --git a/stubs/gevent/gevent/_greenlet_primitives.pyi b/stubs/gevent/gevent/_greenlet_primitives.pyi index c8c371fc5..334f41784 100644 --- a/stubs/gevent/gevent/_greenlet_primitives.pyi +++ b/stubs/gevent/gevent/_greenlet_primitives.pyi @@ -14,3 +14,5 @@ class SwitchOutGreenletWithLoop(TrackedRawGreenlet): def loop(self, value: _Loop) -> None: ... def switch(self) -> Any: ... def switch_out(self) -> NoReturn: ... + +__all__ = ["TrackedRawGreenlet", "SwitchOutGreenletWithLoop"] diff --git a/stubs/gevent/gevent/_ident.pyi b/stubs/gevent/gevent/_ident.pyi index 56144a379..7c1bf6b8d 100644 --- a/stubs/gevent/gevent/_ident.pyi +++ b/stubs/gevent/gevent/_ident.pyi @@ -10,3 +10,5 @@ class IdentRegistry: def __init__(self) -> None: ... def get_ident(self, obj: object) -> int: ... def __len__(self) -> int: ... + +__all__ = ["IdentRegistry"] diff --git a/stubs/gevent/gevent/_imap.pyi b/stubs/gevent/gevent/_imap.pyi index fa7a79530..1220d57a6 100644 --- a/stubs/gevent/gevent/_imap.pyi +++ b/stubs/gevent/gevent/_imap.pyi @@ -22,3 +22,5 @@ class IMapUnordered(Greenlet[_P, _T]): class IMap(IMapUnordered[_P, _T]): index: int + +__all__ = ["IMapUnordered", "IMap"] diff --git a/stubs/gevent/gevent/ares.pyi b/stubs/gevent/gevent/ares.pyi index 530dece6f..8fa5509e5 100644 --- a/stubs/gevent/gevent/ares.pyi +++ b/stubs/gevent/gevent/ares.pyi @@ -1 +1,6 @@ +import sys + from gevent.resolver.cares import * + +if sys.platform != "win32": + __all__ = ["channel"] diff --git a/stubs/gevent/gevent/backdoor.pyi b/stubs/gevent/gevent/backdoor.pyi index a9fd2a8ec..67740ee35 100644 --- a/stubs/gevent/gevent/backdoor.pyi +++ b/stubs/gevent/gevent/backdoor.pyi @@ -43,3 +43,5 @@ class BackdoorServer(StreamServer): ciphers: str = ..., ) -> None: ... def handle(self, conn: _GeventSocket, _address: _Address) -> None: ... + +__all__ = ["BackdoorServer"] diff --git a/stubs/gevent/gevent/baseserver.pyi b/stubs/gevent/gevent/baseserver.pyi index 3a8ac540a..aa5308ec0 100644 --- a/stubs/gevent/gevent/baseserver.pyi +++ b/stubs/gevent/gevent/baseserver.pyi @@ -63,3 +63,5 @@ class BaseServer(Generic[_P]): def stop(self, timeout: float | None = None) -> None: ... def serve_forever(self, stop_timeout: float | None = None) -> None: ... def is_fatal_error(self, ex: BaseException) -> bool: ... + +__all__ = ["BaseServer"] diff --git a/stubs/gevent/gevent/event.pyi b/stubs/gevent/gevent/event.pyi index 199a63f88..b6b827da3 100644 --- a/stubs/gevent/gevent/event.pyi +++ b/stubs/gevent/gevent/event.pyi @@ -61,3 +61,5 @@ class AsyncResult(AbstractLinkable, Generic[_T]): def done(self) -> bool: ... def cancel(self) -> Literal[False]: ... def cancelled(self) -> Literal[False]: ... + +__all__ = ["Event", "AsyncResult"] diff --git a/stubs/gevent/gevent/events.pyi b/stubs/gevent/gevent/events.pyi index fd11a1c80..de1913d50 100644 --- a/stubs/gevent/gevent/events.pyi +++ b/stubs/gevent/gevent/events.pyi @@ -163,3 +163,35 @@ class IGeventDidPatchAllEvent(IGeventDidPatchEvent): ... @implementer(IGeventDidPatchAllEvent) class GeventDidPatchAllEvent(_PatchAllMixin, GeventDidPatchEvent): ENTRY_POINT_NAME: str + +__all__ = [ + "subscribers", + # monitor thread + "IEventLoopBlocked", + "EventLoopBlocked", + "IMemoryUsageThresholdExceeded", + "MemoryUsageThresholdExceeded", + "IMemoryUsageUnderThreshold", + "MemoryUsageUnderThreshold", + # Hub + "IPeriodicMonitorThread", + "IPeriodicMonitorThreadStartedEvent", + "PeriodicMonitorThreadStartedEvent", + # monkey + "IGeventPatchEvent", + "GeventPatchEvent", + "IGeventWillPatchEvent", + "DoNotPatch", + "GeventWillPatchEvent", + "IGeventDidPatchEvent", + "IGeventWillPatchModuleEvent", + "GeventWillPatchModuleEvent", + "IGeventDidPatchModuleEvent", + "GeventDidPatchModuleEvent", + "IGeventWillPatchAllEvent", + "GeventWillPatchAllEvent", + "IGeventDidPatchBuiltinModulesEvent", + "GeventDidPatchBuiltinModulesEvent", + "IGeventDidPatchAllEvent", + "GeventDidPatchAllEvent", +] diff --git a/stubs/gevent/gevent/exceptions.pyi b/stubs/gevent/gevent/exceptions.pyi index 1143e853f..26cacfa4f 100644 --- a/stubs/gevent/gevent/exceptions.pyi +++ b/stubs/gevent/gevent/exceptions.pyi @@ -13,3 +13,5 @@ class InvalidThreadUseError(RuntimeError): ... class HubDestroyed(GreenletExit): destroy_loop: bool def __init__(self, destroy_loop: bool) -> None: ... + +__all__ = ["LoopExit"] diff --git a/stubs/gevent/gevent/fileobject.pyi b/stubs/gevent/gevent/fileobject.pyi index 4138b6e25..db49e17e0 100644 --- a/stubs/gevent/gevent/fileobject.pyi +++ b/stubs/gevent/gevent/fileobject.pyi @@ -149,7 +149,9 @@ if sys.platform != "win32": ) -> None: ... _FileObjectType: TypeAlias = type[FileObjectPosix[Any, Any] | FileObjectBlock[Any, Any] | FileObjectThread[Any, Any]] + __all__ = ["FileObjectPosix", "FileObjectThread", "FileObjectBlock", "FileObject"] else: _FileObjectType: TypeAlias = type[FileObjectBlock[Any, Any] | FileObjectThread[Any, Any]] + __all__ = ["FileObjectThread", "FileObjectBlock", "FileObject"] FileObject: _FileObjectType diff --git a/stubs/gevent/gevent/greenlet.pyi b/stubs/gevent/gevent/greenlet.pyi index bed83cfc3..51ca9730d 100644 --- a/stubs/gevent/gevent/greenlet.pyi +++ b/stubs/gevent/gevent/greenlet.pyi @@ -96,3 +96,5 @@ def killall( block: bool = True, timeout: float | None = None, ) -> None: ... + +__all__ = ["Greenlet", "joinall", "killall"] diff --git a/stubs/gevent/gevent/hub.pyi b/stubs/gevent/gevent/hub.pyi index 44a8282ae..4e4d409b5 100644 --- a/stubs/gevent/gevent/hub.pyi +++ b/stubs/gevent/gevent/hub.pyi @@ -108,3 +108,5 @@ class linkproxy: obj: object def __init__(self, callback: Callable[[_T], object], obj: _T) -> None: ... def __call__(self, *args: object) -> None: ... + +__all__ = ["getcurrent", "GreenletExit", "spawn_raw", "sleep", "kill", "signal", "reinit", "get_hub", "Hub", "Waiter"] diff --git a/stubs/gevent/gevent/libev/__init__.pyi b/stubs/gevent/gevent/libev/__init__.pyi index e69de29bb..c9c2ef67b 100644 --- a/stubs/gevent/gevent/libev/__init__.pyi +++ b/stubs/gevent/gevent/libev/__init__.pyi @@ -0,0 +1 @@ +__all__: list[str] = [] diff --git a/stubs/gevent/gevent/libev/corecext.pyi b/stubs/gevent/gevent/libev/corecext.pyi index 35a46bbf3..5b328fcbe 100644 --- a/stubs/gevent/gevent/libev/corecext.pyi +++ b/stubs/gevent/gevent/libev/corecext.pyi @@ -90,3 +90,13 @@ if sys.platform != "win32": def origflags_int(self) -> int: ... @property def sigfd(self) -> FileDescriptor: ... + + __all__ = [ + "get_version", + "get_header_version", + "supported_backends", + "recommended_backends", + "embeddable_backends", + "time", + "loop", + ] diff --git a/stubs/gevent/gevent/libev/corecffi.pyi b/stubs/gevent/gevent/libev/corecffi.pyi index e814fb9b9..3f7821a82 100644 --- a/stubs/gevent/gevent/libev/corecffi.pyi +++ b/stubs/gevent/gevent/libev/corecffi.pyi @@ -34,3 +34,13 @@ class loop(AbstractLoop): def reset_sigchld(self) -> None: ... def stat(self, path: str, interval: float = 0.0, ref: bool = True, priority: bool | None = None) -> watcher.stat: ... + +__all__ = [ + "get_version", + "get_header_version", + "supported_backends", + "recommended_backends", + "embeddable_backends", + "time", + "loop", +] diff --git a/stubs/gevent/gevent/libuv/__init__.pyi b/stubs/gevent/gevent/libuv/__init__.pyi index e69de29bb..c9c2ef67b 100644 --- a/stubs/gevent/gevent/libuv/__init__.pyi +++ b/stubs/gevent/gevent/libuv/__init__.pyi @@ -0,0 +1 @@ +__all__: list[str] = [] diff --git a/stubs/gevent/gevent/libuv/loop.pyi b/stubs/gevent/gevent/libuv/loop.pyi index 950b82118..cd4ccd528 100644 --- a/stubs/gevent/gevent/libuv/loop.pyi +++ b/stubs/gevent/gevent/libuv/loop.pyi @@ -40,3 +40,5 @@ class loop(AbstractLoop): def fork(self, ref: bool = True, priority: int | None = None) -> watcher.fork: ... def child(self, pid: int, trace: int = 0, ref: bool = True) -> watcher.child: ... # prepare is not supported on libuv yet, but we need type_error to annotate that + +__all__: list[str] = [] diff --git a/stubs/gevent/gevent/libuv/watcher.pyi b/stubs/gevent/gevent/libuv/watcher.pyi index 375eb88a7..af5b5e633 100644 --- a/stubs/gevent/gevent/libuv/watcher.pyi +++ b/stubs/gevent/gevent/libuv/watcher.pyi @@ -30,3 +30,5 @@ class signal(_base.SignalMixin, watcher): ... class idle(_base.IdleMixin, watcher): ... class check(_base.CheckMixin, watcher): ... class prepare(_base.PrepareMixin, watcher): ... + +__all__: list[str] = [] diff --git a/stubs/gevent/gevent/local.pyi b/stubs/gevent/gevent/local.pyi index a455c97f7..cdcf88b48 100644 --- a/stubs/gevent/gevent/local.pyi +++ b/stubs/gevent/gevent/local.pyi @@ -7,3 +7,5 @@ class local: def __getattribute__(self, name: str) -> Any: ... def __delattr__(self, name: str) -> None: ... def __setattr__(self, name: str, value: Any) -> None: ... + +__all__ = ["local"] diff --git a/stubs/gevent/gevent/monkey/__init__.pyi b/stubs/gevent/gevent/monkey/__init__.pyi index d7ccf4f28..da6da0c3f 100644 --- a/stubs/gevent/gevent/monkey/__init__.pyi +++ b/stubs/gevent/gevent/monkey/__init__.pyi @@ -13,11 +13,13 @@ def patch_thread( threading: bool = True, _threading_local: bool = True, Event: bool = True, logging: bool = True, existing_locks: bool = True ) -> None: ... def patch_socket(dns: bool = True, aggressive: bool = True) -> None: ... +def patch_builtins() -> None: ... def patch_dns() -> None: ... def patch_ssl() -> None: ... def patch_select(aggressive: bool = True) -> None: ... def patch_selectors(aggressive: bool = True) -> None: ... def patch_subprocess() -> None: ... +def patch_sys(stdin: bool = True, stdout: bool = True, stderr: bool = True) -> None: ... def patch_signal() -> None: ... def patch_all( socket: bool = True, @@ -38,3 +40,29 @@ def patch_all( **kwargs: object, ) -> bool | None: ... def main() -> dict[str, Any]: ... + +__all__ = [ + "patch_all", + "patch_builtins", + "patch_dns", + "patch_os", + "patch_queue", + "patch_select", + "patch_signal", + "patch_socket", + "patch_ssl", + "patch_subprocess", + "patch_sys", + "patch_thread", + "patch_time", + # query functions + "get_original", + "is_module_patched", + "is_object_patched", + # plugin API + "patch_module", + # module functions + "main", + # Errors and warnings + "MonkeyPatchWarning", +] diff --git a/stubs/gevent/gevent/resolver/__init__.pyi b/stubs/gevent/gevent/resolver/__init__.pyi index f47eaf5b4..72609bc06 100644 --- a/stubs/gevent/gevent/resolver/__init__.pyi +++ b/stubs/gevent/gevent/resolver/__init__.pyi @@ -19,3 +19,5 @@ class AbstractResolver: ) -> _AddrinfoResult: ... def gethostbyaddr(self, ip_address: str) -> tuple[str, list[str], list[str]]: ... def getnameinfo(self, sockaddr: _SockAddr, flags: int) -> _NameinfoResult: ... + +__all__ = () diff --git a/stubs/gevent/gevent/resolver/ares.pyi b/stubs/gevent/gevent/resolver/ares.pyi index c63cb4084..a20e6b99a 100644 --- a/stubs/gevent/gevent/resolver/ares.pyi +++ b/stubs/gevent/gevent/resolver/ares.pyi @@ -39,3 +39,5 @@ if sys.platform != "win32": servers: Sequence[str] | str | None = None, ) -> None: ... def __del__(self) -> None: ... + + __all__ = ["Resolver"] diff --git a/stubs/gevent/gevent/resolver/blocking.pyi b/stubs/gevent/gevent/resolver/blocking.pyi index 69236512c..54ee37b7c 100644 --- a/stubs/gevent/gevent/resolver/blocking.pyi +++ b/stubs/gevent/gevent/resolver/blocking.pyi @@ -11,3 +11,5 @@ class Resolver: ) -> _AddrinfoResult: ... def gethostbyaddr(self, ip_address: str) -> tuple[str, list[str], list[str]]: ... def getnameinfo(self, sockaddr: _SockAddr, flags: int) -> _NameinfoResult: ... + +__all__ = ["Resolver"] diff --git a/stubs/gevent/gevent/resolver/dnspython.pyi b/stubs/gevent/gevent/resolver/dnspython.pyi index 5e49b6e39..cf965d10a 100644 --- a/stubs/gevent/gevent/resolver/dnspython.pyi +++ b/stubs/gevent/gevent/resolver/dnspython.pyi @@ -7,3 +7,5 @@ class Resolver(AbstractResolver): def __init__(self, hub: Hub | None = ...) -> None: ... @property def resolver(self) -> Any: ... # this is a custom dnspython Resolver + +__all__ = ["Resolver"] diff --git a/stubs/gevent/gevent/resolver/thread.pyi b/stubs/gevent/gevent/resolver/thread.pyi index ecd25d330..3a265ed17 100644 --- a/stubs/gevent/gevent/resolver/thread.pyi +++ b/stubs/gevent/gevent/resolver/thread.pyi @@ -13,3 +13,5 @@ class Resolver: ) -> _AddrinfoResult: ... def gethostbyaddr(self, ip_address: str) -> tuple[str, list[str], list[str]]: ... def getnameinfo(self, sockaddr: _SockAddr, flags: int) -> _NameinfoResult: ... + +__all__ = ["Resolver"] diff --git a/stubs/gevent/gevent/resolver_ares.pyi b/stubs/gevent/gevent/resolver_ares.pyi index 6f52ee389..5eb752341 100644 --- a/stubs/gevent/gevent/resolver_ares.pyi +++ b/stubs/gevent/gevent/resolver_ares.pyi @@ -1 +1,6 @@ +import sys + from gevent.resolver.ares import * + +if sys.platform != "win32": + __all__ = ["Resolver"] diff --git a/stubs/gevent/gevent/resolver_thread.pyi b/stubs/gevent/gevent/resolver_thread.pyi index 1a3071953..f960eab26 100644 --- a/stubs/gevent/gevent/resolver_thread.pyi +++ b/stubs/gevent/gevent/resolver_thread.pyi @@ -1 +1,2 @@ from gevent.resolver.thread import * +from gevent.resolver.thread import __all__ as __all__ diff --git a/stubs/gevent/gevent/server.pyi b/stubs/gevent/gevent/server.pyi index 36ce8d951..712754d4e 100644 --- a/stubs/gevent/gevent/server.pyi +++ b/stubs/gevent/gevent/server.pyi @@ -82,3 +82,5 @@ class DatagramServer(BaseServer[[_GeventSocket, _Address]]): def sendto(self, data: ReadableBuffer, address: _StrictAddress, /) -> int: ... @overload def sendto(self, data: ReadableBuffer, flags: int, address: _StrictAddress, /) -> int: ... + +__all__ = ["StreamServer", "DatagramServer"] diff --git a/stubs/gevent/gevent/signal.pyi b/stubs/gevent/gevent/signal.pyi index 17d0e7d3c..4c08f33ff 100644 --- a/stubs/gevent/gevent/signal.pyi +++ b/stubs/gevent/gevent/signal.pyi @@ -8,3 +8,5 @@ from signal import _HANDLER, _SIGNUM if sys.platform != "win32": def getsignal(signalnum: _SIGNUM) -> _HANDLER: ... def signal(signalnum: _SIGNUM, handler: _HANDLER) -> _HANDLER: ... + + __all__ = ["signal", "getsignal"] diff --git a/stubs/gevent/gevent/threadpool.pyi b/stubs/gevent/gevent/threadpool.pyi index ac1e5cd14..e65c64cb2 100644 --- a/stubs/gevent/gevent/threadpool.pyi +++ b/stubs/gevent/gevent/threadpool.pyi @@ -53,3 +53,5 @@ class ThreadResult(Generic[_T]): class ThreadPoolExecutor(concurrent.futures.ThreadPoolExecutor): kill = concurrent.futures.ThreadPoolExecutor.shutdown + +__all__ = ["ThreadPool", "ThreadResult", "ThreadPoolExecutor"] diff --git a/stubs/gevent/gevent/timeout.pyi b/stubs/gevent/gevent/timeout.pyi index 9e7bf5e4c..3fff1e511 100644 --- a/stubs/gevent/gevent/timeout.pyi +++ b/stubs/gevent/gevent/timeout.pyi @@ -53,3 +53,5 @@ def with_timeout( ) -> _T1 | _T2: ... @overload def with_timeout(seconds: float | None, function: Callable[_P, _T], *args: _P.args, **kwds: _P.kwargs) -> _T: ... + +__all__ = ["Timeout", "with_timeout"] diff --git a/stubs/gevent/gevent/util.pyi b/stubs/gevent/gevent/util.pyi index 8ded2b527..5d8a828d9 100644 --- a/stubs/gevent/gevent/util.pyi +++ b/stubs/gevent/gevent/util.pyi @@ -47,3 +47,5 @@ class assert_switches: def __init__(self, max_blocking_time: float | None = None, hub_only: bool = False) -> None: ... def __enter__(self) -> Self: ... def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ... + +__all__ = ["format_run_info", "print_run_info", "GreenletTree", "wrap_errors", "assert_switches"] diff --git a/stubs/gevent/gevent/win32util.pyi b/stubs/gevent/gevent/win32util.pyi index 70fc1c046..e6fc566ee 100644 --- a/stubs/gevent/gevent/win32util.pyi +++ b/stubs/gevent/gevent/win32util.pyi @@ -1,3 +1,5 @@ from collections.abc import Callable formatError: Callable[[object], str] + +__all__ = ["formatError"] diff --git a/stubs/greenlet/@tests/stubtest_allowlist.txt b/stubs/greenlet/@tests/stubtest_allowlist.txt index c1b1af71a..38d2d0569 100644 --- a/stubs/greenlet/@tests/stubtest_allowlist.txt +++ b/stubs/greenlet/@tests/stubtest_allowlist.txt @@ -1,6 +1,3 @@ -# TODO: missing from stub -greenlet.__all__ - # Error: is not present in stub # ============================= # this module only contains C code and exports no Python code, so it's better diff --git a/stubs/greenlet/greenlet/__init__.pyi b/stubs/greenlet/greenlet/__init__.pyi index 2616abab9..903fc6f31 100644 --- a/stubs/greenlet/greenlet/__init__.pyi +++ b/stubs/greenlet/greenlet/__init__.pyi @@ -11,3 +11,4 @@ from ._greenlet import ( ) __version__: Final[str] +__all__ = ["__version__", "_C_API", "GreenletExit", "error", "getcurrent", "greenlet", "gettrace", "settrace"] diff --git a/stubs/httplib2/@tests/stubtest_allowlist.txt b/stubs/httplib2/@tests/stubtest_allowlist.txt index 2524d80cb..6b90fbdac 100644 --- a/stubs/httplib2/@tests/stubtest_allowlist.txt +++ b/stubs/httplib2/@tests/stubtest_allowlist.txt @@ -1,5 +1,2 @@ -# TODO: missing from stub -httplib2.__all__ - # __getattr__() replaced with actual field in stub httplib2.Response.dict diff --git a/stubs/httplib2/httplib2/__init__.pyi b/stubs/httplib2/httplib2/__init__.pyi index a8cc8e90d..6e4b6dc7f 100644 --- a/stubs/httplib2/httplib2/__init__.pyi +++ b/stubs/httplib2/httplib2/__init__.pyi @@ -186,3 +186,17 @@ class Response(dict[str, Any]): def __init__(self, info) -> None: ... @property def dict(self) -> Self: ... + +__all__ = [ + "debuglevel", + "FailedToDecompressContent", + "Http", + "HttpLib2Error", + "ProxyInfo", + "RedirectLimit", + "RedirectMissingLocation", + "Response", + "RETRIES", + "UnimplementedDigestAuthOptionError", + "UnimplementedHmacDigestAuthOptionError", +] diff --git a/stubs/libsass/@tests/stubtest_allowlist.txt b/stubs/libsass/@tests/stubtest_allowlist.txt index 0f7d3fdbc..a93ae4db3 100644 --- a/stubs/libsass/@tests/stubtest_allowlist.txt +++ b/stubs/libsass/@tests/stubtest_allowlist.txt @@ -1,9 +1,3 @@ -# TODO: missing from stub -sassutils.builder.__all__ -sassutils.distutils.__all__ -sassutils.wsgi.__all__ -sass.__all__ - # Error: is not present in stub # ============================= # These are only implemented for the purposes of emitting an error diff --git a/stubs/libsass/sass.pyi b/stubs/libsass/sass.pyi index fac9d4820..b81a15213 100644 --- a/stubs/libsass/sass.pyi +++ b/stubs/libsass/sass.pyi @@ -183,3 +183,20 @@ class SassMap(Mapping[_KT, _VT_co]): def __iter__(self) -> Iterator[_KT]: ... def __len__(self) -> int: ... def __hash__(self) -> int: ... + +__all__ = ( + "MODES", + "OUTPUT_STYLES", + "SOURCE_COMMENTS", + "CompileError", + "SassColor", + "SassError", + "SassFunction", + "SassList", + "SassMap", + "SassNumber", + "SassWarning", + "and_join", + "compile", + "libsass_version", +) diff --git a/stubs/libsass/sassutils/builder.pyi b/stubs/libsass/sassutils/builder.pyi index 7d23a6fbb..851767cd3 100644 --- a/stubs/libsass/sassutils/builder.pyi +++ b/stubs/libsass/sassutils/builder.pyi @@ -32,3 +32,5 @@ class Manifest: def unresolve_filename(self, package_dir: str, filename: str) -> str: ... def build(self, package_dir: str, output_style: _OutputStyle = "nested") -> frozenset[str]: ... def build_one(self, package_dir: str, filename: str, source_map: bool = False) -> str: ... + +__all__ = ("SUFFIXES", "SUFFIX_PATTERN", "Manifest", "build_directory") diff --git a/stubs/libsass/sassutils/distutils.pyi b/stubs/libsass/sassutils/distutils.pyi index a4a74cb25..faa810dc4 100644 --- a/stubs/libsass/sassutils/distutils.pyi +++ b/stubs/libsass/sassutils/distutils.pyi @@ -14,3 +14,5 @@ class build_sass(Command): def finalize_options(self) -> None: ... def run(self) -> None: ... def get_package_dir(self, package: str) -> str: ... + +__all__ = ("build_sass", "validate_manifests") diff --git a/stubs/libsass/sassutils/wsgi.pyi b/stubs/libsass/sassutils/wsgi.pyi index fa2a9d792..8d9a62ea8 100644 --- a/stubs/libsass/sassutils/wsgi.pyi +++ b/stubs/libsass/sassutils/wsgi.pyi @@ -20,3 +20,5 @@ class SassMiddleware: def __call__(self, environ: WSGIEnvironment, start_response: StartResponse) -> Iterable[bytes]: ... @staticmethod def quote_css_string(s: str) -> str: ... + +__all__ = ("SassMiddleware",) diff --git a/stubs/passlib/@tests/stubtest_allowlist.txt b/stubs/passlib/@tests/stubtest_allowlist.txt index de26f5745..5877bbebe 100644 --- a/stubs/passlib/@tests/stubtest_allowlist.txt +++ b/stubs/passlib/@tests/stubtest_allowlist.txt @@ -1,38 +1,3 @@ -# TODO: missing from stub -passlib.hosts.__all__ -passlib.crypto._blowfish.__all__ -passlib.crypto._blowfish.base.__all__ -passlib.crypto._blowfish.unrolled.__all__ -passlib.crypto._md4.__all__ -passlib.crypto.digest.__all__ -passlib.crypto.scrypt.__all__ -passlib.crypto.scrypt._builtin.__all__ -passlib.handlers.argon2.__all__ -passlib.handlers.bcrypt.__all__ -passlib.handlers.cisco.__all__ -passlib.handlers.des_crypt.__all__ -passlib.handlers.digests.__all__ -passlib.handlers.django.__all__ -passlib.handlers.fshp.__all__ -passlib.handlers.md5_crypt.__all__ -passlib.handlers.misc.__all__ -passlib.handlers.mssql.__all__ -passlib.handlers.pbkdf2.__all__ -passlib.handlers.phpass.__all__ -passlib.handlers.postgres.__all__ -passlib.handlers.roundup.__all__ -passlib.handlers.scram.__all__ -passlib.handlers.scrypt.__all__ -passlib.handlers.sha1_crypt.__all__ -passlib.handlers.sha2_crypt.__all__ -passlib.handlers.sun_md5_crypt.__all__ -passlib.handlers.windows.__all__ -passlib.utils.binary.__all__ -passlib.utils.decor.__all__ -passlib.utils.handlers.__all__ -passlib.utils.md4.__all__ -passlib.utils.pbkdf2.__all__ - # proxy module that uses some import magic incompatible with stubtest passlib.hash @@ -87,6 +52,7 @@ passlib.tests.* # This is only available when the crypt module is available. This module # was dropped from the standard library of Python 3.13, but is still available # in some environments. +passlib.hosts.__all__ (passlib.hosts.host_context)? # Fields differs at runtime: diff --git a/stubs/passlib/passlib/crypto/_blowfish/__init__.pyi b/stubs/passlib/passlib/crypto/_blowfish/__init__.pyi index 093b06fe5..f73ccb004 100644 --- a/stubs/passlib/passlib/crypto/_blowfish/__init__.pyi +++ b/stubs/passlib/passlib/crypto/_blowfish/__init__.pyi @@ -1,3 +1,5 @@ from passlib.crypto._blowfish.unrolled import BlowfishEngine as BlowfishEngine def raw_bcrypt(password, ident, salt, log_rounds): ... + +__all__ = ["BlowfishEngine", "raw_bcrypt"] diff --git a/stubs/passlib/passlib/crypto/_blowfish/base.pyi b/stubs/passlib/passlib/crypto/_blowfish/base.pyi index abdeed216..d882673d5 100644 --- a/stubs/passlib/passlib/crypto/_blowfish/base.pyi +++ b/stubs/passlib/passlib/crypto/_blowfish/base.pyi @@ -11,3 +11,5 @@ class BlowfishEngine: def eks_salted_expand(self, key_words, salt_words) -> None: ... def eks_repeated_expand(self, key_words, salt_words, rounds) -> None: ... def repeat_encipher(self, l, r, count): ... + +__all__ = ["BlowfishEngine"] diff --git a/stubs/passlib/passlib/crypto/_blowfish/unrolled.pyi b/stubs/passlib/passlib/crypto/_blowfish/unrolled.pyi index f0ad54756..cb584d2b1 100644 --- a/stubs/passlib/passlib/crypto/_blowfish/unrolled.pyi +++ b/stubs/passlib/passlib/crypto/_blowfish/unrolled.pyi @@ -3,3 +3,5 @@ from passlib.crypto._blowfish.base import BlowfishEngine as _BlowfishEngine class BlowfishEngine(_BlowfishEngine): def encipher(self, l, r): ... def expand(self, key_words) -> None: ... + +__all__ = ["BlowfishEngine"] diff --git a/stubs/passlib/passlib/crypto/_md4.pyi b/stubs/passlib/passlib/crypto/_md4.pyi index 2175a2060..cbd87fb43 100644 --- a/stubs/passlib/passlib/crypto/_md4.pyi +++ b/stubs/passlib/passlib/crypto/_md4.pyi @@ -10,3 +10,5 @@ class md4: def copy(self): ... def digest(self): ... def hexdigest(self): ... + +__all__ = ["md4"] diff --git a/stubs/passlib/passlib/crypto/digest.pyi b/stubs/passlib/passlib/crypto/digest.pyi index 15eec301b..7aa493613 100644 --- a/stubs/passlib/passlib/crypto/digest.pyi +++ b/stubs/passlib/passlib/crypto/digest.pyi @@ -26,3 +26,15 @@ class HashInfo(SequenceMixin): def compile_hmac(digest, key, multipart: bool = False): ... def pbkdf1(digest, secret, salt, rounds, keylen: Incomplete | None = None): ... def pbkdf2_hmac(digest, secret, salt, rounds, keylen: Incomplete | None = None): ... + +__all__ = [ + # hash utils + "lookup_hash", + "HashInfo", + "norm_hash_name", + # hmac utils + "compile_hmac", + # kdfs + "pbkdf1", + "pbkdf2_hmac", +] diff --git a/stubs/passlib/passlib/crypto/scrypt/__init__.pyi b/stubs/passlib/passlib/crypto/scrypt/__init__.pyi index 913e9428b..68cd983a0 100644 --- a/stubs/passlib/passlib/crypto/scrypt/__init__.pyi +++ b/stubs/passlib/passlib/crypto/scrypt/__init__.pyi @@ -1,2 +1,4 @@ def validate(n, r, p): ... def scrypt(secret, salt, n, r, p: int = 1, keylen: int = 32): ... + +__all__ = ["validate", "scrypt"] diff --git a/stubs/passlib/passlib/crypto/scrypt/_builtin.pyi b/stubs/passlib/passlib/crypto/scrypt/_builtin.pyi index d7fa6867f..4cb28c922 100644 --- a/stubs/passlib/passlib/crypto/scrypt/_builtin.pyi +++ b/stubs/passlib/passlib/crypto/scrypt/_builtin.pyi @@ -17,3 +17,5 @@ class ScryptEngine: def run(self, secret, salt, keylen): ... def smix(self, input) -> Generator[None, None, Any]: ... def bmix(self, source, target) -> None: ... + +__all__ = ["ScryptEngine"] diff --git a/stubs/passlib/passlib/handlers/argon2.pyi b/stubs/passlib/passlib/handlers/argon2.pyi index e7cd6228a..7f24f3be3 100644 --- a/stubs/passlib/passlib/handlers/argon2.pyi +++ b/stubs/passlib/passlib/handlers/argon2.pyi @@ -83,3 +83,5 @@ class _PureBackend(_Argon2Common): ... class argon2(_NoBackend, _Argon2Common): # type: ignore[misc] backends: ClassVar[tuple[str, ...]] + +__all__ = ["argon2"] diff --git a/stubs/passlib/passlib/handlers/bcrypt.pyi b/stubs/passlib/passlib/handlers/bcrypt.pyi index 278b137a3..6117d9c8c 100644 --- a/stubs/passlib/passlib/handlers/bcrypt.pyi +++ b/stubs/passlib/passlib/handlers/bcrypt.pyi @@ -53,3 +53,5 @@ class bcrypt_sha256(_wrapped_bcrypt): @classmethod def from_string(cls, hash): ... def __init__(self, version: Incomplete | None = None, **kwds) -> None: ... + +__all__ = ["bcrypt"] diff --git a/stubs/passlib/passlib/handlers/cisco.pyi b/stubs/passlib/passlib/handlers/cisco.pyi index 1d05ce2fb..61b480739 100644 --- a/stubs/passlib/passlib/handlers/cisco.pyi +++ b/stubs/passlib/passlib/handlers/cisco.pyi @@ -25,3 +25,5 @@ class cisco_type7(uh.GenericHandler): def __init__(self, salt: int | None = None, **kwds) -> None: ... @classmethod def decode(cls, hash, encoding: str = "utf-8"): ... + +__all__ = ["cisco_pix", "cisco_asa", "cisco_type7"] diff --git a/stubs/passlib/passlib/handlers/des_crypt.pyi b/stubs/passlib/passlib/handlers/des_crypt.pyi index a8a10abb9..6e3b7297b 100644 --- a/stubs/passlib/passlib/handlers/des_crypt.pyi +++ b/stubs/passlib/passlib/handlers/des_crypt.pyi @@ -50,3 +50,5 @@ class crypt16(uh.TruncateMixin, uh.HasSalt, uh.GenericHandler): # type: ignore[ truncate_size: ClassVar[int] @classmethod def from_string(cls, hash): ... + +__all__ = ["des_crypt", "bsdi_crypt", "bigcrypt", "crypt16"] diff --git a/stubs/passlib/passlib/handlers/digests.pyi b/stubs/passlib/passlib/handlers/digests.pyi index 389d0328c..8353f7d9d 100644 --- a/stubs/passlib/passlib/handlers/digests.pyi +++ b/stubs/passlib/passlib/handlers/digests.pyi @@ -30,3 +30,5 @@ class htdigest(uh.MinimalHandler): def genconfig(cls): ... @classmethod def genhash(cls, secret, config, user, realm, encoding: Incomplete | None = None): ... # type: ignore[override] + +__all__ = ["create_hex_hash", "hex_md4", "hex_md5", "hex_sha1", "hex_sha256", "hex_sha512"] diff --git a/stubs/passlib/passlib/handlers/django.pyi b/stubs/passlib/passlib/handlers/django.pyi index 2996700e0..f613ed7cb 100644 --- a/stubs/passlib/passlib/handlers/django.pyi +++ b/stubs/passlib/passlib/handlers/django.pyi @@ -79,3 +79,14 @@ class django_disabled(DisabledHash, uh.StaticHandler): def identify(cls, hash: str | bytes) -> bool: ... @classmethod def verify(cls, secret: str | bytes, hash: str | bytes) -> bool: ... # type: ignore[override] + +__all__ = [ + "django_salted_sha1", + "django_salted_md5", + "django_bcrypt", + "django_pbkdf2_sha1", + "django_pbkdf2_sha256", + "django_argon2", + "django_des_crypt", + "django_disabled", +] diff --git a/stubs/passlib/passlib/handlers/fshp.pyi b/stubs/passlib/passlib/handlers/fshp.pyi index 8a6fe9ecf..a8addc70a 100644 --- a/stubs/passlib/passlib/handlers/fshp.pyi +++ b/stubs/passlib/passlib/handlers/fshp.pyi @@ -24,3 +24,5 @@ class fshp(uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum, uh.GenericHandler): def checksum_size(self): ... @classmethod def from_string(cls, hash): ... + +__all__ = ["fshp"] diff --git a/stubs/passlib/passlib/handlers/md5_crypt.pyi b/stubs/passlib/passlib/handlers/md5_crypt.pyi index 53bf4afad..94fef0634 100644 --- a/stubs/passlib/passlib/handlers/md5_crypt.pyi +++ b/stubs/passlib/passlib/handlers/md5_crypt.pyi @@ -18,3 +18,5 @@ class md5_crypt(uh.HasManyBackends, _MD5_Common): class apr_md5_crypt(_MD5_Common): name: ClassVar[str] ident: ClassVar[str] + +__all__ = ["md5_crypt", "apr_md5_crypt"] diff --git a/stubs/passlib/passlib/handlers/misc.pyi b/stubs/passlib/passlib/handlers/misc.pyi index 822ae77b3..2120f052a 100644 --- a/stubs/passlib/passlib/handlers/misc.pyi +++ b/stubs/passlib/passlib/handlers/misc.pyi @@ -48,3 +48,5 @@ class plaintext(uh.MinimalHandler): def genconfig(cls): ... @classmethod def genhash(cls, secret, config, encoding: str | None = None): ... # type: ignore[override] + +__all__ = ["unix_disabled", "unix_fallback", "plaintext"] diff --git a/stubs/passlib/passlib/handlers/mssql.pyi b/stubs/passlib/passlib/handlers/mssql.pyi index 3bf6fc437..c1c7f1f88 100644 --- a/stubs/passlib/passlib/handlers/mssql.pyi +++ b/stubs/passlib/passlib/handlers/mssql.pyi @@ -19,3 +19,5 @@ class mssql2005(uh.HasRawSalt, uh.HasRawChecksum, uh.GenericHandler): max_salt_size: ClassVar[int] @classmethod def from_string(cls, hash): ... + +__all__ = ["mssql2000", "mssql2005"] diff --git a/stubs/passlib/passlib/handlers/pbkdf2.pyi b/stubs/passlib/passlib/handlers/pbkdf2.pyi index 280849de8..dfe0f112e 100644 --- a/stubs/passlib/passlib/handlers/pbkdf2.pyi +++ b/stubs/passlib/passlib/handlers/pbkdf2.pyi @@ -87,3 +87,5 @@ class grub_pbkdf2_sha512(uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum, uh.Gene rounds_cost: ClassVar[str] @classmethod def from_string(cls, hash): ... + +__all__ = ["pbkdf2_sha1", "pbkdf2_sha256", "pbkdf2_sha512", "cta_pbkdf2_sha1", "dlitz_pbkdf2_sha1", "grub_pbkdf2_sha512"] diff --git a/stubs/passlib/passlib/handlers/phpass.pyi b/stubs/passlib/passlib/handlers/phpass.pyi index 02419bdc8..e13cacf49 100644 --- a/stubs/passlib/passlib/handlers/phpass.pyi +++ b/stubs/passlib/passlib/handlers/phpass.pyi @@ -18,3 +18,5 @@ class phpass(uh.HasManyIdents, uh.HasRounds, uh.HasSalt, uh.GenericHandler): # ident_aliases: ClassVar[dict[str, str]] @classmethod def from_string(cls, hash: str | bytes) -> Self: ... # type: ignore[override] + +__all__ = ["phpass"] diff --git a/stubs/passlib/passlib/handlers/postgres.pyi b/stubs/passlib/passlib/handlers/postgres.pyi index 99a515e46..263fda727 100644 --- a/stubs/passlib/passlib/handlers/postgres.pyi +++ b/stubs/passlib/passlib/handlers/postgres.pyi @@ -6,3 +6,5 @@ class postgres_md5(uh.HasUserContext, uh.StaticHandler): name: ClassVar[str] checksum_chars: ClassVar[str] checksum_size: ClassVar[int] + +__all__ = ["postgres_md5"] diff --git a/stubs/passlib/passlib/handlers/roundup.pyi b/stubs/passlib/passlib/handlers/roundup.pyi index 53ca720b3..24b9f60ed 100644 --- a/stubs/passlib/passlib/handlers/roundup.pyi +++ b/stubs/passlib/passlib/handlers/roundup.pyi @@ -3,3 +3,5 @@ from typing import Any roundup_plaintext: Any ldap_hex_md5: Any ldap_hex_sha1: Any + +__all__ = ["roundup_plaintext", "ldap_hex_md5", "ldap_hex_sha1"] diff --git a/stubs/passlib/passlib/handlers/scram.pyi b/stubs/passlib/passlib/handlers/scram.pyi index 36a4377bd..7c6fbd23c 100644 --- a/stubs/passlib/passlib/handlers/scram.pyi +++ b/stubs/passlib/passlib/handlers/scram.pyi @@ -27,3 +27,5 @@ class scram(uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum, uh.GenericHandler): def __init__(self, algs: Incomplete | None = None, **kwds) -> None: ... @classmethod def verify(cls, secret, hash, full: bool = False): ... # type: ignore[override] + +__all__ = ["scram"] diff --git a/stubs/passlib/passlib/handlers/scrypt.pyi b/stubs/passlib/passlib/handlers/scrypt.pyi index 52285c931..871390276 100644 --- a/stubs/passlib/passlib/handlers/scrypt.pyi +++ b/stubs/passlib/passlib/handlers/scrypt.pyi @@ -31,3 +31,5 @@ class scrypt(uh.ParallelismMixin, uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum def has_backend(cls, name: str = "any"): ... @classmethod def set_backend(cls, name: str = "any", dryrun: bool = False) -> None: ... + +__all__ = ["scrypt"] diff --git a/stubs/passlib/passlib/handlers/sha1_crypt.pyi b/stubs/passlib/passlib/handlers/sha1_crypt.pyi index dd4bdea86..9380a736a 100644 --- a/stubs/passlib/passlib/handlers/sha1_crypt.pyi +++ b/stubs/passlib/passlib/handlers/sha1_crypt.pyi @@ -21,3 +21,5 @@ class sha1_crypt(uh.HasManyBackends, uh.HasRounds, uh.HasSalt, uh.GenericHandler def from_string(cls, hash: str | bytes) -> Self: ... # type: ignore[override] def to_string(self, config: bool = False) -> str: ... backends: ClassVar[tuple[str, ...]] + +__all__: list[str] = [] diff --git a/stubs/passlib/passlib/handlers/sha2_crypt.pyi b/stubs/passlib/passlib/handlers/sha2_crypt.pyi index 7ebaffb58..44e6dcdeb 100644 --- a/stubs/passlib/passlib/handlers/sha2_crypt.pyi +++ b/stubs/passlib/passlib/handlers/sha2_crypt.pyi @@ -27,3 +27,5 @@ class sha512_crypt(_SHA2_Common): ident: ClassVar[str] checksum_size: ClassVar[int] default_rounds: ClassVar[int] + +__all__ = ["sha512_crypt", "sha256_crypt"] diff --git a/stubs/passlib/passlib/handlers/sun_md5_crypt.pyi b/stubs/passlib/passlib/handlers/sun_md5_crypt.pyi index c5b1a165a..6bec6a56b 100644 --- a/stubs/passlib/passlib/handlers/sun_md5_crypt.pyi +++ b/stubs/passlib/passlib/handlers/sun_md5_crypt.pyi @@ -22,3 +22,5 @@ class sun_md5_crypt(uh.HasRounds, uh.HasSalt, uh.GenericHandler): # type: ignor @classmethod def from_string(cls, hash: str | bytes) -> Self: ... # type: ignore[override] def to_string(self, _withchk: bool = True) -> str: ... + +__all__ = ["sun_md5_crypt"] diff --git a/stubs/passlib/passlib/handlers/windows.pyi b/stubs/passlib/passlib/handlers/windows.pyi index c792ebec8..165deec3d 100644 --- a/stubs/passlib/passlib/handlers/windows.pyi +++ b/stubs/passlib/passlib/handlers/windows.pyi @@ -42,3 +42,5 @@ class msdcc2(uh.HasUserContext, uh.StaticHandler): checksum_size: ClassVar[int] @classmethod def raw(cls, secret, user): ... + +__all__ = ["lmhash", "nthash", "bsd_nthash", "msdcc", "msdcc2"] diff --git a/stubs/passlib/passlib/utils/binary.pyi b/stubs/passlib/passlib/utils/binary.pyi index c188e50e1..64b5d5d8c 100644 --- a/stubs/passlib/passlib/utils/binary.pyi +++ b/stubs/passlib/passlib/utils/binary.pyi @@ -49,3 +49,32 @@ class LazyBase64Engine(Base64Engine): h64: Any h64big: Any bcrypt64: Any + +__all__ = [ + # constants + "BASE64_CHARS", + "PADDED_BASE64_CHARS", + "AB64_CHARS", + "HASH64_CHARS", + "BCRYPT_CHARS", + "HEX_CHARS", + "LOWER_HEX_CHARS", + "UPPER_HEX_CHARS", + "ALL_BYTE_VALUES", + # misc + "compile_byte_translation", + # base64 + "ab64_encode", + "ab64_decode", + "b64s_encode", + "b64s_decode", + # base32 + "b32encode", + "b32decode", + # custom encodings + "Base64Engine", + "LazyBase64Engine", + "h64", + "h64big", + "bcrypt64", +] diff --git a/stubs/passlib/passlib/utils/decor.pyi b/stubs/passlib/passlib/utils/decor.pyi index 0087b9080..3104d06f7 100644 --- a/stubs/passlib/passlib/utils/decor.pyi +++ b/stubs/passlib/passlib/utils/decor.pyi @@ -40,3 +40,12 @@ def deprecated_method( updoc: bool = True, replacement: Incomplete | None = None, ): ... + +__all__ = [ + "classproperty", + "hybrid_method", + "memoize_single_value", + "memoized_property", + "deprecated_function", + "deprecated_method", +] diff --git a/stubs/passlib/passlib/utils/handlers.pyi b/stubs/passlib/passlib/utils/handlers.pyi index edb743617..6c76c322c 100644 --- a/stubs/passlib/passlib/utils/handlers.pyi +++ b/stubs/passlib/passlib/utils/handlers.pyi @@ -183,3 +183,23 @@ class PrefixWrapper: def encrypt(self, secret, **kwds): ... def hash(self, secret, **kwds): ... def verify(self, secret, hash, **kwds): ... + +__all__ = [ + # helpers for implementing MCF handlers + "parse_mc2", + "parse_mc3", + "render_mc2", + "render_mc3", + # framework for implementing handlers + "GenericHandler", + "StaticHandler", + "HasUserContext", + "HasRawChecksum", + "HasManyIdents", + "HasSalt", + "HasRawSalt", + "HasRounds", + "HasManyBackends", + # other helpers + "PrefixWrapper", +] diff --git a/stubs/passlib/passlib/utils/md4.pyi b/stubs/passlib/passlib/utils/md4.pyi index a316e0c7f..3ce127263 100644 --- a/stubs/passlib/passlib/utils/md4.pyi +++ b/stubs/passlib/passlib/utils/md4.pyi @@ -1,3 +1,5 @@ from typing import Any md4: Any + +__all__ = ["md4"] diff --git a/stubs/passlib/passlib/utils/pbkdf2.pyi b/stubs/passlib/passlib/utils/pbkdf2.pyi index 57a5bb65b..31f074869 100644 --- a/stubs/passlib/passlib/utils/pbkdf2.pyi +++ b/stubs/passlib/passlib/utils/pbkdf2.pyi @@ -5,3 +5,13 @@ from passlib.crypto.digest import norm_hash_name as norm_hash_name def get_prf(name): ... def pbkdf1(secret, salt, rounds, keylen: Incomplete | None = None, hash: str = "sha1"): ... def pbkdf2(secret, salt, rounds, keylen: Incomplete | None = None, prf: str = "hmac-sha1"): ... + +__all__ = [ + # hash utils + "norm_hash_name", + # prf utils + "get_prf", + # kdfs + "pbkdf1", + "pbkdf2", +] diff --git a/stubs/peewee/@tests/stubtest_allowlist.txt b/stubs/peewee/@tests/stubtest_allowlist.txt index 8e93c781b..d7ab2ba94 100644 --- a/stubs/peewee/@tests/stubtest_allowlist.txt +++ b/stubs/peewee/@tests/stubtest_allowlist.txt @@ -1,6 +1,3 @@ -# TODO: missing from stub -peewee.__all__ - # Stubtest doesn't recognize __ as indicating positional-only arg at runtime # https://github.com/python/mypy/issues/15302 peewee.Model.insert diff --git a/stubs/peewee/peewee.pyi b/stubs/peewee/peewee.pyi index 6ea807eef..9aaf79ac8 100644 --- a/stubs/peewee/peewee.pyi +++ b/stubs/peewee/peewee.pyi @@ -1845,3 +1845,81 @@ class PrefetchQuery: def store_instance(self, instance, id_map) -> None: ... def prefetch(sq, *subqueries): ... + +__all__ = [ + "AnyField", + "AsIs", + "AutoField", + "BareField", + "BigAutoField", + "BigBitField", + "BigIntegerField", + "BinaryUUIDField", + "BitField", + "BlobField", + "BooleanField", + "Case", + "Cast", + "CharField", + "Check", + "chunked", + "Column", + "CompositeKey", + "Context", + "Database", + "DatabaseError", + "DatabaseProxy", + "DataError", + "DateField", + "DateTimeField", + "DecimalField", + "DeferredForeignKey", + "DeferredThroughModel", + "DJANGO_MAP", + "DoesNotExist", + "DoubleField", + "DQ", + "EXCLUDED", + "Field", + "FixedCharField", + "FloatField", + "fn", + "ForeignKeyField", + "IdentityField", + "ImproperlyConfigured", + "Index", + "IntegerField", + "IntegrityError", + "InterfaceError", + "InternalError", + "IPField", + "JOIN", + "ManyToManyField", + "Model", + "ModelIndex", + "MySQLDatabase", + "NotSupportedError", + "OP", + "OperationalError", + "PostgresqlDatabase", + "PrimaryKeyField", + "prefetch", + "PREFETCH_TYPE", + "ProgrammingError", + "Proxy", + "QualifiedNames", + "SchemaManager", + "SmallIntegerField", + "Select", + "SQL", + "SqliteDatabase", + "Table", + "TextField", + "TimeField", + "TimestampField", + "Tuple", + "UUIDField", + "Value", + "ValuesList", + "Window", +] diff --git a/stubs/polib/@tests/stubtest_allowlist.txt b/stubs/polib/@tests/stubtest_allowlist.txt deleted file mode 100644 index 0c8aa4534..000000000 --- a/stubs/polib/@tests/stubtest_allowlist.txt +++ /dev/null @@ -1,2 +0,0 @@ -# TODO: missing from stub -polib.__all__ diff --git a/stubs/polib/polib.pyi b/stubs/polib/polib.pyi index fa7061f1f..2bc1171fb 100644 --- a/stubs/polib/polib.pyi +++ b/stubs/polib/polib.pyi @@ -155,3 +155,16 @@ class _MOFileParser(Generic[_TM]): def __init__(self, mofile: str, *args: Any, **kwargs: Any) -> None: ... def __del__(self) -> None: ... def parse(self) -> _TM: ... + +__all__ = [ + "pofile", + "POFile", + "POEntry", + "mofile", + "MOFile", + "MOEntry", + "default_encoding", + "escape", + "unescape", + "detect_encoding", +] diff --git a/stubs/psutil/@tests/stubtest_allowlist.txt b/stubs/psutil/@tests/stubtest_allowlist.txt index 0895c3f41..ec9f30c85 100644 --- a/stubs/psutil/@tests/stubtest_allowlist.txt +++ b/stubs/psutil/@tests/stubtest_allowlist.txt @@ -1,7 +1,5 @@ # TODO: missing from stub psutil.__all__ -psutil._common.__all__ -psutil._psposix.__all__ # Stubtest does not support these platforms psutil._psaix diff --git a/stubs/psutil/psutil/_common.pyi b/stubs/psutil/psutil/_common.pyi index 7ea0bbb81..872a32954 100644 --- a/stubs/psutil/psutil/_common.pyi +++ b/stubs/psutil/psutil/_common.pyi @@ -283,3 +283,96 @@ def term_supports_colors(file: SupportsWrite[str] = ...) -> bool: ... def hilite(s: str, color: str | None = None, bold: bool = False) -> str: ... def print_color(s: str, color: str | None = None, bold: bool = False, file: SupportsWrite[str] = ...) -> None: ... def debug(msg) -> None: ... + +__all__ = [ + # OS constants + "FREEBSD", + "BSD", + "LINUX", + "NETBSD", + "OPENBSD", + "MACOS", + "OSX", + "POSIX", + "SUNOS", + "WINDOWS", + # connection constants + "CONN_CLOSE", + "CONN_CLOSE_WAIT", + "CONN_CLOSING", + "CONN_ESTABLISHED", + "CONN_FIN_WAIT1", + "CONN_FIN_WAIT2", + "CONN_LAST_ACK", + "CONN_LISTEN", + "CONN_NONE", + "CONN_SYN_RECV", + "CONN_SYN_SENT", + "CONN_TIME_WAIT", + # net constants + "NIC_DUPLEX_FULL", + "NIC_DUPLEX_HALF", + "NIC_DUPLEX_UNKNOWN", + # process status constants + "STATUS_DEAD", + "STATUS_DISK_SLEEP", + "STATUS_IDLE", + "STATUS_LOCKED", + "STATUS_RUNNING", + "STATUS_SLEEPING", + "STATUS_STOPPED", + "STATUS_SUSPENDED", + "STATUS_TRACING_STOP", + "STATUS_WAITING", + "STATUS_WAKE_KILL", + "STATUS_WAKING", + "STATUS_ZOMBIE", + "STATUS_PARKED", + # other constants + "ENCODING", + "ENCODING_ERRS", + "AF_INET6", + # named tuples + "pconn", + "pcputimes", + "pctxsw", + "pgids", + "pio", + "pionice", + "popenfile", + "pthread", + "puids", + "sconn", + "scpustats", + "sdiskio", + "sdiskpart", + "sdiskusage", + "snetio", + "snicaddr", + "snicstats", + "sswap", + "suser", + # utility functions + "conn_tmap", + "deprecated_method", + "isfile_strict", + "memoize", + "parse_environ_block", + "path_exists_strict", + "usage_percent", + "supports_ipv6", + "sockfam_to_enum", + "socktype_to_enum", + "wrap_numbers", + "open_text", + "open_binary", + "cat", + "bcat", + "bytes2human", + "conn_to_ntuple", + "debug", + # shell utils + "hilite", + "term_supports_colors", + "print_color", +] diff --git a/stubs/psutil/psutil/_psposix.pyi b/stubs/psutil/psutil/_psposix.pyi index 6d1f357a7..8b157113e 100644 --- a/stubs/psutil/psutil/_psposix.pyi +++ b/stubs/psutil/psutil/_psposix.pyi @@ -13,3 +13,5 @@ def wait_pid( ): ... def disk_usage(path): ... def get_terminal_map(): ... + +__all__ = ["pid_exists", "wait_pid", "disk_usage", "get_terminal_map"] diff --git a/stubs/reportlab/@tests/stubtest_allowlist.txt b/stubs/reportlab/@tests/stubtest_allowlist.txt index 3d5537fa9..b11ffbf4b 100644 --- a/stubs/reportlab/@tests/stubtest_allowlist.txt +++ b/stubs/reportlab/@tests/stubtest_allowlist.txt @@ -1,26 +1,10 @@ # TODO: missing from stub -reportlab.graphics.barcode.__all__ reportlab.graphics.barcode.dmtx.__all__ +reportlab.rl_config.__all__ + +# Incorrect __all__ names in runtime reportlab.graphics.barcode.eanbc.__all__ reportlab.graphics.barcode.ecc200datamatrix.__all__ -reportlab.graphics.barcode.usps4s.__all__ -reportlab.graphics.barcode.widgets.__all__ -reportlab.graphics.svgpath.__all__ -reportlab.graphics.transform.__all__ -reportlab.graphics.utils.__all__ -reportlab.lib.arciv.__all__ -reportlab.lib.formatters.__all__ -reportlab.lib.pygments2xpre.__all__ -reportlab.lib.rl_accel.__all__ -reportlab.lib.rltempfile.__all__ -reportlab.lib.styles.__all__ -reportlab.pdfgen.canvas.__all__ -reportlab.platypus.frames.__all__ -reportlab.platypus.multicol.__all__ -reportlab.platypus.paragraph.__all__ -reportlab.platypus.xpreformatted.__all__ -reportlab.rl_config.__all__ -reportlab.rl_settings.__all__ # Error: is inconsistent # ====================== diff --git a/stubs/reportlab/reportlab/graphics/barcode/__init__.pyi b/stubs/reportlab/reportlab/graphics/barcode/__init__.pyi index 0098e0c2a..62d6c1381 100644 --- a/stubs/reportlab/reportlab/graphics/barcode/__init__.pyi +++ b/stubs/reportlab/reportlab/graphics/barcode/__init__.pyi @@ -3,3 +3,5 @@ def getCodes(): ... def getCodeNames(): ... def createBarcodeDrawing(codeName, **options): ... def createBarcodeImageInMemory(codeName, **options): ... + +__all__ = ("registerWidget", "getCodes", "getCodeNames", "createBarcodeDrawing", "createBarcodeImageInMemory") diff --git a/stubs/reportlab/reportlab/graphics/barcode/eanbc.pyi b/stubs/reportlab/reportlab/graphics/barcode/eanbc.pyi index 65ab74d69..4bc3d0955 100644 --- a/stubs/reportlab/reportlab/graphics/barcode/eanbc.pyi +++ b/stubs/reportlab/reportlab/graphics/barcode/eanbc.pyi @@ -39,3 +39,5 @@ class Ean5BarcodeWidget(Ean13BarcodeWidget): class ISBNBarcodeWidget(Ean13BarcodeWidget): codeName: str def draw(self): ... + +__all__ = ("Ean13BarcodeWidget", "Ean8BarcodeWidget", "UPCA", "Ean5BarcodeWidget", "ISBNBarcodeWidget") diff --git a/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.pyi b/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.pyi index 536bb4347..e017b1bba 100644 --- a/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.pyi +++ b/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.pyi @@ -20,3 +20,5 @@ class ECC200DataMatrix(Barcode): def encode(self): ... def computeSize(self, *args) -> None: ... def draw(self) -> None: ... + +__all__ = ("ECC200DataMatrix",) diff --git a/stubs/reportlab/reportlab/graphics/barcode/usps4s.pyi b/stubs/reportlab/reportlab/graphics/barcode/usps4s.pyi index ee9f1dc6f..aeb4a5dfc 100644 --- a/stubs/reportlab/reportlab/graphics/barcode/usps4s.pyi +++ b/stubs/reportlab/reportlab/graphics/barcode/usps4s.pyi @@ -83,3 +83,5 @@ class USPS_4State(Barcode): def value(self, value) -> None: ... def drawHumanReadable(self) -> None: ... def annotate(self, x, y, text, fontName, fontSize, anchor: str = "middle") -> None: ... + +__all__ = ("USPS_4State",) diff --git a/stubs/reportlab/reportlab/graphics/barcode/widgets.pyi b/stubs/reportlab/reportlab/graphics/barcode/widgets.pyi index f5bdea3fc..2ea5c9d53 100644 --- a/stubs/reportlab/reportlab/graphics/barcode/widgets.pyi +++ b/stubs/reportlab/reportlab/graphics/barcode/widgets.pyi @@ -63,3 +63,18 @@ class BarcodePOSTNET(_BarcodeWidget): class BarcodeUSPS_4State(_BarcodeWidget): codeName: Final = "USPS_4State" def __init__(self, **kw) -> None: ... + +__all__ = ( + "BarcodeI2of5", + "BarcodeCode128", + "BarcodeStandard93", + "BarcodeExtended93", + "BarcodeStandard39", + "BarcodeExtended39", + "BarcodeMSI", + "BarcodeCodabar", + "BarcodeCode11", + "BarcodeFIM", + "BarcodePOSTNET", + "BarcodeUSPS_4State", +) diff --git a/stubs/reportlab/reportlab/graphics/svgpath.pyi b/stubs/reportlab/reportlab/graphics/svgpath.pyi index 5273b7981..89464473a 100644 --- a/stubs/reportlab/reportlab/graphics/svgpath.pyi +++ b/stubs/reportlab/reportlab/graphics/svgpath.pyi @@ -6,3 +6,5 @@ class SvgPath(Path, UserNode): fillColor: Incomplete def __init__(self, s, isClipPath: int = 0, autoclose: Incomplete | None = None, fillMode=0, **kw) -> None: ... def provideNode(self): ... + +__all__ = ("SvgPath",) diff --git a/stubs/reportlab/reportlab/graphics/transform.pyi b/stubs/reportlab/reportlab/graphics/transform.pyi index 4cb456df9..b8b8b59c9 100644 --- a/stubs/reportlab/reportlab/graphics/transform.pyi +++ b/stubs/reportlab/reportlab/graphics/transform.pyi @@ -10,3 +10,18 @@ def zTransformPoint(A, v): ... def transformPoint(A, v): ... def transformPoints(matrix, V): ... def zTransformPoints(matrix, V): ... + +__all__ = ( + "nullTransform", + "translate", + "scale", + "rotate", + "skewX", + "skewY", + "mmult", + "inverse", + "zTransformPoint", + "transformPoint", + "transformPoints", + "zTransformPoints", +) diff --git a/stubs/reportlab/reportlab/graphics/utils.pyi b/stubs/reportlab/reportlab/graphics/utils.pyi index 116864736..5853d4943 100644 --- a/stubs/reportlab/reportlab/graphics/utils.pyi +++ b/stubs/reportlab/reportlab/graphics/utils.pyi @@ -20,3 +20,5 @@ def text2Path( # NOTE: This only exists on some render backends def processGlyph(G, truncate=1, pathReverse=0): ... def text2PathDescription(text, x=0, y=0, fontName=..., fontSize=1000, anchor="start", truncate=1, pathReverse=0, gs=None): ... + +__all__ = ("setFont", "pathNumTrunc", "processGlyph", "text2PathDescription", "text2Path", "RenderPMError") diff --git a/stubs/reportlab/reportlab/lib/arciv.pyi b/stubs/reportlab/reportlab/lib/arciv.pyi index d8ea92570..0fa1d8aee 100644 --- a/stubs/reportlab/reportlab/lib/arciv.pyi +++ b/stubs/reportlab/reportlab/lib/arciv.pyi @@ -5,3 +5,5 @@ class ArcIV: def encode(text, key): ... def decode(text, key): ... + +__all__ = ["ArcIV", "encode", "decode"] diff --git a/stubs/reportlab/reportlab/lib/formatters.pyi b/stubs/reportlab/reportlab/lib/formatters.pyi index 343e450b6..31f215719 100644 --- a/stubs/reportlab/reportlab/lib/formatters.pyi +++ b/stubs/reportlab/reportlab/lib/formatters.pyi @@ -22,3 +22,5 @@ class DecimalFormatter(Formatter): suffix: Incomplete | None = None, ) -> None: ... def format(self, num): ... + +__all__ = ("Formatter", "DecimalFormatter") diff --git a/stubs/reportlab/reportlab/lib/pygments2xpre.pyi b/stubs/reportlab/reportlab/lib/pygments2xpre.pyi index c36ec3d62..f31768798 100644 --- a/stubs/reportlab/reportlab/lib/pygments2xpre.pyi +++ b/stubs/reportlab/reportlab/lib/pygments2xpre.pyi @@ -1 +1,3 @@ def pygments2xpre(s, language: str = "python"): ... + +__all__ = ("pygments2xpre",) diff --git a/stubs/reportlab/reportlab/lib/rl_accel.pyi b/stubs/reportlab/reportlab/lib/rl_accel.pyi index 1b6971778..b0a933622 100644 --- a/stubs/reportlab/reportlab/lib/rl_accel.pyi +++ b/stubs/reportlab/reportlab/lib/rl_accel.pyi @@ -9,3 +9,17 @@ def escapePDF(s): ... def asciiBase85Encode(input): ... def asciiBase85Decode(input): ... def sameFrag(f, g): ... + +__all__ = [ + "fp_str", + "unicode2T1", + "instanceStringWidthT1", + "instanceStringWidthTTF", + "asciiBase85Encode", + "asciiBase85Decode", + "escapePDF", + "sameFrag", + "calcChecksum", + "add32", + "hex32", +] diff --git a/stubs/reportlab/reportlab/lib/rltempfile.pyi b/stubs/reportlab/reportlab/lib/rltempfile.pyi index e0175a8ea..24b270ff2 100644 --- a/stubs/reportlab/reportlab/lib/rltempfile.pyi +++ b/stubs/reportlab/reportlab/lib/rltempfile.pyi @@ -1,2 +1,4 @@ def get_rl_tempdir(*subdirs: str) -> str: ... def get_rl_tempfile(fn: str | None = None) -> str: ... + +__all__ = ("get_rl_tempdir", "get_rl_tempdir") diff --git a/stubs/reportlab/reportlab/lib/styles.pyi b/stubs/reportlab/reportlab/lib/styles.pyi index 5cfa39f3f..028d9b0cd 100644 --- a/stubs/reportlab/reportlab/lib/styles.pyi +++ b/stubs/reportlab/reportlab/lib/styles.pyi @@ -179,3 +179,5 @@ class StyleSheet1: def list(self) -> None: ... def getSampleStyleSheet() -> StyleSheet1: ... + +__all__ = ("PropertySet", "ParagraphStyle", "str2alignment", "LineStyle", "ListStyle", "StyleSheet1", "getSampleStyleSheet") diff --git a/stubs/reportlab/reportlab/pdfgen/canvas.pyi b/stubs/reportlab/reportlab/pdfgen/canvas.pyi index 0f33d5a61..96351502e 100644 --- a/stubs/reportlab/reportlab/pdfgen/canvas.pyi +++ b/stubs/reportlab/reportlab/pdfgen/canvas.pyi @@ -305,3 +305,5 @@ class Canvas(_PDFColorSetter): def acroForm(self): ... def drawBoundary(self, sb, x1: float, y1: float, width: float, height: float) -> None: ... def shapedText(self, text) -> tuple[Incomplete, Incomplete]: ... + +__all__ = ["Canvas", "ShowBoundaryValue"] diff --git a/stubs/reportlab/reportlab/platypus/frames.pyi b/stubs/reportlab/reportlab/platypus/frames.pyi index 9de3e8738..061ba9be6 100644 --- a/stubs/reportlab/reportlab/platypus/frames.pyi +++ b/stubs/reportlab/reportlab/platypus/frames.pyi @@ -35,3 +35,5 @@ class Frame: def drawBoundary(self, canv: Canvas) -> None: ... def addFromList(self, drawlist: list[Flowable], canv: Canvas) -> None: ... def add_generated_content(self, *C: Flowable) -> None: ... + +__all__ = ("Frame",) diff --git a/stubs/reportlab/reportlab/platypus/multicol.pyi b/stubs/reportlab/reportlab/platypus/multicol.pyi index b30bb0c1e..76a632996 100644 --- a/stubs/reportlab/reportlab/platypus/multicol.pyi +++ b/stubs/reportlab/reportlab/platypus/multicol.pyi @@ -15,3 +15,5 @@ class MultiCol(_Container, _FindSplitterMixin, Flowable): spaceAfter: float | None = None, ) -> None: ... def nWidths(self, aW: float) -> list[float]: ... + +__all__ = ["MultiCol"] diff --git a/stubs/reportlab/reportlab/platypus/paragraph.pyi b/stubs/reportlab/reportlab/platypus/paragraph.pyi index 9e79a1df6..6f38d99f8 100644 --- a/stubs/reportlab/reportlab/platypus/paragraph.pyi +++ b/stubs/reportlab/reportlab/platypus/paragraph.pyi @@ -36,3 +36,5 @@ class Paragraph(Flowable): def getActualLineWidths0(self) -> list[float]: ... @staticmethod def dumpFrags(frags, indent: int = 4, full: bool = False) -> str: ... + +__all__ = ("Paragraph", "cleanBlockQuotedText", "ParaLines", "FragLine") diff --git a/stubs/reportlab/reportlab/platypus/xpreformatted.pyi b/stubs/reportlab/reportlab/platypus/xpreformatted.pyi index ae676ca79..c5b5e4c81 100644 --- a/stubs/reportlab/reportlab/platypus/xpreformatted.pyi +++ b/stubs/reportlab/reportlab/platypus/xpreformatted.pyi @@ -28,3 +28,5 @@ class PythonPreformatted(XPreformatted): ) -> None: ... def escapeHtml(self, text: str) -> str: ... def fontify(self, code: str) -> str: ... + +__all__ = ("XPreformatted", "PythonPreformatted") diff --git a/stubs/reportlab/reportlab/rl_settings.pyi b/stubs/reportlab/reportlab/rl_settings.pyi index da3f2cdec..2c2201691 100644 --- a/stubs/reportlab/reportlab/rl_settings.pyi +++ b/stubs/reportlab/reportlab/rl_settings.pyi @@ -71,3 +71,72 @@ T1SearchPath: Final[Incomplete] TTFSearchPath: Final[Incomplete] CMapSearchPath: Final[Incomplete] shapedFontGlob: Final[Incomplete | None] + +__all__ = ( + "allowTableBoundsErrors", + "shapeChecking", + "defaultEncoding", + "defaultGraphicsFontName", + "pageCompression", + "useA85", + "defaultPageSize", + "defaultImageCaching", + "warnOnMissingFontGlyphs", + "verbose", + "showBoundary", + "emptyTableAction", + "invariant", + "eps_preview_transparent", + "eps_preview", + "eps_ttf_embed", + "eps_ttf_embed_uid", + "overlapAttachedSpace", + "longTableOptimize", + "autoConvertEncoding", + "_FUZZ", + "wrapA85", + "fsEncodings", + "odbc_driver", + "platypus_link_underline", + "canvas_basefontname", + "allowShortTableRows", + "imageReaderFlags", + "paraFontSizeHeightOffset", + "canvas_baseColor", + "ignoreContainerActions", + "ttfAsciiReadable", + "pdfMultiLine", + "pdfComments", + "debug", + "rtlSupport", + "listWrapOnFakeWidth", + "T1SearchPath", + "TTFSearchPath", + "CMapSearchPath", + "decimalSymbol", + "errorOnDuplicatePageLabelPage", + "autoGenerateMissingTTFName", + "allowTTFSubsetting", + "spaceShrinkage", + "underlineWidth", + "underlineOffset", + "underlineGap", + "strikeWidth", + "strikeOffset", + "strikeGap", + "hyphenationLang", + "uriWasteReduce", + "embeddedHyphenation", + "hyphenationMinWordLength", + "reserveTTFNotdef", + "documentLang", + "encryptionStrength", + "trustedHosts", + "trustedSchemes", + "renderPMBackend", + "xmlParser", + "textPaths", + "toColorCanUse", + "defCWRF", + "shapedFontGlob", +) diff --git a/stubs/toposort/@tests/stubtest_allowlist.txt b/stubs/toposort/@tests/stubtest_allowlist.txt deleted file mode 100644 index f544b05c4..000000000 --- a/stubs/toposort/@tests/stubtest_allowlist.txt +++ /dev/null @@ -1,2 +0,0 @@ -# TODO: missing from stub -toposort.__all__ diff --git a/stubs/toposort/toposort.pyi b/stubs/toposort/toposort.pyi index 76af53134..35ad36b6f 100644 --- a/stubs/toposort/toposort.pyi +++ b/stubs/toposort/toposort.pyi @@ -15,3 +15,5 @@ class CircularDependencyError(ValueError): def toposort(data: _SupportsItemsAndLen[_T, Iterable[_T]]) -> Iterator[set[_T]]: ... def toposort_flatten(data: _SupportsItemsAndLen[_T, Iterable[_T]], sort: bool = ...) -> list[_T]: ... + +__all__ = ["toposort", "toposort_flatten", "CircularDependencyError"] diff --git a/stubs/tqdm/@tests/stubtest_allowlist.txt b/stubs/tqdm/@tests/stubtest_allowlist.txt index e14a351b2..abe294afc 100644 --- a/stubs/tqdm/@tests/stubtest_allowlist.txt +++ b/stubs/tqdm/@tests/stubtest_allowlist.txt @@ -1,9 +1,3 @@ -# TODO: missing from stub -tqdm._main.__all__ -tqdm._tqdm.__all__ -tqdm._tqdm_gui.__all__ -tqdm._tqdm_notebook.__all__ - # Cannot import in stubtest tqdm.__main__ diff --git a/stubs/tqdm/tqdm/_main.pyi b/stubs/tqdm/tqdm/_main.pyi index 81525aa3c..339e5728c 100644 --- a/stubs/tqdm/tqdm/_main.pyi +++ b/stubs/tqdm/tqdm/_main.pyi @@ -1,4 +1,2 @@ from .cli import * - -# Names in __all__ with no definition: -# main +from .cli import __all__ as __all__ diff --git a/stubs/tqdm/tqdm/_tqdm.pyi b/stubs/tqdm/tqdm/_tqdm.pyi index e2796836c..6a8a8311f 100644 --- a/stubs/tqdm/tqdm/_tqdm.pyi +++ b/stubs/tqdm/tqdm/_tqdm.pyi @@ -1,11 +1,2 @@ from .std import * -from .std import TqdmDeprecationWarning as TqdmDeprecationWarning - -# Names in __all__ with no definition: -# TqdmExperimentalWarning -# TqdmKeyError -# TqdmMonitorWarning -# TqdmTypeError -# TqdmWarning -# tqdm -# trange +from .std import TqdmDeprecationWarning as TqdmDeprecationWarning, __all__ as __all__ diff --git a/stubs/tqdm/tqdm/_tqdm_gui.pyi b/stubs/tqdm/tqdm/_tqdm_gui.pyi index 4c489bd2f..28b0f3787 100644 --- a/stubs/tqdm/tqdm/_tqdm_gui.pyi +++ b/stubs/tqdm/tqdm/_tqdm_gui.pyi @@ -1,7 +1,2 @@ from .gui import * - -# Names in __all__ with no definition: -# tgrange -# tqdm -# tqdm_gui -# trange +from .gui import __all__ as __all__ diff --git a/stubs/tqdm/tqdm/_tqdm_notebook.pyi b/stubs/tqdm/tqdm/_tqdm_notebook.pyi index 5c9a36126..f610309a6 100644 --- a/stubs/tqdm/tqdm/_tqdm_notebook.pyi +++ b/stubs/tqdm/tqdm/_tqdm_notebook.pyi @@ -1,7 +1,2 @@ from .notebook import * - -# Names in __all__ with no definition: -# tnrange -# tqdm -# tqdm_notebook -# trange +from .notebook import __all__ as __all__ diff --git a/stubs/whatthepatch/@tests/stubtest_allowlist.txt b/stubs/whatthepatch/@tests/stubtest_allowlist.txt deleted file mode 100644 index 143d9ce12..000000000 --- a/stubs/whatthepatch/@tests/stubtest_allowlist.txt +++ /dev/null @@ -1,2 +0,0 @@ -# TODO: missing from stub -whatthepatch.__all__ diff --git a/stubs/whatthepatch/whatthepatch/__init__.pyi b/stubs/whatthepatch/whatthepatch/__init__.pyi index 600e45262..37369cb4d 100644 --- a/stubs/whatthepatch/whatthepatch/__init__.pyi +++ b/stubs/whatthepatch/whatthepatch/__init__.pyi @@ -1,2 +1,4 @@ from .apply import apply_diff as apply_diff from .patch import parse_patch as parse_patch + +__all__ = ["parse_patch", "apply_diff"] diff --git a/stubs/workalendar/@tests/stubtest_allowlist.txt b/stubs/workalendar/@tests/stubtest_allowlist.txt index c40df8b9c..bd0a43b5b 100644 --- a/stubs/workalendar/@tests/stubtest_allowlist.txt +++ b/stubs/workalendar/@tests/stubtest_allowlist.txt @@ -1,15 +1,8 @@ -# TODO: missing from stub -workalendar.africa.__all__ -workalendar.america.__all__ -workalendar.asia.__all__ -workalendar.astronomy.__all__ -workalendar.europe.__all__ +# VictoriaDayTuesdayAfterFirstMondayMay is not defined but used in __all__ runtime: workalendar.europe.scotland.mixins.__all__ -workalendar.oceania.__all__ -workalendar.usa.__all__ +workalendar.europe.scotland.mixins.VictoriaDayTuesdayAfterFirstMondayMay workalendar.core.CoreCalendar.name -workalendar.europe.scotland.mixins.VictoriaDayTuesdayAfterFirstMondayMay workalendar.skyfield_astronomy workalendar.tests workalendar.core.classproperty diff --git a/stubs/workalendar/workalendar/africa/__init__.pyi b/stubs/workalendar/workalendar/africa/__init__.pyi index 1b68102bf..3fa6aa875 100644 --- a/stubs/workalendar/workalendar/africa/__init__.pyi +++ b/stubs/workalendar/workalendar/africa/__init__.pyi @@ -9,3 +9,17 @@ from .nigeria import Nigeria as Nigeria from .sao_tome import SaoTomeAndPrincipe as SaoTomeAndPrincipe from .south_africa import SouthAfrica as SouthAfrica from .tunisia import Tunisia as Tunisia + +__all__ = ( + "Algeria", + "Benin", + "IvoryCoast", + "Kenya", + "Madagascar", + "SaoTomeAndPrincipe", + "SouthAfrica", + "Angola", + "Mozambique", + "Nigeria", + "Tunisia", +) diff --git a/stubs/workalendar/workalendar/america/__init__.pyi b/stubs/workalendar/workalendar/america/__init__.pyi index ba36ee024..04106833d 100644 --- a/stubs/workalendar/workalendar/america/__init__.pyi +++ b/stubs/workalendar/workalendar/america/__init__.pyi @@ -84,3 +84,91 @@ from .el_salvador import ElSalvador as ElSalvador from .mexico import Mexico as Mexico from .panama import Panama as Panama from .paraguay import Paraguay as Paraguay + +__all__ = ( + # Brazil & its states. + "Brazil", + "BrazilAcre", + "BrazilAlagoas", + "BrazilAmapa", + "BrazilAmazonas", + "BrazilBahia", + "BrazilCeara", + "BrazilDistritoFederal", + "BrazilEspiritoSanto", + "BrazilGoias", + "BrazilMaranhao", + "BrazilMinasGerais", + "BrazilMatoGrosso", + "BrazilMatoGrossoDoSul", + "BrazilPara", + "BrazilParaiba", + "BrazilPernambuco", + "BrazilPiaui", + "BrazilParana", + "BrazilRioDeJaneiro", + "BrazilRioGrandeDoNorte", + "BrazilRioGrandeDoSul", + "BrazilRondonia", + "BrazilRoraima", + "BrazilSantaCatarina", + "BrazilSaoPauloState", + "BrazilSaoPauloCity", + "BrazilSergipe", + "BrazilTocantins", + "BrazilVitoriaCity", + "BrazilVilaVelhaCity", + "BrazilCariacicaCity", + "BrazilGuarapariCity", + "BrazilSerraCity", + "BrazilBankCalendar", + "BrazilRioBrancoCity", + "BrazilMaceioCity", + "BrazilManausCity", + "BrazilMacapaCity", + "BrazilSalvadorCity", + "BrazilFortalezaCity", + "BrazilGoianiaCity", + "BrazilBeloHorizonteCity", + "BrazilCampoGrandeCity", + "BrazilCuiabaCity", + "BrazilBelemCity", + "BrazilJoaoPessoaCity", + "BrazilRecifeCity", + "BrazilTeresinaCity", + "BrazilCuritibaCity", + "BrazilNatalCity", + "BrazilPortoVelhoCity", + "BrazilBoaVistaCity", + "BrazilPortoAlegreCity", + "BrazilChapecoCity", + "BrazilFlorianopolisCity", + "BrazilJoinvilleCity", + "BrazilAracajuCity", + "BrazilSorocabaCity", + "BrazilPalmasCity", + # Canada + "Canada", + "Ontario", + "Quebec", + "BritishColumbia", + "Alberta", + "Saskatchewan", + "Manitoba", + "NewBrunswick", + "NovaScotia", + "PrinceEdwardIsland", + "Newfoundland", + "Yukon", + "NorthwestTerritories", + "Nunavut", + # Other american countries + "Barbados", + "Chile", + "Colombia", + "Mexico", + "Panama", + "Paraguay", + "Argentina", + "ElSalvador", +) diff --git a/stubs/workalendar/workalendar/asia/__init__.pyi b/stubs/workalendar/workalendar/asia/__init__.pyi index 92c649780..2f32eb0e8 100644 --- a/stubs/workalendar/workalendar/asia/__init__.pyi +++ b/stubs/workalendar/workalendar/asia/__init__.pyi @@ -9,3 +9,19 @@ from .qatar import Qatar as Qatar from .singapore import Singapore as Singapore from .south_korea import SouthKorea as SouthKorea from .taiwan import Taiwan as Taiwan + +__all__ = ( + "China", + "HongKong", + "HongKongBank", + "Japan", + "JapanBank", + "Malaysia", + "Qatar", + "Singapore", + "SouthKorea", + "Taiwan", + "Israel", + "Philippines", + "Kazakhstan", +) diff --git a/stubs/workalendar/workalendar/astronomy.pyi b/stubs/workalendar/workalendar/astronomy.pyi index 3c2e2eb22..a86a890e5 100644 --- a/stubs/workalendar/workalendar/astronomy.pyi +++ b/stubs/workalendar/workalendar/astronomy.pyi @@ -1 +1,3 @@ from .precomputed_astronomy import calculate_equinoxes as calculate_equinoxes, solar_term as solar_term + +__all__ = ["calculate_equinoxes", "solar_term"] diff --git a/stubs/workalendar/workalendar/europe/__init__.pyi b/stubs/workalendar/workalendar/europe/__init__.pyi index e6446fa4a..b6abc88df 100644 --- a/stubs/workalendar/workalendar/europe/__init__.pyi +++ b/stubs/workalendar/workalendar/europe/__init__.pyi @@ -136,3 +136,144 @@ from .switzerland import ( from .turkey import Turkey as Turkey from .ukraine import Ukraine as Ukraine from .united_kingdom import UnitedKingdom as UnitedKingdom, UnitedKingdomNorthernIreland as UnitedKingdomNorthernIreland + +__all__ = ( + "Austria", + "Belarus", + "Belgium", + "Bulgaria", + "CaymanIslands", + "Croatia", + "Cyprus", + "CzechRepublic", + "Denmark", + "Estonia", + "EuropeanCentralBank", + "Finland", + "France", + "FranceAlsaceMoselle", + "Georgia", + "Greece", + "Guernsey", + "Hungary", + "Iceland", + "Ireland", + "Italy", + "Latvia", + "Lithuania", + "Luxembourg", + "Malta", + "Monaco", + "Netherlands", + "NetherlandsWithSchoolHolidays", + "Norway", + "Poland", + "Portugal", + "Romania", + "Russia", + "Serbia", + "Slovakia", + "Slovenia", + "Sweden", + "Switzerland", + "Ukraine", + "UnitedKingdom", + "UnitedKingdomNorthernIreland", + "Turkey", + # Germany + "Germany", + "BadenWurttemberg", + "Bavaria", + "Berlin", + "Brandenburg", + "Bremen", + "Hamburg", + "Hesse", + "MecklenburgVorpommern", + "LowerSaxony", + "NorthRhineWestphalia", + "RhinelandPalatinate", + "Saarland", + "Saxony", + "SaxonyAnhalt", + "SchleswigHolstein", + "Thuringia", + # Scotland + "Scotland", + "Aberdeen", + "Angus", + "Arbroath", + "Ayr", + "CarnoustieMonifieth", + "Clydebank", + "DumfriesGalloway", + "Dundee", + "EastDunbartonshire", + "Edinburgh", + "Elgin", + "Falkirk", + "Fife", + "Galashiels", + "Glasgow", + "Hawick", + "Inverclyde", + "Inverness", + "Kilmarnock", + "Lanark", + "Linlithgow", + "Lochaber", + "NorthLanarkshire", + "Paisley", + "Perth", + "ScottishBorders", + "SouthLanarkshire", + "Stirling", + "WestDunbartonshire", + # Spain + "Spain", + "Andalusia", + "Aragon", + "Catalonia", + "CastileAndLeon", + "CastillaLaMancha", + "CanaryIslands", + "Extremadura", + "Galicia", + "BalearicIslands", + "LaRioja", + "CommunityofMadrid", + "Murcia", + "Navarre", + "Asturias", + "BasqueCountry", + "Cantabria", + "ValencianCommunity", + # Switzerland + "Switzerland", + "Aargau", + "AppenzellInnerrhoden", + "AppenzellAusserrhoden", + "Bern", + "BaselLandschaft", + "BaselStadt", + "Fribourg", + "Geneva", + "Glarus", + "Graubunden", + "Jura", + "Luzern", + "Neuchatel", + "Nidwalden", + "Obwalden", + "StGallen", + "Schaffhausen", + "Solothurn", + "Schwyz", + "Thurgau", + "Ticino", + "Uri", + "Vaud", + "Valais", + "Zug", + "Zurich", +) diff --git a/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.pyi b/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.pyi index 0d2ea52f3..07f6ebf86 100644 --- a/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.pyi +++ b/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.pyi @@ -37,3 +37,27 @@ class AyrGoldCup: # Names in __all__ with no definition: # VictoriaDayTuesdayAfterFirstMondayMay + +__all__ = [ + "AyrGoldCup", + "SpringHolidayFirstMondayApril", + "SpringHolidaySecondMondayApril", + "SpringHolidayTuesdayAfterFirstMondayMay", + "SpringHolidayLastMondayMay", + "SpringHolidayFirstMondayJune", + "VictoriaDayFourthMondayMay", + "VictoriaDayLastMondayMay", + "VictoriaDayTuesdayAfterFirstMondayMay", # noqa: F822 # pyright: ignore[reportUnsupportedDunderAll] see https://github.com/workalendar/workalendar/pull/778 + "VictoriaDayFirstMondayJune", + "FairHolidayLastMondayJune", + "FairHolidayFirstMondayJuly", + "FairHolidaySecondMondayJuly", + "FairHolidayThirdMondayJuly", + "FairHolidayLastMondayJuly", + "FairHolidayFourthFridayJuly", + "FairHolidayFirstMondayAugust", + "AutumnHolidayLastMondaySeptember", + "AutumnHolidayFirstMondayOctober", + "AutumnHolidaySecondMondayOctober", + "AutumnHolidayThirdMondayOctober", +] diff --git a/stubs/workalendar/workalendar/oceania/__init__.pyi b/stubs/workalendar/workalendar/oceania/__init__.pyi index 4e04fcfa9..57d836755 100644 --- a/stubs/workalendar/workalendar/oceania/__init__.pyi +++ b/stubs/workalendar/workalendar/oceania/__init__.pyi @@ -12,3 +12,20 @@ from .australia import ( ) from .marshall_islands import MarshallIslands as MarshallIslands from .new_zealand import NewZealand as NewZealand + +__all__ = ( + # Australia and al. + "Australia", + "AustralianCapitalTerritory", + "NewSouthWales", + "NorthernTerritory", + "Queensland", + "SouthAustralia", + "Tasmania", + "Hobart", + "Victoria", + "WesternAustralia", + # Other oceanian countries + "MarshallIslands", + "NewZealand", +) diff --git a/stubs/workalendar/workalendar/usa/__init__.pyi b/stubs/workalendar/workalendar/usa/__init__.pyi index 3c6eea9fa..79008dff2 100644 --- a/stubs/workalendar/workalendar/usa/__init__.pyi +++ b/stubs/workalendar/workalendar/usa/__init__.pyi @@ -68,3 +68,75 @@ from .washington import Washington as Washington from .west_virginia import WestVirginia as WestVirginia from .wisconsin import Wisconsin as Wisconsin from .wyoming import Wyoming as Wyoming + +__all__ = [ + "UnitedStates", # Generic federal calendar + "Alabama", + "AlabamaBaldwinCounty", + "AlabamaMobileCounty", + "AlabamaPerryCounty", + "Alaska", + "Arizona", + "Arkansas", + "California", + "CaliforniaEducation", + "CaliforniaBerkeley", + "CaliforniaSanFrancisco", + "CaliforniaWestHollywood", + "Colorado", + "Connecticut", + "Delaware", + "DistrictOfColumbia", + "Florida", + "FloridaLegal", + "FloridaCircuitCourts", + "FloridaMiamiDade", + "Georgia", + "Hawaii", + "Idaho", + "Illinois", + "ChicagoIllinois", + "Indiana", + "Iowa", + "Kansas", + "Kentucky", + "Louisiana", + "Maine", + "Maryland", + "Massachusetts", + "SuffolkCountyMassachusetts", + "Michigan", + "Minnesota", + "Mississippi", + "Missouri", + "Montana", + "Nebraska", + "Nevada", + "NewHampshire", + "NewJersey", + "NewMexico", + "NewYork", + "NorthCarolina", + "NorthDakota", + "Ohio", + "Oklahoma", + "Oregon", + "Pennsylvania", + "RhodeIsland", + "SouthCarolina", + "SouthDakota", + "Tennessee", + "TexasBase", + "Texas", + "Utah", + "Vermont", + "Virginia", + "Washington", + "WestVirginia", + "Wisconsin", + "Wyoming", + # Non-State territories + "AmericanSamoa", + "Guam", + "FederalReserveSystem", +]