basedpyright 1.13.2 → 1.13.3

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.
Files changed (229) hide show
  1. package/dist/pyright-langserver.js +1 -1
  2. package/dist/pyright-langserver.js.map +1 -1
  3. package/dist/pyright.js +1 -1
  4. package/dist/pyright.js.map +1 -1
  5. package/dist/typeshed-fallback/commit.txt +1 -1
  6. package/dist/typeshed-fallback/stdlib/VERSIONS +2 -0
  7. package/dist/typeshed-fallback/stdlib/_ast.pyi +42 -279
  8. package/dist/typeshed-fallback/stdlib/_bisect.pyi +221 -221
  9. package/dist/typeshed-fallback/stdlib/_bootlocale.pyi +1 -1
  10. package/dist/typeshed-fallback/stdlib/_collections_abc.pyi +15 -5
  11. package/dist/typeshed-fallback/stdlib/_csv.pyi +213 -213
  12. package/dist/typeshed-fallback/stdlib/_decimal.pyi +0 -18
  13. package/dist/typeshed-fallback/stdlib/_dummy_thread.pyi +33 -33
  14. package/dist/typeshed-fallback/stdlib/_dummy_threading.pyi +180 -164
  15. package/dist/typeshed-fallback/stdlib/_heapq.pyi +67 -67
  16. package/dist/typeshed-fallback/stdlib/_interpqueues.pyi +16 -0
  17. package/dist/typeshed-fallback/stdlib/_interpreters.pyi +50 -0
  18. package/dist/typeshed-fallback/stdlib/_json.pyi +92 -92
  19. package/dist/typeshed-fallback/stdlib/_lsprof.pyi +92 -92
  20. package/dist/typeshed-fallback/stdlib/_msi.pyi +94 -92
  21. package/dist/typeshed-fallback/stdlib/_operator.pyi +0 -24
  22. package/dist/typeshed-fallback/stdlib/_random.pyi +30 -30
  23. package/dist/typeshed-fallback/stdlib/_tkinter.pyi +6 -2
  24. package/dist/typeshed-fallback/stdlib/_weakrefset.pyi +7 -1
  25. package/dist/typeshed-fallback/stdlib/abc.pyi +12 -4
  26. package/dist/typeshed-fallback/stdlib/argparse.pyi +3 -1
  27. package/dist/typeshed-fallback/stdlib/array.pyi +281 -281
  28. package/dist/typeshed-fallback/stdlib/asynchat.pyi +21 -21
  29. package/dist/typeshed-fallback/stdlib/asyncio/events.pyi +35 -4
  30. package/dist/typeshed-fallback/stdlib/asyncio/futures.pyi +107 -15
  31. package/dist/typeshed-fallback/stdlib/asyncio/locks.pyi +9 -3
  32. package/dist/typeshed-fallback/stdlib/asyncio/queues.pyi +10 -2
  33. package/dist/typeshed-fallback/stdlib/asyncio/sslproto.pyi +23 -4
  34. package/dist/typeshed-fallback/stdlib/asyncio/tasks.pyi +107 -12
  35. package/dist/typeshed-fallback/stdlib/asyncio/windows_events.pyi +86 -86
  36. package/dist/typeshed-fallback/stdlib/asyncio/windows_utils.pyi +49 -49
  37. package/dist/typeshed-fallback/stdlib/asyncore.pyi +90 -90
  38. package/dist/typeshed-fallback/stdlib/audioop.pyi +95 -95
  39. package/dist/typeshed-fallback/stdlib/binascii.pyi +123 -123
  40. package/dist/typeshed-fallback/stdlib/binhex.pyi +45 -45
  41. package/dist/typeshed-fallback/stdlib/builtins.pyi +0 -1
  42. package/dist/typeshed-fallback/stdlib/bz2.pyi +59 -6
  43. package/dist/typeshed-fallback/stdlib/cmath.pyi +112 -112
  44. package/dist/typeshed-fallback/stdlib/codecs.pyi +18 -6
  45. package/dist/typeshed-fallback/stdlib/collections/__init__.pyi +200 -56
  46. package/dist/typeshed-fallback/stdlib/concurrent/futures/__init__.pyi +33 -14
  47. package/dist/typeshed-fallback/stdlib/concurrent/futures/_base.pyi +7 -1
  48. package/dist/typeshed-fallback/stdlib/concurrent/futures/thread.pyi +7 -1
  49. package/dist/typeshed-fallback/stdlib/contextvars.pyi +99 -16
  50. package/dist/typeshed-fallback/stdlib/csv.pyi +14 -2
  51. package/dist/typeshed-fallback/stdlib/ctypes/__init__.pyi +7 -1
  52. package/dist/typeshed-fallback/stdlib/ctypes/_endian.pyi +6 -2
  53. package/dist/typeshed-fallback/stdlib/curses/panel.pyi +16 -4
  54. package/dist/typeshed-fallback/stdlib/dataclasses.pyi +7 -1
  55. package/dist/typeshed-fallback/stdlib/datetime.pyi +346 -104
  56. package/dist/typeshed-fallback/stdlib/dbm/gnu.pyi +52 -2
  57. package/dist/typeshed-fallback/stdlib/dbm/ndbm.pyi +26 -2
  58. package/dist/typeshed-fallback/stdlib/difflib.pyi +7 -1
  59. package/dist/typeshed-fallback/stdlib/distutils/__init__.pyi +5 -5
  60. package/dist/typeshed-fallback/stdlib/distutils/archive_util.pyi +35 -35
  61. package/dist/typeshed-fallback/stdlib/distutils/bcppcompiler.pyi +3 -3
  62. package/dist/typeshed-fallback/stdlib/distutils/ccompiler.pyi +173 -173
  63. package/dist/typeshed-fallback/stdlib/distutils/cmd.pyi +99 -99
  64. package/dist/typeshed-fallback/stdlib/distutils/command/bdist.pyi +25 -25
  65. package/dist/typeshed-fallback/stdlib/distutils/command/bdist_dumb.pyi +21 -21
  66. package/dist/typeshed-fallback/stdlib/distutils/command/bdist_msi.pyi +45 -45
  67. package/dist/typeshed-fallback/stdlib/distutils/command/bdist_rpm.pyi +52 -52
  68. package/dist/typeshed-fallback/stdlib/distutils/command/bdist_wininst.pyi +16 -16
  69. package/dist/typeshed-fallback/stdlib/distutils/command/build.pyi +33 -33
  70. package/dist/typeshed-fallback/stdlib/distutils/command/build_clib.pyi +27 -27
  71. package/dist/typeshed-fallback/stdlib/distutils/command/build_ext.pyi +50 -50
  72. package/dist/typeshed-fallback/stdlib/distutils/command/build_py.pyi +44 -44
  73. package/dist/typeshed-fallback/stdlib/distutils/command/build_scripts.pyi +24 -24
  74. package/dist/typeshed-fallback/stdlib/distutils/command/check.pyi +39 -39
  75. package/dist/typeshed-fallback/stdlib/distutils/command/clean.pyi +17 -17
  76. package/dist/typeshed-fallback/stdlib/distutils/command/config.pyi +84 -84
  77. package/dist/typeshed-fallback/stdlib/distutils/command/install.pyi +65 -65
  78. package/dist/typeshed-fallback/stdlib/distutils/command/install_data.pyi +19 -19
  79. package/dist/typeshed-fallback/stdlib/distutils/command/install_egg_info.pyi +18 -18
  80. package/dist/typeshed-fallback/stdlib/distutils/command/install_headers.pyi +16 -16
  81. package/dist/typeshed-fallback/stdlib/distutils/command/install_lib.pyi +25 -25
  82. package/dist/typeshed-fallback/stdlib/distutils/command/install_scripts.pyi +18 -18
  83. package/dist/typeshed-fallback/stdlib/distutils/command/register.pyi +20 -20
  84. package/dist/typeshed-fallback/stdlib/distutils/command/sdist.pyi +44 -44
  85. package/dist/typeshed-fallback/stdlib/distutils/command/upload.pyi +17 -17
  86. package/dist/typeshed-fallback/stdlib/distutils/config.pyi +17 -17
  87. package/dist/typeshed-fallback/stdlib/distutils/core.pyi +57 -57
  88. package/dist/typeshed-fallback/stdlib/distutils/cygwinccompiler.pyi +20 -20
  89. package/dist/typeshed-fallback/stdlib/distutils/debug.pyi +1 -1
  90. package/dist/typeshed-fallback/stdlib/distutils/dep_util.pyi +14 -14
  91. package/dist/typeshed-fallback/stdlib/distutils/dir_util.pyi +23 -23
  92. package/dist/typeshed-fallback/stdlib/distutils/dist.pyi +149 -149
  93. package/dist/typeshed-fallback/stdlib/distutils/errors.pyi +19 -19
  94. package/dist/typeshed-fallback/stdlib/distutils/extension.pyi +36 -36
  95. package/dist/typeshed-fallback/stdlib/distutils/fancy_getopt.pyi +34 -34
  96. package/dist/typeshed-fallback/stdlib/distutils/file_util.pyi +38 -38
  97. package/dist/typeshed-fallback/stdlib/distutils/filelist.pyi +58 -58
  98. package/dist/typeshed-fallback/stdlib/distutils/log.pyi +25 -25
  99. package/dist/typeshed-fallback/stdlib/distutils/msvccompiler.pyi +3 -3
  100. package/dist/typeshed-fallback/stdlib/distutils/spawn.pyi +6 -6
  101. package/dist/typeshed-fallback/stdlib/distutils/sysconfig.pyi +33 -33
  102. package/dist/typeshed-fallback/stdlib/distutils/text_file.pyi +21 -21
  103. package/dist/typeshed-fallback/stdlib/distutils/unixccompiler.pyi +3 -3
  104. package/dist/typeshed-fallback/stdlib/distutils/util.pyi +50 -50
  105. package/dist/typeshed-fallback/stdlib/distutils/version.pyi +38 -36
  106. package/dist/typeshed-fallback/stdlib/dummy_threading.pyi +2 -2
  107. package/dist/typeshed-fallback/stdlib/email/_header_value_parser.pyi +3 -1
  108. package/dist/typeshed-fallback/stdlib/email/charset.pyi +3 -1
  109. package/dist/typeshed-fallback/stdlib/email/header.pyi +3 -1
  110. package/dist/typeshed-fallback/stdlib/email/headerregistry.pyi +6 -1
  111. package/dist/typeshed-fallback/stdlib/enum.pyi +8 -1
  112. package/dist/typeshed-fallback/stdlib/filecmp.pyi +7 -1
  113. package/dist/typeshed-fallback/stdlib/fileinput.pyi +7 -1
  114. package/dist/typeshed-fallback/stdlib/formatter.pyi +88 -88
  115. package/dist/typeshed-fallback/stdlib/fractions.pyi +6 -2
  116. package/dist/typeshed-fallback/stdlib/functools.pyi +65 -13
  117. package/dist/typeshed-fallback/stdlib/graphlib.pyi +7 -1
  118. package/dist/typeshed-fallback/stdlib/gzip.pyi +3 -1
  119. package/dist/typeshed-fallback/stdlib/hashlib.pyi +42 -14
  120. package/dist/typeshed-fallback/stdlib/heapq.pyi +3 -1
  121. package/dist/typeshed-fallback/stdlib/hmac.pyi +30 -2
  122. package/dist/typeshed-fallback/stdlib/http/cookies.pyi +7 -1
  123. package/dist/typeshed-fallback/stdlib/imp.pyi +62 -62
  124. package/dist/typeshed-fallback/stdlib/importlib/abc.pyi +3 -1
  125. package/dist/typeshed-fallback/stdlib/importlib/machinery.pyi +3 -1
  126. package/dist/typeshed-fallback/stdlib/importlib/metadata/__init__.pyi +79 -15
  127. package/dist/typeshed-fallback/stdlib/importlib/metadata/_meta.pyi +3 -1
  128. package/dist/typeshed-fallback/stdlib/importlib/resources/simple.pyi +3 -1
  129. package/dist/typeshed-fallback/stdlib/io.pyi +428 -44
  130. package/dist/typeshed-fallback/stdlib/ipaddress.pyi +153 -28
  131. package/dist/typeshed-fallback/stdlib/itertools.pyi +5 -1
  132. package/dist/typeshed-fallback/stdlib/json/encoder.pyi +14 -2
  133. package/dist/typeshed-fallback/stdlib/keyword.pyi +6 -2
  134. package/dist/typeshed-fallback/stdlib/lib2to3/pytree.pyi +12 -2
  135. package/dist/typeshed-fallback/stdlib/logging/__init__.pyi +17 -3
  136. package/dist/typeshed-fallback/stdlib/lzma.pyi +107 -9
  137. package/dist/typeshed-fallback/stdlib/mailbox.pyi +14 -2
  138. package/dist/typeshed-fallback/stdlib/math.pyi +424 -424
  139. package/dist/typeshed-fallback/stdlib/mmap.pyi +160 -160
  140. package/dist/typeshed-fallback/stdlib/msilib/__init__.pyi +177 -177
  141. package/dist/typeshed-fallback/stdlib/msilib/schema.pyi +94 -94
  142. package/dist/typeshed-fallback/stdlib/msilib/sequence.pyi +13 -13
  143. package/dist/typeshed-fallback/stdlib/msilib/text.pyi +7 -7
  144. package/dist/typeshed-fallback/stdlib/multiprocessing/connection.pyi +9 -3
  145. package/dist/typeshed-fallback/stdlib/multiprocessing/context.pyi +12 -2
  146. package/dist/typeshed-fallback/stdlib/multiprocessing/dummy/__init__.pyi +3 -1
  147. package/dist/typeshed-fallback/stdlib/multiprocessing/managers.pyi +10 -2
  148. package/dist/typeshed-fallback/stdlib/multiprocessing/pool.pyi +7 -1
  149. package/dist/typeshed-fallback/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -30
  150. package/dist/typeshed-fallback/stdlib/multiprocessing/process.pyi +15 -4
  151. package/dist/typeshed-fallback/stdlib/multiprocessing/queues.pyi +14 -2
  152. package/dist/typeshed-fallback/stdlib/multiprocessing/shared_memory.pyi +19 -5
  153. package/dist/typeshed-fallback/stdlib/nis.pyi +31 -4
  154. package/dist/typeshed-fallback/stdlib/numbers.pyi +26 -6
  155. package/dist/typeshed-fallback/stdlib/opcode.pyi +3 -1
  156. package/dist/typeshed-fallback/stdlib/optparse.pyi +3 -1
  157. package/dist/typeshed-fallback/stdlib/os/__init__.pyi +1447 -217
  158. package/dist/typeshed-fallback/stdlib/pathlib.pyi +42 -11
  159. package/dist/typeshed-fallback/stdlib/pickle.pyi +200 -12
  160. package/dist/typeshed-fallback/stdlib/posixpath.pyi +6 -2
  161. package/dist/typeshed-fallback/stdlib/pyexpat/errors.pyi +2 -0
  162. package/dist/typeshed-fallback/stdlib/pyexpat/model.pyi +2 -0
  163. package/dist/typeshed-fallback/stdlib/queue.pyi +57 -9
  164. package/dist/typeshed-fallback/stdlib/re.pyi +219 -57
  165. package/dist/typeshed-fallback/stdlib/sched.pyi +8 -1
  166. package/dist/typeshed-fallback/stdlib/signal.pyi +95 -19
  167. package/dist/typeshed-fallback/stdlib/smtpd.pyi +91 -91
  168. package/dist/typeshed-fallback/stdlib/socket.pyi +12 -2
  169. package/dist/typeshed-fallback/stdlib/sqlite3/dbapi2.pyi +417 -83
  170. package/dist/typeshed-fallback/stdlib/ssl.pyi +133 -22
  171. package/dist/typeshed-fallback/stdlib/statistics.pyi +20 -5
  172. package/dist/typeshed-fallback/stdlib/struct.pyi +114 -13
  173. package/dist/typeshed-fallback/stdlib/subprocess.pyi +14 -2
  174. package/dist/typeshed-fallback/stdlib/symbol.pyi +93 -93
  175. package/dist/typeshed-fallback/stdlib/symtable.pyi +30 -1
  176. package/dist/typeshed-fallback/stdlib/sys/__init__.pyi +7 -3
  177. package/dist/typeshed-fallback/stdlib/tarfile.pyi +6 -2
  178. package/dist/typeshed-fallback/stdlib/tempfile.pyi +17 -3
  179. package/dist/typeshed-fallback/stdlib/threading.pyi +68 -7
  180. package/dist/typeshed-fallback/stdlib/tkinter/__init__.pyi +3 -1
  181. package/dist/typeshed-fallback/stdlib/turtle.pyi +11 -3
  182. package/dist/typeshed-fallback/stdlib/types.pyi +306 -79
  183. package/dist/typeshed-fallback/stdlib/typing.pyi +310 -31
  184. package/dist/typeshed-fallback/stdlib/typing_extensions.pyi +42 -11
  185. package/dist/typeshed-fallback/stdlib/unittest/__init__.pyi +6 -1
  186. package/dist/typeshed-fallback/stdlib/unittest/case.pyi +7 -1
  187. package/dist/typeshed-fallback/stdlib/unittest/mock.pyi +3 -1
  188. package/dist/typeshed-fallback/stdlib/urllib/parse.pyi +51 -3
  189. package/dist/typeshed-fallback/stdlib/weakref.pyi +6 -2
  190. package/dist/typeshed-fallback/stdlib/winsound.pyi +44 -28
  191. package/dist/typeshed-fallback/stdlib/xml/dom/minicompat.pyi +6 -2
  192. package/dist/typeshed-fallback/stdlib/xml/dom/minidom.pyi +33 -11
  193. package/dist/typeshed-fallback/stdlib/xml/etree/ElementTree.pyi +30 -10
  194. package/dist/typeshed-fallback/stdlib/xml/parsers/expat/errors.pyi +2 -0
  195. package/dist/typeshed-fallback/stdlib/xml/parsers/expat/model.pyi +2 -0
  196. package/dist/typeshed-fallback/stdlib/xxlimited.pyi +19 -4
  197. package/dist/typeshed-fallback/stdlib/zipimport.pyi +31 -0
  198. package/dist/typeshed-fallback/stdlib/zlib.pyi +157 -157
  199. package/dist/typeshed-fallback/stdlib/zoneinfo/__init__.pyi +18 -6
  200. package/dist/typeshed-fallback/stubs/assertpy/assertpy/extracting.pyi +2 -2
  201. package/dist/typeshed-fallback/stubs/docker/docker/_types.pyi +18 -1
  202. package/dist/typeshed-fallback/stubs/docker/docker/api/container.pyi +5 -19
  203. package/dist/typeshed-fallback/stubs/docker/docker/api/daemon.pyi +2 -1
  204. package/dist/typeshed-fallback/stubs/docker/docker/models/containers.pyi +268 -6
  205. package/dist/typeshed-fallback/stubs/docker/docker/types/containers.pyi +3 -7
  206. package/dist/typeshed-fallback/stubs/docker/docker/types/daemon.pyi +10 -4
  207. package/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.pyi +47 -0
  208. package/dist/typeshed-fallback/stubs/gdb/gdb/__init__.pyi +1 -1
  209. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/generic.pyi +1 -1
  210. package/dist/typeshed-fallback/stubs/openpyxl/METADATA.toml +1 -1
  211. package/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/extended.pyi +0 -2
  212. package/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/named_styles.pyi +2 -1
  213. package/dist/typeshed-fallback/stubs/pygit2/METADATA.toml +1 -1
  214. package/dist/typeshed-fallback/stubs/pytest-lazy-fixture/pytest_lazyfixture.pyi +2 -2
  215. package/dist/typeshed-fallback/stubs/python-crontab/METADATA.toml +1 -1
  216. package/dist/typeshed-fallback/stubs/reportlab/METADATA.toml +1 -1
  217. package/dist/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi +23 -11
  218. package/dist/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfdoc.pyi +6 -0
  219. package/dist/typeshed-fallback/stubs/setuptools/METADATA.toml +1 -1
  220. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/archive_util.pyi +8 -8
  221. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.pyi +11 -17
  222. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cmd.pyi +11 -11
  223. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_py.pyi +1 -2
  224. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/filelist.pyi +4 -12
  225. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/sysconfig.pyi +2 -4
  226. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/util.pyi +5 -8
  227. package/dist/typeshed-fallback/stubs/str2bool/METADATA.toml +2 -0
  228. package/dist/typeshed-fallback/stubs/str2bool/str2bool/__init__.pyi +7 -0
  229. package/package.json +1 -1
