From 9137258cf43d07cf575c8d3fc15f9c979bd42a14 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Wed, 16 Nov 2022 18:25:19 +0300 Subject: [PATCH] Add exact `**kwargs` types to `dateutil.parser.parse` (#9212) Closes #9122 --- .../dateutil/parser/__init__.pyi | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/stubs/python-dateutil/dateutil/parser/__init__.pyi b/stubs/python-dateutil/dateutil/parser/__init__.pyi index 58b24e398..96fd22474 100644 --- a/stubs/python-dateutil/dateutil/parser/__init__.pyi +++ b/stubs/python-dateutil/dateutil/parser/__init__.pyi @@ -1,4 +1,4 @@ -from collections.abc import Mapping +from collections.abc import Callable, Mapping from datetime import datetime, tzinfo from typing import IO, Any from typing_extensions import TypeAlias @@ -6,6 +6,8 @@ from typing_extensions import TypeAlias from .isoparser import isoparse as isoparse, isoparser as isoparser _FileOrStr: TypeAlias = bytes | str | IO[str] | IO[Any] +_TzData: TypeAlias = tzinfo | int | str | None +_TzInfo: TypeAlias = Mapping[str, _TzData] | Callable[[str, int], _TzData] class parserinfo: JUMP: list[str] @@ -35,13 +37,28 @@ class parser: timestr: _FileOrStr, default: datetime | None = ..., ignoretz: bool = ..., - tzinfos: Mapping[str, tzinfo] | None = ..., - **kwargs: Any, + tzinfos: _TzInfo | None = ..., + *, + dayfirst: bool | None = ..., + yearfirst: bool | None = ..., + fuzzy: bool = ..., + fuzzy_with_tokens: bool = ..., ) -> datetime: ... DEFAULTPARSER: parser -def parse(timestr: _FileOrStr, parserinfo: parserinfo | None = ..., **kwargs: Any) -> datetime: ... +def parse( + timestr: _FileOrStr, + parserinfo: parserinfo | None = ..., + *, + dayfirst: bool | None = ..., + yearfirst: bool | None = ..., + ignoretz: bool = ..., + fuzzy: bool = ..., + fuzzy_with_tokens: bool = ..., + default: datetime | None = ..., + tzinfos: _TzInfo | None = ..., +) -> datetime: ... class _tzparser: ...