dycw-utilities 0.135.0__py3-none-any.whl → 0.178.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dycw-utilities might be problematic. Click here for more details.

Files changed (97) hide show
  1. dycw_utilities-0.178.1.dist-info/METADATA +34 -0
  2. dycw_utilities-0.178.1.dist-info/RECORD +105 -0
  3. dycw_utilities-0.178.1.dist-info/WHEEL +4 -0
  4. dycw_utilities-0.178.1.dist-info/entry_points.txt +4 -0
  5. utilities/__init__.py +1 -1
  6. utilities/altair.py +13 -10
  7. utilities/asyncio.py +312 -787
  8. utilities/atomicwrites.py +18 -6
  9. utilities/atools.py +64 -4
  10. utilities/cachetools.py +9 -6
  11. utilities/click.py +195 -77
  12. utilities/concurrent.py +1 -1
  13. utilities/contextlib.py +216 -17
  14. utilities/contextvars.py +20 -1
  15. utilities/cryptography.py +3 -3
  16. utilities/dataclasses.py +15 -28
  17. utilities/docker.py +387 -0
  18. utilities/enum.py +2 -2
  19. utilities/errors.py +17 -3
  20. utilities/fastapi.py +28 -59
  21. utilities/fpdf2.py +2 -2
  22. utilities/functions.py +24 -269
  23. utilities/git.py +9 -30
  24. utilities/grp.py +28 -0
  25. utilities/gzip.py +31 -0
  26. utilities/http.py +3 -2
  27. utilities/hypothesis.py +513 -159
  28. utilities/importlib.py +17 -1
  29. utilities/inflect.py +12 -4
  30. utilities/iterables.py +33 -58
  31. utilities/jinja2.py +148 -0
  32. utilities/json.py +70 -0
  33. utilities/libcst.py +38 -17
  34. utilities/lightweight_charts.py +4 -7
  35. utilities/logging.py +136 -93
  36. utilities/math.py +8 -4
  37. utilities/more_itertools.py +43 -45
  38. utilities/operator.py +27 -27
  39. utilities/orjson.py +189 -36
  40. utilities/os.py +61 -4
  41. utilities/packaging.py +115 -0
  42. utilities/parse.py +8 -5
  43. utilities/pathlib.py +269 -40
  44. utilities/permissions.py +298 -0
  45. utilities/platform.py +7 -6
  46. utilities/polars.py +1205 -413
  47. utilities/polars_ols.py +1 -1
  48. utilities/postgres.py +408 -0
  49. utilities/pottery.py +43 -19
  50. utilities/pqdm.py +3 -3
  51. utilities/psutil.py +5 -57
  52. utilities/pwd.py +28 -0
  53. utilities/pydantic.py +4 -52
  54. utilities/pydantic_settings.py +240 -0
  55. utilities/pydantic_settings_sops.py +76 -0
  56. utilities/pyinstrument.py +7 -7
  57. utilities/pytest.py +104 -143
  58. utilities/pytest_plugins/__init__.py +1 -0
  59. utilities/pytest_plugins/pytest_randomly.py +23 -0
  60. utilities/pytest_plugins/pytest_regressions.py +56 -0
  61. utilities/pytest_regressions.py +26 -46
  62. utilities/random.py +11 -6
  63. utilities/re.py +1 -1
  64. utilities/redis.py +220 -343
  65. utilities/sentinel.py +10 -0
  66. utilities/shelve.py +4 -1
  67. utilities/shutil.py +25 -0
  68. utilities/slack_sdk.py +35 -104
  69. utilities/sqlalchemy.py +496 -471
  70. utilities/sqlalchemy_polars.py +29 -54
  71. utilities/string.py +2 -3
  72. utilities/subprocess.py +1977 -0
  73. utilities/tempfile.py +112 -4
  74. utilities/testbook.py +50 -0
  75. utilities/text.py +174 -42
  76. utilities/throttle.py +158 -0
  77. utilities/timer.py +2 -2
  78. utilities/traceback.py +70 -35
  79. utilities/types.py +102 -30
  80. utilities/typing.py +479 -19
  81. utilities/uuid.py +42 -5
  82. utilities/version.py +27 -26
  83. utilities/whenever.py +1559 -361
  84. utilities/zoneinfo.py +80 -22
  85. dycw_utilities-0.135.0.dist-info/METADATA +0 -39
  86. dycw_utilities-0.135.0.dist-info/RECORD +0 -96
  87. dycw_utilities-0.135.0.dist-info/WHEEL +0 -4
  88. dycw_utilities-0.135.0.dist-info/licenses/LICENSE +0 -21
  89. utilities/aiolimiter.py +0 -25
  90. utilities/arq.py +0 -216
  91. utilities/eventkit.py +0 -388
  92. utilities/luigi.py +0 -183
  93. utilities/period.py +0 -152
  94. utilities/pudb.py +0 -62
  95. utilities/python_dotenv.py +0 -101
  96. utilities/streamlit.py +0 -105
  97. utilities/typed_settings.py +0 -123