@@ -14,12 +14,20 @@ MAXYEAR: Literal[9999]
14
14
 
15
15
  class tzinfo:
16
16
  @abstractmethod
17
- def tzname(self, dt: datetime | None, /) -> str | None: ...
17
+ def tzname(self, dt: datetime | None, /) -> str | None:
18
+ """datetime -> string name of time zone."""
19
+ ...
18
20
  @abstractmethod
19
- def utcoffset(self, dt: datetime | None, /) -> timedelta | None: ...
21
+ def utcoffset(self, dt: datetime | None, /) -> timedelta | None:
22
+ """datetime -> timedelta showing offset from UTC, negative values indicating West of UTC"""
23
+ ...
20
24
  @abstractmethod
21
- def dst(self, dt: datetime | None, /) -> timedelta | None: ...
22
- def fromutc(self, dt: datetime, /) -> datetime: ...
25
+ def dst(self, dt: datetime | None, /) -> timedelta | None:
26
+ """datetime -> DST offset as timedelta positive east of UTC."""
27
+ ...
28
+ def fromutc(self, dt: datetime, /) -> datetime:
29
+ """datetime in UTC -> datetime in local time."""
30
+ ...
23
31
 
24
32
  # Alias required to avoid name conflicts with date(time).tzinfo.
25
33
  _TzInfo: TypeAlias = tzinfo