utilities/types.py CHANGED
@@ -1,8 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import datetime as dt
4
- from asyncio import Event
5
- from collections.abc import Callable, Coroutine, Hashable, Iterable, Mapping
4
+ from collections.abc import Callable, Collection, Coroutine, Iterable, Mapping
6
5
  from enum import Enum
7
6
  from ipaddress import IPv4Address, IPv6Address
8
7
  from logging import Logger
@@ -16,21 +15,26 @@ from typing import (
16
15
  Literal,
17
16
  Protocol,
18
17
  TypeVar,
18
+ get_args,
19
19
  overload,
20
20
  runtime_checkable,
21
21
  )
22
+ from uuid import UUID
22
23
  from zoneinfo import ZoneInfo
23
24
 
24
25
  from whenever import (
25
26
  Date,
26
27
  DateDelta,
27
28
  DateTimeDelta,
29
+ MonthDay,
28
30
  PlainDateTime,
29
31
  Time,
30
32
  TimeDelta,
33
+ YearMonth,
31
34
  ZonedDateTime,
32
35
  )
33
36
 
37
+ _T = TypeVar("_T")
34
38
  _T_co = TypeVar("_T_co", covariant=True)
35
39
  _T_contra = TypeVar("_T_contra", contravariant=True)
36
40
 
@@ -63,16 +67,28 @@ type MaybeStr[T] = T | str
63
67
  type MaybeType[T] = T | type[T]
64
68
  type StrMapping = Mapping[str, Any]
65
69
  type StrStrMapping = Mapping[str, str]
66
- type TypeLike[T] = type[T] | tuple[type[T], ...]
67
70
  type TupleOrStrMapping = tuple[Any, ...] | StrMapping
71
+ type TypeLike[T] = type[T] | tuple[type[T], ...]
72
+ # basic - derived
73
+ type MaybeCallableBoolLike = MaybeCallable[BoolLike]
74
+ type BoolLike = MaybeStr[bool]
68
75
 
69
76
 
70
77
  # asyncio
71
78
  type Coro[T] = Coroutine[Any, Any, T]
72
- type MaybeCallableEvent = MaybeCallable[Event]
73
79
  type MaybeCoro[T] = T | Coro[T]
74
80
 
75
81
 
82
+ # collections.abc
83
+ type SupportsFloatOrIndex = SupportsFloat | SupportsIndex
84
+
85
+
86
+ @runtime_checkable
87
+ class SupportsKeysAndGetItem(Protocol[_T, _T_co]):
88
+ def keys(self) -> Iterable[_T]: ... # pragma: no cover
89
+ def __getitem__(self, key: _T, /) -> _T_co: ... # pragma: no cover
90
+
91
+
76
92
  # concurrent
77
93
  type Parallelism = Literal["processes", "threads"]
78
94
 
@@ -85,28 +101,41 @@ class Dataclass(Protocol):
85
101
  __dataclass_fields__: ClassVar[dict[str, Any]]
86
102
 
87
103
 
104
+ # datetime
105
+ type MonthInt = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
106
+
107
+
88
108
  # enum
89
109
  type EnumLike[E: Enum] = MaybeStr[E]
90
110
 
91
111
 
112
+ # errors
113
+ type ExceptionTypeLike[T: Exception] = type[T] | tuple[type[T], ...]
114
+
115
+
92
116
  # ipaddress
93
117
  IPv4AddressLike = MaybeStr[IPv4Address]
94
118
  IPv6AddressLike = MaybeStr[IPv6Address]
95
119
 
96
120
 