@@ -30,11 +38,21 @@ class timezone(tzinfo):
30
38
  min: ClassVar[timezone]
31
39
  max: ClassVar[timezone]
32
40
  def __init__(self, offset: timedelta, name: str = ...) -> None: ...
33
- def tzname(self, dt: datetime | None, /) -> str: ...
34
- def utcoffset(self, dt: datetime | None, /) -> timedelta: ...
35
- def dst(self, dt: datetime | None, /) -> None: ...
36
- def __hash__(self) -> int: ...
37
- def __eq__(self, value: object, /) -> bool: ...
41
+ def tzname(self, dt: datetime | None, /) -> str:
42
+ """If name is specified when timezone is created, returns the name. Otherwise returns offset as 'UTC(+|-)HH:MM'."""
43
+ ...
44
+ def utcoffset(self, dt: datetime | None, /) -> timedelta:
45
+ """Return fixed offset."""
46
+ ...
47
+ def dst(self, dt: datetime | None, /) -> None:
48
+ """Return None."""
49
+ ...
50
+ def __hash__(self) -> int:
51
+ """Return hash(self)."""
52
+ ...
53
+ def __eq__(self, value: object, /) -> bool:
54
+ """Return self==value."""
55
+ ...
38
56
 
39
57
  if sys.version_info >= (3, 11):
40
58
  UTC: timezone
@@ -51,58 +69,129 @@ class date:
51
69
  resolution: ClassVar[timedelta]
52
70
  def __new__(cls, year: SupportsIndex, month: SupportsIndex, day: SupportsIndex) -> Self: ...
53
71
  @classmethod
54
- def fromtimestamp(cls, timestamp: float, /) -> Self: ...
72
+ def fromtimestamp(cls, timestamp: float, /) -> Self:
73
+ """
74
+ Create a date from a POSIX timestamp.
75
+
76
+ The timestamp is a number, e.g. created via time.time(), that is interpreted
77
+ as local time.
78
+ """
79
+ ...
55
80
  @classmethod
56
- def today(cls) -> Self: ...
81
+ def today(cls) -> Self:
82
+ """Current date or datetime: same as self.__class__.fromtimestamp(time.time())."""
83
+ ...
57
84
  @classmethod
58
- def fromordinal(cls, n: int, /) -> Self: ...
85
+ def fromordinal(cls, n: int, /) -> Self:
86
+ """int -> date corresponding to a proleptic Gregorian ordinal."""
87
+ ...
59
88
  @classmethod
60
- def fromisoformat(cls, date_string: str, /) -> Self: ...
89
+ def fromisoformat(cls, date_string: str, /) -> Self:
90
+ """str -> Construct a date from the output of date.isoformat()"""
91
+ ...
61
92
  @classmethod
62
- def fromisocalendar(cls, year: int, week: int, day: int) -> Self: ...
93
+ def fromisocalendar(cls, year: int, week: int, day: int) -> Self:
94
+ """
95
+ int, int, int -> Construct a date from the ISO year, week number and weekday.
96
+
97
+ This is the inverse of the date.isocalendar() function
98
+ """
99
+ ...
63
100
  @property
64
101
  def year(self) -> int: ...