97
121
  # iterables
98
- type MaybeIterable[_T] = _T | Iterable[_T]
99
- type IterableHashable[_THashable: Hashable] = (
100
- tuple[_THashable, ...] | frozenset[_THashable]
101
- )
102
- type MaybeIterableHashable[_THashable: Hashable] = (
103
- _THashable | IterableHashable[_THashable]
104
- )
122
+ type MaybeCollection[T] = T | Collection[T]
123
+ type MaybeIterable[T] = T | Iterable[T]
124
+ type MaybeList[T] = T | list[T]
125
+ type MaybeSet[T] = T | set[T] | frozenset[T]
126
+ type SequenceLT[T] = list[T] | tuple[T, ...]
127
+ # iterables - dervied
128
+ type MaybeSequence[T] = T | SequenceLT[T]
129
+ type SequenceStr = SequenceLT[str]
130
+ type CollectionStr = dict[str, Any] | frozenset[str] | set[str] | SequenceStr
131
+ # iterables - maybe str
132
+ type MaybeCollectionStr = str | CollectionStr
133
+ type MaybeSequenceStr = str | SequenceStr
105
134
 
106
135
 
107
136
  # logging
108
137
  type LogLevel = Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
109
- type LoggerOrName = MaybeStr[Logger]
138
+ type LoggerLike = MaybeStr[Logger]
110
139
 
111
140
 
112
141
  # math
@@ -190,8 +219,8 @@ type SerializeObjectExtra = Mapping[Any, Callable[[Any], str]]
190
219
 
191
220
 
192
221
  # pathlib
193
- type MaybeCallablePathLike = MaybeCallable[PathLike]
194
222
  type PathLike = MaybeStr[Path]
223
+ type MaybeCallablePathLike = MaybeCallable[PathLike]
195
224
 
196
225
 
197
226
  # random
@@ -202,28 +231,44 @@ type Seed = int | float | str | bytes | bytearray | Random
202
231
  type PatternLike = MaybeStr[Pattern[str]]
203
232
 
204
233
 
234
+ # retry
235
+ type Retry = tuple[int, Delta | None]
236
+
237
+
238
+ # text
239
+ type MaybeCallableStr = MaybeCallable[str]
240
+
241
+
205
242
  # traceback
206
243
  type ExcInfo = tuple[type[BaseException], BaseException, TracebackType]
207
244
  type OptExcInfo = ExcInfo | tuple[None, None, None]
208
245
 
209
246
 
247
+ # uuid
248
+ type UUIDLike = MaybeStr[UUID]
249
+ type MaybeCallableUUIDLike = MaybeCallable[UUIDLike | Seed]
250
+
251
+
210
252
  # whenever
211
253
  type DateDeltaLike = MaybeStr[DateDelta]
212
254
  type DateLike = MaybeStr[Date]
255
+ type DateOrDateTimeDelta = DateDelta | DateTimeDelta
213
256
  type DateTimeDeltaLike = MaybeStr[DateTimeDelta]
214
- type MaybeCallableDate = MaybeCallable[Date]
215
- type MaybeCallableZonedDateTime = MaybeCallable[ZonedDateTime]
216
- type PlainDateTimeLike = MaybeStr[PlainDateTime]
217
- type TimeDeltaLike = MaybeStr[TimeDelta]
218
- type TimeLike = MaybeStr[Time]
219
- type ZonedDateTimeLike = MaybeStr[ZonedDateTime]
220
- type DateTimeRoundUnit = Literal[
221
- "day", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond"
222
- ]
223
257
  type DateTimeRoundMode = Literal[
224
258
  "ceil", "floor", "half_ceil", "half_floor", "half_even"
225
259
  ]
260
+ type Delta = DateDelta | TimeDelta | DateTimeDelta
261
+ type MaybeCallableDateLike = MaybeCallable[DateLike]
262
+ type MaybeCallableTimeLike = MaybeCallable[TimeLike]
263
+ type MaybeCallableZonedDateTimeLike = MaybeCallable[ZonedDateTimeLike]
264
+ type MonthDayLike = MaybeStr[MonthDay]
265
+ type PlainDateTimeLike = MaybeStr[PlainDateTime]
266
+ type TimeDeltaLike = MaybeStr[TimeDelta]
267
+ type TimeLike = MaybeStr[Time]
268
+ type TimeOrDateTimeDelta = TimeDelta | DateTimeDelta
226
269
  type WeekDay = Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