65
102
  @property
66
103
  def month(self) -> int: ...
67
104
  @property
68
105
  def day(self) -> int: ...
69
- def ctime(self) -> str: ...
106
+ def ctime(self) -> str:
107
+ """Return ctime() style string."""
108
+ ...
70
109
  # On <3.12, the name of the parameter in the pure-Python implementation
71
110
  # didn't match the name in the C implementation,
72
111
  # meaning it is only *safe* to pass it as a keyword argument on 3.12+
73
112
  if sys.version_info >= (3, 12):
74
- def strftime(self, format: str) -> str: ...
113
+ def strftime(self, format: str) -> str:
114
+ """format -> strftime() style string."""
115
+ ...
75
116
  else:
76
- def strftime(self, format: str, /) -> str: ...
117
+ def strftime(self, format: str, /) -> str:
118
+ """format -> strftime() style string."""
119
+ ...
77
120
 
78
- def __format__(self, fmt: str, /) -> str: ...
79
- def isoformat(self) -> str: ...
80
- def timetuple(self) -> struct_time: ...
81
- def toordinal(self) -> int: ...
121
+ def __format__(self, fmt: str, /) -> str:
122
+ """Formats self with strftime."""
123
+ ...
124
+ def isoformat(self) -> str:
125
+ """Return string in ISO 8601 format, YYYY-MM-DD."""
126
+ ...
127
+ def timetuple(self) -> struct_time:
128
+ """Return time tuple, compatible with time.localtime()."""
129
+ ...
130
+ def toordinal(self) -> int:
131
+ """Return proleptic Gregorian ordinal. January 1 of year 1 is day 1."""
132
+ ...
82
133
  if sys.version_info >= (3, 13):
83
134
  def __replace__(self, /, *, year: SupportsIndex = ..., month: SupportsIndex = ..., day: SupportsIndex = ...) -> Self: ...
84
135
 
85
- def replace(self, year: SupportsIndex = ..., month: SupportsIndex = ..., day: SupportsIndex = ...) -> Self: ...
86
- def __le__(self, value: date, /) -> bool: ...
87
- def __lt__(self, value: date, /) -> bool: ...
88
- def __ge__(self, value: date, /) -> bool: ...
89
- def __gt__(self, value: date, /) -> bool: ...
90
- def __eq__(self, value: object, /) -> bool: ...
91
- def __add__(self, value: timedelta, /) -> Self: ...
92
- def __radd__(self, value: timedelta, /) -> Self: ...
136
+ def replace(self, year: SupportsIndex = ..., month: SupportsIndex = ..., day: SupportsIndex = ...) -> Self:
137
+ """Return date with new specified fields."""
138
+ ...
139
+ def __le__(self, value: date, /) -> bool:
140
+ """Return self<=value."""
141
+ ...
142
+ def __lt__(self, value: date, /) -> bool:
143
+ """Return self<value."""
144
+ ...
145
+ def __ge__(self, value: date, /) -> bool:
146
+ """Return self>=value."""
147
+ ...
148
+ def __gt__(self, value: date, /) -> bool:
149
+ """Return self>value."""
150
+ ...
151
+ def __eq__(self, value: object, /) -> bool:
152
+ """Return self==value."""
153
+ ...
154
+ def __add__(self, value: timedelta, /) -> Self:
155
+ """Return self+value."""
156
+ ...
157
+ def __radd__(self, value: timedelta, /) -> Self:
158
+ """Return value+self."""
159
+ ...
93
160
  @overload
94
- def __sub__(self, value: datetime, /) -> NoReturn: ...
161
+ def __sub__(self, value: datetime, /) -> NoReturn:
162
+ """Return self-value."""
163
+ ...
95
164
  @overload
96
- def __sub__(self, value: Self, /) -> timedelta: ...
165
+ def __sub__(self, value: Self, /) -> timedelta:
166
+ """Return self-value."""
167
+ ...
97
168
  @overload
98
- def __sub__(self, value: timedelta, /) -> Self: ...
99
- def __hash__(self) -> int: ...
100
- def weekday(self) -> int: ...
101
- def isoweekday(self) -> int: ...
169
+ def __sub__(self, value: timedelta, /) -> Self:
170
+ """Return self-value."""
171
+ ...
172
+ def __hash__(self) -> int:
173
+ """Return hash(self)."""
174
+ ...
175
+ def weekday(self) -> int:
176
+ """
177
+ Return the day of the week represented by the date.
178
+ Monday == 0 ... Sunday == 6
179
+ """
180
+ ...
181
+ def isoweekday(self) -> int:
182
+ """
183
+ Return the day of the week represented by the date.
184
+ Monday == 1 ... Sunday == 7
185
+ """
186
+ ...
102
187
  if sys.version_info >= (3, 9):
103
- def isocalendar(self) -> _IsoCalendarDate: ...
188
+ def isocalendar(self) -> _IsoCalendarDate:
189
+ """Return a named tuple containing ISO year, week number, and weekday."""
190
+ ...
104
191
  else:
105
- def isocalendar(self) -> tuple[int, int, int]: ...
192
+ def isocalendar(self) -> tuple[int, int, int]:
193
+ """Return a 3-tuple containing ISO year, week number, and weekday."""
194
+ ...
106
195
 
107
196
  class time:
108
197
  min: ClassVar[time]
@@ -130,27 +219,61 @@ class time:
130
219
  def tzinfo(self) -> _TzInfo | None: ...
131
220
  @property
132
221
  def fold(self) -> int: ...
133
- def __le__(self, value: time, /) -> bool: ...
134
- def __lt__(self, value: time, /) -> bool: ...
135
- def __ge__(self, value: time, /) -> bool: ...
136
- def __gt__(self, value: time, /) -> bool: ...
137
- def __eq__(self, value: object, /) -> bool: ...
138
- def __hash__(self) -> int: ...
139
- def isoformat(self, timespec: str = ...) -> str: ...
222
+ def __le__(self, value: time, /) -> bool:
223
+ """Return self<=value."""
224
+ ...
225
+ def __lt__(self, value: time, /) -> bool:
226
+ """Return self<value."""
227
+ ...
228
+ def __ge__(self, value: time, /) -> bool:
229
+ """Return self>=value."""
230
+ ...
231
+ def __gt__(self, value: time, /) -> bool:
232
+ """Return self>value."""
233
+ ...
234
+ def __eq__(self, value: object, /) -> bool:
235
+ """Return self==value."""
236
+ ...
237
+ def __hash__(self) -> int:
238
+ """Return hash(self)."""
239
+ ...
240
+ def isoformat(self, timespec: str = ...) -> str:
241
+ """
242
+ Return string in ISO 8601 format, [HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].
243
+
244
+ The optional argument timespec specifies the number of additional terms
245
+ of the time to include. Valid options are 'auto', 'hours', 'minutes',
246
+ 'seconds', 'milliseconds' and 'microseconds'.
247
+ """
248
+ ...
140
249
  @classmethod
141
- def fromisoformat(cls, time_string: str, /) -> Self: ...
250
+ def fromisoformat(cls, time_string: str, /) -> Self:
251
+ """string -> time from time.isoformat() output"""
252
+ ...
142
253
  # On <3.12, the name of the parameter in the pure-Python implementation
143
254
  # didn't match the name in the C implementation,
144
255
  # meaning it is only *safe* to pass it as a keyword argument on 3.12+
145
256
  if sys.version_info >= (3, 12):
146
- def strftime(self, format: str) -> str: ...
257
+ def strftime(self, format: str) -> str:
258
+ """format -> strftime() style string."""
259
+ ...
147
260
  else:
148
- def strftime(self, format: str, /) -> str: ...
261
+ def strftime(self, format: str, /) -> str:
262
+ """format -> strftime() style string."""
263
+ ...
149
264
 
150
- def __format__(self, fmt: str, /) -> str: ...
151
- def utcoffset(self) -> timedelta | None: ...
152
- def tzname(self) -> str | None: ...
153
- def dst(self) -> timedelta | None: ...
265
+ def __format__(self, fmt: str, /) -> str:
266
+ """Formats self with strftime."""
267
+ ...
268
+ def utcoffset(self) -> timedelta | None:
269
+ """Return self.tzinfo.utcoffset(self)."""
270
+ ...
271
+ def tzname(self) -> str | None:
272
+ """Return self.tzinfo.tzname(self)."""
273
+ ...
274
+ def dst(self) -> timedelta | None:
275
+ """Return self.tzinfo.dst(self)."""
276
+ ...
154
277
  if sys.version_info >= (3, 13):
155
278
  def __replace__(
156
279
  self,
@@ -173,7 +296,9 @@ class time:
173
296
  tzinfo: _TzInfo | None = ...,
174
297
  *,
175
298
  fold: int = ...,
176
- ) -> Self: ...
299
+ ) -> Self:
300
+ """Return time with new specified fields."""
301
+ ...
177
302
 
178
303
  _Date: TypeAlias = date
179
304
  _Time: TypeAlias = time
@@ -193,38 +318,90 @@ class timedelta:
193
318
  weeks: float = ...,
194
319
  ) -> Self: ...
195
320
  @property
196
- def days(self) -> int: ...
321
+ def days(self) -> int:
322
+ """Number of days."""
323
+ ...
197
324
  @property
198
- def seconds(self) -> int: ...
325
+ def seconds(self) -> int:
326
+ """Number of seconds (>= 0 and less than 1 day)."""
327
+ ...
199
328
  @property
200
- def microseconds(self) -> int: ...
201
- def total_seconds(self) -> float: ...
202
- def __add__(self, value: timedelta, /) -> timedelta: ...
203
- def __radd__(self, value: timedelta, /) -> timedelta: ...
204
- def __sub__(self, value: timedelta, /) -> timedelta: ...
205
- def __rsub__(self, value: timedelta, /) -> timedelta: ...
206
- def __neg__(self) -> timedelta: ...
207
- def __pos__(self) -> timedelta: ...
208
- def __abs__(self) -> timedelta: ...
209
- def __mul__(self, value: float, /) -> timedelta: ...
210
- def __rmul__(self, value: float, /) -> timedelta: ...
329
+ def microseconds(self) -> int:
330
+ """Number of microseconds (>= 0 and less than 1 second)."""
331
+ ...
332
+ def total_seconds(self) -> float:
333
+ """Total seconds in the duration."""
334
+ ...
335
+ def __add__(self, value: timedelta, /) -> timedelta:
336
+ """Return self+value."""
337
+ ...
338
+ def __radd__(self, value: timedelta, /) -> timedelta:
339
+ """Return value+self."""
340
+ ...
341
+ def __sub__(self, value: timedelta, /) -> timedelta:
342
+ """Return self-value."""
343
+ ...
344
+ def __rsub__(self, value: timedelta, /) -> timedelta:
345
+ """Return value-self."""
346
+ ...
347
+ def __neg__(self) -> timedelta:
348
+ """-self"""
349
+ ...
350
+ def __pos__(self) -> timedelta:
351
+ """+self"""
352
+ ...
353
+ def __abs__(self) -> timedelta:
354
+ """abs(self)"""
355
+ ...
356
+ def __mul__(self, value: float, /) -> timedelta:
357
+ """Return self*value."""
358
+ ...
359
+ def __rmul__(self, value: float, /) -> timedelta:
360
+ """Return value*self."""
361
+ ...
211
362
  @overload
212
- def __floordiv__(self, value: timedelta, /) -> int: ...
363
+ def __floordiv__(self, value: timedelta, /) -> int:
364
+ """Return self//value."""
365
+ ...
213
366
  @overload
214
- def __floordiv__(self, value: int, /) -> timedelta: ...
367
+ def __floordiv__(self, value: int, /) -> timedelta:
368
+ """Return self//value."""
369
+ ...
215
370
  @overload
216
- def __truediv__(self, value: timedelta, /) -> float: ...
371
+ def __truediv__(self, value: timedelta, /) -> float:
372
+ """Return self/value."""
373
+ ...
217
374
  @overload