270
+ type YearMonthLike = MaybeStr[YearMonth]
271
+ type ZonedDateTimeLike = MaybeStr[ZonedDateTime]
227
272
 
228
273
 
229
274
  # zoneinfo
@@ -232,37 +277,57 @@ type TimeZone = Literal[
232
277
  "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", "Africa/Asmara", "Africa/Asmera", "Africa/Bamako", "Africa/Bangui", "Africa/Banjul", "Africa/Bissau", "Africa/Blantyre", "Africa/Brazzaville", "Africa/Bujumbura", "Africa/Cairo", "Africa/Casablanca", "Africa/Ceuta", "Africa/Conakry", "Africa/Dakar", "Africa/Dar_es_Salaam", "Africa/Djibouti", "Africa/Douala", "Africa/El_Aaiun", "Africa/Freetown", "Africa/Gaborone", "Africa/Harare", "Africa/Johannesburg", "Africa/Juba", "Africa/Kampala", "Africa/Khartoum", "Africa/Kigali", "Africa/Kinshasa", "Africa/Lagos", "Africa/Libreville", "Africa/Lome", "Africa/Luanda", "Africa/Lubumbashi", "Africa/Lusaka", "Africa/Malabo", "Africa/Maputo", "Africa/Maseru", "Africa/Mbabane", "Africa/Mogadishu", "Africa/Monrovia", "Africa/Nairobi", "Africa/Ndjamena", "Africa/Niamey", "Africa/Nouakchott", "Africa/Ouagadougou", "Africa/Porto-Novo", "Africa/Sao_Tome", "Africa/Timbuktu", "Africa/Tripoli", "Africa/Tunis", "Africa/Windhoek", "America/Adak", "America/Anchorage", "America/Anguilla", "America/Antigua", "America/Araguaina", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/ComodRivadavia", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/Salta", "America/Argentina/San_Juan", "America/Argentina/San_Luis", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Aruba", "America/Asuncion", "America/Atikokan", "America/Atka", "America/Bahia", "America/Bahia_Banderas", "America/Barbados", "America/Belem", "America/Belize", "America/Blanc-Sablon", "America/Boa_Vista", "America/Bogota", "America/Boise", "America/Buenos_Aires", "America/Cambridge_Bay", "America/Campo_Grande", "America/Cancun", "America/Caracas", "America/Catamarca", "America/Cayenne", "America/Cayman", "America/Chicago", "America/Chihuahua", "America/Ciudad_Juarez", "America/Coral_Harbour", "America/Cordoba", "America/Costa_Rica", "America/Coyhaique", "America/Creston", "America/Cuiaba", "America/Curacao", "America/Danmarkshavn", "America/Dawson", "America/Dawson_Creek", "America/Denver", "America/Detroit", "America/Dominica", "America/Edmonton", "America/Eirunepe", "America/El_Salvador", "America/Ensenada", "America/Fort_Nelson", "America/Fort_Wayne", "America/Fortaleza", "America/Glace_Bay", "America/Godthab", "America/Goose_Bay", "America/Grand_Turk", "America/Grenada", "America/Guadeloupe", "America/Guatemala", "America/Guayaquil", "America/Guyana", "America/Halifax", "America/Havana", "America/Hermosillo", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Inuvik", "America/Iqaluit", "America/Jamaica", "America/Jujuy", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Knox_IN", "America/Kralendijk", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Louisville", "America/Lower_Princes", "America/Maceio", "America/Managua", "America/Manaus", "America/Marigot", "America/Martinique", "America/Matamoros", "America/Mazatlan", "America/Mendoza", "America/Menominee", "America/Merida", "America/Metlakatla", "America/Mexico_City", "America/Miquelon", "America/Moncton", "America/Monterrey", "America/Montevideo", "America/Montreal", "America/Montserrat", "America/Nassau", "America/New_York", "America/Nipigon", "America/Nome", "America/Noronha", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Nuuk", "America/Ojinaga", "America/Panama", "America/Pangnirtung", "America/Paramaribo", "America/Phoenix", "America/Port-au-Prince", "America/Port_of_Spain", "America/Porto_Acre", "America/Porto_Velho", "America/Puerto_Rico", "America/Punta_Arenas", "America/Rainy_River", "America/Rankin_Inlet", "America/Recife", "America/Regina", "America/Resolute", "America/Rio_Branco", "America/Rosario", "America/Santa_Isabel", "America/Santarem", "America/Santiago", "America/Santo_Domingo", "America/Sao_Paulo", "America/Scoresbysund", "America/Shiprock", "America/Sitka", "America/St_Barthelemy", "America/St_Johns", "America/St_Kitts", "America/St_Lucia", "America/St_Thomas", "America/St_Vincent", "America/Swift_Current", "America/Tegucigalpa", "America/Thule", "America/Thunder_Bay", "America/Tijuana", "America/Toronto", "America/Tortola", "America/Vancouver", "America/Virgin", "America/Whitehorse", "America/Winnipeg", "America/Yakutat", "America/Yellowknife", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Macquarie", "Antarctica/Mawson", "Antarctica/McMurdo", "Antarctica/Palmer", "Antarctica/Rothera", "Antarctica/South_Pole", "Antarctica/Syowa", "Antarctica/Troll", "Antarctica/Vostok", "Arctic/Longyearbyen", "Asia/Aden", "Asia/Almaty", "Asia/Amman", "Asia/Anadyr", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Ashgabat", "Asia/Ashkhabad", "Asia/Atyrau", "Asia/Baghdad", "Asia/Bahrain", "Asia/Baku", "Asia/Bangkok", "Asia/Barnaul", "Asia/Beirut", "Asia/Bishkek", "Asia/Brunei", "Asia/Calcutta", "Asia/Chita", "Asia/Choibalsan", "Asia/Chongqing", "Asia/Chungking", "Asia/Colombo", "Asia/Dacca", "Asia/Damascus", "Asia/Dhaka", "Asia/Dili", "Asia/Dubai", "Asia/Dushanbe", "Asia/Famagusta", "Asia/Gaza", "Asia/Harbin", "Asia/Hebron", "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", "Asia/Hovd", "Asia/Irkutsk", "Asia/Istanbul", "Asia/Jakarta", "Asia/Jayapura", "Asia/Jerusalem", "Asia/Kabul", "Asia/Kamchatka", "Asia/Karachi", "Asia/Kashgar", "Asia/Kathmandu", "Asia/Katmandu", "Asia/Khandyga", "Asia/Kolkata", "Asia/Krasnoyarsk", "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Kuwait", "Asia/Macao", "Asia/Macau", "Asia/Magadan", "Asia/Makassar", "Asia/Manila", "Asia/Muscat", "Asia/Nicosia", "Asia/Novokuznetsk", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Oral", "Asia/Phnom_Penh", "Asia/Pontianak", "Asia/Pyongyang", "Asia/Qatar", "Asia/Qostanay", "Asia/Qyzylorda", "Asia/Rangoon", "Asia/Riyadh", "Asia/Saigon", "Asia/Sakhalin", "Asia/Samarkand", "Asia/Seoul", "Asia/Shanghai", "Asia/Singapore", "Asia/Srednekolymsk", "Asia/Taipei", "Asia/Tashkent", "Asia/Tbilisi", "Asia/Tehran", "Asia/Tel_Aviv", "Asia/Thimbu", "Asia/Thimphu", "Asia/Tokyo", "Asia/Tomsk", "Asia/Ujung_Pandang", "Asia/Ulaanbaatar", "Asia/Ulan_Bator", "Asia/Urumqi", "Asia/Ust-Nera", "Asia/Vientiane", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yangon", "Asia/Yekaterinburg", "Asia/Yerevan", "Atlantic/Azores", "Atlantic/Bermuda", "Atlantic/Canary", "Atlantic/Cape_Verde", "Atlantic/Faeroe", "Atlantic/Faroe", "Atlantic/Jan_Mayen", "Atlantic/Madeira", "Atlantic/Reykjavik", "Atlantic/South_Georgia", "Atlantic/St_Helena", "Atlantic/Stanley", "Australia/ACT", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Canberra", "Australia/Currie", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/LHI", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/NSW", "Australia/North", "Australia/Perth", "Australia/Queensland", "Australia/South", "Australia/Sydney", "Australia/Tasmania", "Australia/Victoria", "Australia/West", "Australia/Yancowinna", "Brazil/Acre", "Brazil/DeNoronha", "Brazil/East", "Brazil/West", "CET", "CST6CDT", "Canada/Atlantic", "Canada/Central", "Canada/Eastern", "Canada/Mountain", "Canada/Newfoundland", "Canada/Pacific", "Canada/Saskatchewan", "Canada/Yukon", "Chile/Continental", "Chile/EasterIsland", "Cuba", "EET", "EST", "EST5EDT", "Egypt", "Eire", "Etc/GMT", "Etc/GMT+0", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-0", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/GMT0", "Etc/Greenwich", "Etc/UCT", "Etc/UTC", "Etc/Universal", "Etc/Zulu", "Europe/Amsterdam", "Europe/Andorra", "Europe/Astrakhan", "Europe/Athens", "Europe/Belfast", "Europe/Belgrade", "Europe/Berlin", "Europe/Bratislava", "Europe/Brussels", "Europe/Bucharest", "Europe/Budapest", "Europe/Busingen", "Europe/Chisinau", "Europe/Copenhagen", "Europe/Dublin", "Europe/Gibraltar", "Europe/Guernsey", "Europe/Helsinki", "Europe/Isle_of_Man", "Europe/Istanbul", "Europe/Jersey", "Europe/Kaliningrad", "Europe/Kiev", "Europe/Kirov", "Europe/Kyiv", "Europe/Lisbon", "Europe/Ljubljana", "Europe/London", "Europe/Luxembourg", "Europe/Madrid", "Europe/Malta", "Europe/Mariehamn", "Europe/Minsk", "Europe/Monaco", "Europe/Moscow", "Europe/Nicosia", "Europe/Oslo", "Europe/Paris", "Europe/Podgorica", "Europe/Prague", "Europe/Riga", "Europe/Rome", "Europe/Samara", "Europe/San_Marino", "Europe/Sarajevo", "Europe/Saratov", "Europe/Simferopol", "Europe/Skopje", "Europe/Sofia", "Europe/Stockholm", "Europe/Tallinn", "Europe/Tirane", "Europe/Tiraspol", "Europe/Ulyanovsk", "Europe/Uzhgorod", "Europe/Vaduz", "Europe/Vatican", "Europe/Vienna", "Europe/Vilnius", "Europe/Volgograd", "Europe/Warsaw", "Europe/Zagreb", "Europe/Zaporozhye", "Europe/Zurich", "Factory", "GB", "GB-Eire", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich", "HST", "Hongkong", "Iceland", "Indian/Antananarivo", "Indian/Chagos", "Indian/Christmas", "Indian/Cocos", "Indian/Comoro", "Indian/Kerguelen", "Indian/Mahe", "Indian/Maldives", "Indian/Mauritius", "Indian/Mayotte", "Indian/Reunion", "Iran", "Israel", "Jamaica", "Japan", "Kwajalein", "Libya", "MET", "MST", "MST7MDT", "Mexico/BajaNorte", "Mexico/BajaSur", "Mexico/General", "NZ", "NZ-CHAT", "Navajo", "PRC", "PST8PDT", "Pacific/Apia", "Pacific/Auckland", "Pacific/Bougainville", "Pacific/Chatham", "Pacific/Chuuk", "Pacific/Easter", "Pacific/Efate", "Pacific/Enderbury", "Pacific/Fakaofo", "Pacific/Fiji", "Pacific/Funafuti", "Pacific/Galapagos", "Pacific/Gambier", "Pacific/Guadalcanal", "Pacific/Guam", "Pacific/Honolulu", "Pacific/Johnston", "Pacific/Kanton", "Pacific/Kiritimati", "Pacific/Kosrae", "Pacific/Kwajalein", "Pacific/Majuro", "Pacific/Marquesas", "Pacific/Midway", "Pacific/Nauru", "Pacific/Niue", "Pacific/Norfolk", "Pacific/Noumea", "Pacific/Pago_Pago", "Pacific/Palau", "Pacific/Pitcairn", "Pacific/Pohnpei", "Pacific/Ponape", "Pacific/Port_Moresby", "Pacific/Rarotonga", "Pacific/Saipan", "Pacific/Samoa", "Pacific/Tahiti", "Pacific/Tarawa", "Pacific/Tongatapu", "Pacific/Truk", "Pacific/Wake", "Pacific/Wallis", "Pacific/Yap", "Poland", "Portugal", "ROC", "ROK", "Singapore", "Turkey", "UCT", "US/Alaska", "US/Aleutian", "US/Arizona", "US/Central", "US/East-Indiana", "US/Eastern", "US/Hawaii", "US/Indiana-Starke", "US/Michigan", "US/Mountain", "US/Pacific", "US/Samoa", "UTC", "Universal", "W-SU", "WET", "Zulu"
233
278
  ]
234
279
  # fmt: on
280
+ TIME_ZONES: list[TimeZone] = list(get_args(TimeZone.__value__))
281
+
282
+
235
283
  type TimeZoneLike = (
236
- ZoneInfo | ZonedDateTime | Literal["local"] | TimeZone | dt.tzinfo | dt.datetime
284
+ ZoneInfo
285
+ | ZonedDateTime
286
+ | Literal["local", "localtime"]
287
+ | TimeZone
288
+ | dt.tzinfo
289
+ | dt.datetime
237
290
  )
238
291
 
239
292
 
240
293
  __all__ = [
294
+ "TIME_ZONES",
241
295
  "Coro",
242
296
  "Dataclass",
243
297
  "DateDeltaLike",
244
298
  "DateLike",
299
+ "DateOrDateTimeDelta",
245
300
  "DateTimeDeltaLike",
246
301
  "DateTimeRoundMode",
247
- "DateTimeRoundUnit",
302
+ "Delta",
248
303
  "EnumLike",
249
304
  "ExcInfo",
305
+ "ExceptionTypeLike",
250
306
  "IPv4AddressLike",
251
307
  "IPv6AddressLike",
252
- "IterableHashable",
253
308
  "LogLevel",
254
- "LoggerOrName",
309
+ "LoggerLike",
255
310
  "MathRoundMode",
256
311
  "MaybeCallable",
257
- "MaybeCallableDate",
258
- "MaybeCallableEvent",
312
+ "MaybeCallableBoolLike",
313
+ "MaybeCallableDateLike",
259
314
  "MaybeCallablePathLike",
260
- "MaybeCallableZonedDateTime",
315
+ "MaybeCallableStr",
316
+ "MaybeCallableTimeLike",
317
+ "MaybeCallableUUIDLike",
318
+ "MaybeCallableZonedDateTimeLike",
319
+ "MaybeCollection",
320
+ "MaybeCollectionStr",
261
321
  "MaybeCoro",
262
322
  "MaybeIterable",
263
- "MaybeIterableHashable",
323
+ "MaybeList",
324
+ "MaybeSequence",
325
+ "MaybeSequenceStr",
326
+ "MaybeSet",
264
327
  "MaybeStr",
265
328
  "MaybeType",
329
+ "MonthDayLike",
330
+ "MonthInt",
266
331
  "Number",
267
332
  "OpenMode",
268
333
  "OptExcInfo",
@@ -271,7 +336,9 @@ __all__ = [
271
336
  "PathLike",
272
337
  "PatternLike",
273
338
  "PlainDateTimeLike",
339
+ "Retry",
274
340
  "Seed",
341
+ "SequenceStr",
275
342
  "SerializeObjectExtra",
276
343
  "Sign",
277
344
  "StrMapping",
@@ -281,18 +348,23 @@ __all__ = [
281
348
  "SupportsBytes",
282
349
  "SupportsComplex",
283
350
  "SupportsFloat",
351
+ "SupportsFloatOrIndex",
284
352
  "SupportsGT",
285
353
  "SupportsInt",
286
354
  "SupportsInt",
355
+ "SupportsKeysAndGetItem",
287
356
  "SupportsLT",
288
357
  "SupportsRichComparison",
289
358
  "SupportsRound",
290
359
  "TimeDeltaLike",
291
360
  "TimeLike",
361
+ "TimeOrDateTimeDelta",
292
362
  "TimeZone",
293
363
  "TimeZoneLike",
294
364
  "TupleOrStrMapping",
295
365
  "TypeLike",
366
+ "UUIDLike",
296
367
  "WeekDay",
368
+ "YearMonthLike",
297
369
  "ZonedDateTimeLike",
298
370
  ]