218
- def __truediv__(self, value: float, /) -> timedelta: ...
219
- def __mod__(self, value: timedelta, /) -> timedelta: ...
220
- def __divmod__(self, value: timedelta, /) -> tuple[int, timedelta]: ...
221
- def __le__(self, value: timedelta, /) -> bool: ...
222
- def __lt__(self, value: timedelta, /) -> bool: ...
223
- def __ge__(self, value: timedelta, /) -> bool: ...
224
- def __gt__(self, value: timedelta, /) -> bool: ...
225
- def __eq__(self, value: object, /) -> bool: ...
226
- def __bool__(self) -> bool: ...
227
- def __hash__(self) -> int: ...
375
+ def __truediv__(self, value: float, /) -> timedelta:
376
+ """Return self/value."""
377
+ ...
378
+ def __mod__(self, value: timedelta, /) -> timedelta:
379
+ """Return self%value."""
380
+ ...
381
+ def __divmod__(self, value: timedelta, /) -> tuple[int, timedelta]:
382
+ """Return divmod(self, value)."""
383
+ ...
384
+ def __le__(self, value: timedelta, /) -> bool:
385
+ """Return self<=value."""
386
+ ...
387
+ def __lt__(self, value: timedelta, /) -> bool:
388
+ """Return self<value."""
389
+ ...
390
+ def __ge__(self, value: timedelta, /) -> bool:
391
+ """Return self>=value."""
392
+ ...
393
+ def __gt__(self, value: timedelta, /) -> bool:
394
+ """Return self>value."""
395
+ ...
396
+ def __eq__(self, value: object, /) -> bool:
397
+ """Return self==value."""
398
+ ...
399
+ def __bool__(self) -> bool:
400
+ """self != 0"""
401
+ ...
402
+ def __hash__(self) -> int:
403
+ """Return hash(self)."""
404
+ ...
228
405
 
229
406
  class datetime(date):
230
407
  min: ClassVar[datetime]
@@ -259,26 +436,55 @@ class datetime(date):
259
436
  # meaning it is only *safe* to pass it as a keyword argument on 3.12+
260
437
  if sys.version_info >= (3, 12):
261
438
  @classmethod
262
- def fromtimestamp(cls, timestamp: float, tz: _TzInfo | None = ...) -> Self: ...
439
+ def fromtimestamp(cls, timestamp: float, tz: _TzInfo | None = ...) -> Self:
440
+ """timestamp[, tz] -> tz's local time from POSIX timestamp."""
441
+ ...
263
442
  else:
264
443
  @classmethod
265
- def fromtimestamp(cls, timestamp: float, /, tz: _TzInfo | None = ...) -> Self: ...
444
+ def fromtimestamp(cls, timestamp: float, /, tz: _TzInfo | None = ...) -> Self:
445
+ """timestamp[, tz] -> tz's local time from POSIX timestamp."""
446
+ ...
266
447
 
267
448
  @classmethod
268
449
  @deprecated("Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.UTC)")
269
- def utcfromtimestamp(cls, t: float, /) -> Self: ...
450
+ def utcfromtimestamp(cls, t: float, /) -> Self:
451
+ """Construct a naive UTC datetime from a POSIX timestamp."""
452
+ ...
270
453
  @classmethod
271
- def now(cls, tz: _TzInfo | None = None) -> Self: ...
454
+ def now(cls, tz: _TzInfo | None = None) -> Self:
455
+ """
456
+ Returns new datetime object representing current time local to tz.
457
+
458
+ tz
459
+ Timezone object.
460
+
461
+ If no tz is specified, uses local timezone.
462
+ """
463
+ ...
272
464
  @classmethod
273
465
  @deprecated("Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.UTC)")
274
- def utcnow(cls) -> Self: ...
466
+ def utcnow(cls) -> Self:
467
+ """Return a new datetime representing UTC day and time."""
468
+ ...
275
469
  @classmethod
276
- def combine(cls, date: _Date, time: _Time, tzinfo: _TzInfo | None = ...) -> Self: ...
277
- def timestamp(self) -> float: ...
278
- def utctimetuple(self) -> struct_time: ...
279
- def date(self) -> _Date: ...
280
- def time(self) -> _Time: ...
281
- def timetz(self) -> _Time: ...
470
+ def combine(cls, date: _Date, time: _Time, tzinfo: _TzInfo | None = ...) -> Self:
471
+ """date, time -> datetime with same date and time fields"""
472
+ ...
473
+ def timestamp(self) -> float:
474
+ """Return POSIX timestamp as float."""
475
+ ...
476
+ def utctimetuple(self) -> struct_time:
477
+ """Return UTC time tuple, compatible with time.localtime()."""
478
+ ...
479
+ def date(self) -> _Date:
480
+ """Return date object with same year, month and day."""
481
+ ...
482
+ def time(self) -> _Time:
483
+ """Return time object with same time but with tzinfo=None."""
484
+ ...
485
+ def timetz(self) -> _Time:
486
+ """Return time object with same time and tzinfo."""
487
+ ...
282
488
  if sys.version_info >= (3, 13):
283
489
  def __replace__(
284
490
  self,
@@ -307,21 +513,57 @@ class datetime(date):
307
513
  tzinfo: _TzInfo | None = ...,
308
514
  *,
309
515
  fold: int = ...,
310
- ) -> Self: ...
311
- def astimezone(self, tz: _TzInfo | None = ...) -> Self: ...
312
- def isoformat(self, sep: str = ..., timespec: str = ...) -> str: ...
516
+ ) -> Self:
517
+ """Return datetime with new specified fields."""
518
+ ...
519
+ def astimezone(self, tz: _TzInfo | None = ...) -> Self:
520
+ """tz -> convert to local time in new timezone tz"""
521
+ ...
522
+ def isoformat(self, sep: str = ..., timespec: str = ...) -> str:
523
+ """
524
+ [sep] -> string in ISO 8601 format, YYYY-MM-DDT[HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].
525
+ sep is used to separate the year from the time, and defaults to 'T'.
526
+ The optional argument timespec specifies the number of additional terms
527
+ of the time to include. Valid options are 'auto', 'hours', 'minutes',
528
+ 'seconds', 'milliseconds' and 'microseconds'.
529
+ """
530
+ ...
313
531
  @classmethod
314
- def strptime(cls, date_string: str, format: str, /) -> Self: ...
315
- def utcoffset(self) -> timedelta | None: ...
316
- def tzname(self) -> str | None: ...
317
- def dst(self) -> timedelta | None: ...
318
- def __le__(self, value: datetime, /) -> bool: ... # type: ignore[override]
319
- def __lt__(self, value: datetime, /) -> bool: ... # type: ignore[override]
320
- def __ge__(self, value: datetime, /) -> bool: ... # type: ignore[override]
321
- def __gt__(self, value: datetime, /) -> bool: ... # type: ignore[override]
322
- def __eq__(self, value: object, /) -> bool: ...
323
- def __hash__(self) -> int: ...
532
+ def strptime(cls, date_string: str, format: str, /) -> Self:
533
+ """string, format -> new datetime parsed from a string (like time.strptime())."""
534
+ ...
535
+ def utcoffset(self) -> timedelta | None:
536
+ """Return self.tzinfo.utcoffset(self)."""
537
+ ...
538
+ def tzname(self) -> str | None:
539
+ """Return self.tzinfo.tzname(self)."""
540
+ ...
541
+ def dst(self) -> timedelta | None:
542
+ """Return self.tzinfo.dst(self)."""
543
+ ...
544
+ def __le__(self, value: datetime, /) -> bool:
545
+ """Return self<=value."""
546
+ ...
547
+ def __lt__(self, value: datetime, /) -> bool:
548
+ """Return self<value."""
549
+ ...
550
+ def __ge__(self, value: datetime, /) -> bool:
551
+ """Return self>=value."""
552
+ ...
553
+ def __gt__(self, value: datetime, /) -> bool:
554
+ """Return self>value."""
555
+ ...
556
+ def __eq__(self, value: object, /) -> bool:
557
+ """Return self==value."""
558
+ ...
559
+ def __hash__(self) -> int:
560
+ """Return hash(self)."""
561
+ ...
324
562
  @overload # type: ignore[override]
325
- def __sub__(self, value: Self, /) -> timedelta: ...
563
+ def __sub__(self, value: Self, /) -> timedelta:
564
+ """Return self-value."""
565
+ ...
326
566
  @overload
327
- def __sub__(self, value: timedelta, /) -> Self: ...
567
+ def __sub__(self, value: timedelta, /) -> Self:
568
+ """Return self-value."""
569
+ ...
@@ -39,6 +39,56 @@ if sys.platform != "win32":
39
39
  __init__: None # type: ignore[assignment]
40
40
 
41
41
  if sys.version_info >= (3, 11):
42
- def open(filename: StrOrBytesPath, flags: str = "r", mode: int = 0o666, /) -> _gdbm: ...
42
+ def open(filename: StrOrBytesPath, flags: str = "r", mode: int = 0o666, /) -> _gdbm:
43
+ """
44
+ Open a dbm database and return a dbm object.
45
+
46
+ The filename argument is the name of the database file.
47
+
48
+ The optional flags argument can be 'r' (to open an existing database
49
+ for reading only -- default), 'w' (to open an existing database for
50
+ reading and writing), 'c' (which creates the database if it doesn't
51
+ exist), or 'n' (which always creates a new empty database).
52
+
53
+ Some versions of gdbm support additional flags which must be
54
+ appended to one of the flags described above. The module constant
55
+ 'open_flags' is a string of valid additional flags. The 'f' flag
56
+ opens the database in fast mode; altered data will not automatically
57
+ be written to the disk after every change. This results in faster
58
+ writes to the database, but may result in an inconsistent database
59
+ if the program crashes while the database is still open. Use the
60
+ sync() method to force any unwritten data to be written to the disk.
61
+ The 's' flag causes all database operations to be synchronized to
62
+ disk. The 'u' flag disables locking of the database file.
63
+
64
+ The optional mode argument is the Unix mode of the file, used only
65
+ when the database has to be created. It defaults to octal 0o666.
66
+ """
67
+ ...
43
68
  else:
44
- def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _gdbm: ...
69
+ def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _gdbm:
70
+ """
71
+ Open a dbm database and return a dbm object.
72
+
73
+ The filename argument is the name of the database file.
74
+
75
+ The optional flags argument can be 'r' (to open an existing database
76
+ for reading only -- default), 'w' (to open an existing database for
77
+ reading and writing), 'c' (which creates the database if it doesn't
78
+ exist), or 'n' (which always creates a new empty database).
79
+
80
+ Some versions of gdbm support additional flags which must be
81
+ appended to one of the flags described above. The module constant
82
+ 'open_flags' is a string of valid additional flags. The 'f' flag
83
+ opens the database in fast mode; altered data will not automatically
84
+ be written to the disk after every change. This results in faster
85
+ writes to the database, but may result in an inconsistent database
86
+ if the program crashes while the database is still open. Use the
87
+ sync() method to force any unwritten data to be written to the disk.
88
+ The 's' flag causes all database operations to be synchronized to
89
+ disk. The 'u' flag disables locking of the database file.
90
+
91
+ The optional mode argument is the Unix mode of the file, used only
92
+ when the database has to be created. It defaults to octal 0o666.
93
+ """
94
+ ...
@@ -35,6 +35,30 @@ if sys.platform != "win32":
35
35
  __init__: None # type: ignore[assignment]
36
36
 
37
37
  if sys.version_info >= (3, 11):
38
- def open(filename: StrOrBytesPath, flags: str = "r", mode: int = 0o666, /) -> _dbm: ...
38
+ def open(filename: StrOrBytesPath, flags: str = "r", mode: int = 0o666, /) -> _dbm:
39
+ """
40
+ Return a database object.
41
+
42
+ filename
43
+ The filename to open.
44
+ flags
45
+ How to open the file. "r" for reading, "w" for writing, etc.
46
+ mode
47
+ If creating a new file, the mode bits for the new file
48
+ (e.g. os.O_RDWR).
49
+ """
50
+ ...
39
51
  else:
40
- def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _dbm: ...
52
+ def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _dbm:
53
+ """
54
+ Return a database object.
55
+
56
+ filename
57
+ The filename to open.
58
+ flags
59
+ How to open the file. "r" for reading, "w" for writing, etc.
60
+ mode
61
+ If creating a new file, the mode bits for the new file
62
+ (e.g. os.O_RDWR).
63
+ """
64
+ ...
@@ -55,7 +55,13 @@ class SequenceMatcher(Generic[_T]):
55
55
  def quick_ratio(self) -> float: ...
56
56
  def real_quick_ratio(self) -> float: ...
57
57
  if sys.version_info >= (3, 9):
58
- def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
58
+ def __class_getitem__(cls, item: Any, /) -> GenericAlias:
59
+ """
60
+ Represent a PEP 585 generic type
61
+
62
+ E.g. for t = list[int], t.__origin__ is list and t.__args__ is (int,).
63
+ """
64
+ ...
59
65
 
60
66
  @overload
61
67
  def get_close_matches(word: AnyStr, possibilities: Iterable[AnyStr], n: int = 3, cutoff: float = 0.6) -> list[AnyStr]: ...