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
@@ -1,221 +1,221 @@
1
- """
2
- Bisection algorithms.
3
-
4
- This module provides support for maintaining a list in sorted order without
5
- having to sort the list after each insertion. For long lists of items with
6
- expensive comparison operations, this can be an improvement over the more
7
- common approach.
8
- """
9
-
10
- import sys
11
- from _typeshed import SupportsLenAndGetItem, SupportsRichComparisonT
12
- from collections.abc import Callable, MutableSequence
13
- from typing import TypeVar, overload
14
-
15
- _T = TypeVar("_T")
16
-
17
- if sys.version_info >= (3, 10):
18
- @overload
19
- def bisect_left(
20
- a: SupportsLenAndGetItem[SupportsRichComparisonT],
21
- x: SupportsRichComparisonT,
22
- lo: int = 0,
23
- hi: int | None = None,
24
- *,
25
- key: None = None,
26
- ) -> int:
27
- """
28
- Return the index where to insert item x in list a, assuming a is sorted.
29
-
30
- The return value i is such that all e in a[:i] have e < x, and all e in
31
- a[i:] have e >= x. So if x already appears in the list, a.insert(i, x) will
32
- insert just before the leftmost x already there.
33
-
34
- Optional args lo (default 0) and hi (default len(a)) bound the
35
- slice of a to be searched.
36
- """
37
- ...
38
- @overload
39
- def bisect_left(
40
- a: SupportsLenAndGetItem[_T],
41
- x: SupportsRichComparisonT,
42
- lo: int = 0,
43
- hi: int | None = None,
44
- *,
45
- key: Callable[[_T], SupportsRichComparisonT],
46
- ) -> int:
47
- """
48
- Return the index where to insert item x in list a, assuming a is sorted.
49
-
50
- The return value i is such that all e in a[:i] have e < x, and all e in
51
- a[i:] have e >= x. So if x already appears in the list, a.insert(i, x) will
52
- insert just before the leftmost x already there.
53
-
54
- Optional args lo (default 0) and hi (default len(a)) bound the
55
- slice of a to be searched.
56
- """
57
- ...
58
- @overload
59
- def bisect_right(
60
- a: SupportsLenAndGetItem[SupportsRichComparisonT],
61
- x: SupportsRichComparisonT,
62
- lo: int = 0,
63
- hi: int | None = None,
64
- *,
65
- key: None = None,
66
- ) -> int:
67
- """
68
- Return the index where to insert item x in list a, assuming a is sorted.
69
-
70
- The return value i is such that all e in a[:i] have e <= x, and all e in
71
- a[i:] have e > x. So if x already appears in the list, a.insert(i, x) will
72
- insert just after the rightmost x already there.
73
-
74
- Optional args lo (default 0) and hi (default len(a)) bound the
75
- slice of a to be searched.
76
- """
77
- ...
78
- @overload
79
- def bisect_right(
80
- a: SupportsLenAndGetItem[_T],
81
- x: SupportsRichComparisonT,
82
- lo: int = 0,
83
- hi: int | None = None,
84
- *,
85
- key: Callable[[_T], SupportsRichComparisonT],
86
- ) -> int:
87
- """
88
- Return the index where to insert item x in list a, assuming a is sorted.
89
-
90
- The return value i is such that all e in a[:i] have e <= x, and all e in
91
- a[i:] have e > x. So if x already appears in the list, a.insert(i, x) will
92
- insert just after the rightmost x already there.
93
-
94
- Optional args lo (default 0) and hi (default len(a)) bound the
95
- slice of a to be searched.
96
- """
97
- ...
98
- @overload
99
- def insort_left(
100
- a: MutableSequence[SupportsRichComparisonT],
101
- x: SupportsRichComparisonT,
102
- lo: int = 0,
103
- hi: int | None = None,
104
- *,
105
- key: None = None,
106
- ) -> None:
107
- """
108
- Insert item x in list a, and keep it sorted assuming a is sorted.
109
-
110
- If x is already in a, insert it to the left of the leftmost x.
111
-
112
- Optional args lo (default 0) and hi (default len(a)) bound the
113
- slice of a to be searched.
114
- """
115
- ...
116
- @overload
117
- def insort_left(
118
- a: MutableSequence[_T], x: _T, lo: int = 0, hi: int | None = None, *, key: Callable[[_T], SupportsRichComparisonT]
119
- ) -> None:
120
- """
121
- Insert item x in list a, and keep it sorted assuming a is sorted.
122
-
123
- If x is already in a, insert it to the left of the leftmost x.
124
-
125
- Optional args lo (default 0) and hi (default len(a)) bound the
126
- slice of a to be searched.
127
- """
128
- ...
129
- @overload
130
- def insort_right(
131
- a: MutableSequence[SupportsRichComparisonT],
132
- x: SupportsRichComparisonT,
133
- lo: int = 0,
134
- hi: int | None = None,
135
- *,
136
- key: None = None,
137
- ) -> None:
138
- """
139
- Insert item x in list a, and keep it sorted assuming a is sorted.
140
-
141
- If x is already in a, insert it to the right of the rightmost x.
142
-
143
- Optional args lo (default 0) and hi (default len(a)) bound the
144
- slice of a to be searched.
145
- """
146
- ...
147
- @overload
148
- def insort_right(
149
- a: MutableSequence[_T], x: _T, lo: int = 0, hi: int | None = None, *, key: Callable[[_T], SupportsRichComparisonT]
150
- ) -> None:
151
- """
152
- Insert item x in list a, and keep it sorted assuming a is sorted.
153
-
154
- If x is already in a, insert it to the right of the rightmost x.
155
-
156
- Optional args lo (default 0) and hi (default len(a)) bound the
157
- slice of a to be searched.
158
- """
159
- ...
160
-
161
- else:
162
- def bisect_left(
163
- a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
164
- ) -> int:
165
- """
166
- bisect_left(a, x[, lo[, hi]]) -> index
167
-
168
- Return the index where to insert item x in list a, assuming a is sorted.
169
-
170
- The return value i is such that all e in a[:i] have e < x, and all e in
171
- a[i:] have e >= x. So if x already appears in the list, i points just
172
- before the leftmost x already there.
173
-
174
- Optional args lo (default 0) and hi (default len(a)) bound the
175
- slice of a to be searched.
176
- """
177
- ...
178
- def bisect_right(
179
- a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
180
- ) -> int:
181
- """
182
- bisect_right(a, x[, lo[, hi]]) -> index
183
-
184
- Return the index where to insert item x in list a, assuming a is sorted.
185
-
186
- The return value i is such that all e in a[:i] have e <= x, and all e in
187
- a[i:] have e > x. So if x already appears in the list, i points just
188
- beyond the rightmost x already there
189
-
190
- Optional args lo (default 0) and hi (default len(a)) bound the
191
- slice of a to be searched.
192
- """
193
- ...
194
- def insort_left(
195
- a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
196
- ) -> None:
197
- """
198
- insort_left(a, x[, lo[, hi]])
199
-
200
- Insert item x in list a, and keep it sorted assuming a is sorted.
201
-
202
- If x is already in a, insert it to the left of the leftmost x.
203
-
204
- Optional args lo (default 0) and hi (default len(a)) bound the
205
- slice of a to be searched.
206
- """
207
- ...
208
- def insort_right(
209
- a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
210
- ) -> None:
211
- """
212
- insort_right(a, x[, lo[, hi]])
213
-
214
- Insert item x in list a, and keep it sorted assuming a is sorted.
215
-
216
- If x is already in a, insert it to the right of the rightmost x.
217
-
218
- Optional args lo (default 0) and hi (default len(a)) bound the
219
- slice of a to be searched.
220
- """
221
- ...
1
+ """
2
+ Bisection algorithms.
3
+
4
+ This module provides support for maintaining a list in sorted order without
5
+ having to sort the list after each insertion. For long lists of items with
6
+ expensive comparison operations, this can be an improvement over the more
7
+ common approach.
8
+ """
9
+
10
+ import sys
11
+ from _typeshed import SupportsLenAndGetItem, SupportsRichComparisonT
12
+ from collections.abc import Callable, MutableSequence
13
+ from typing import TypeVar, overload
14
+
15
+ _T = TypeVar("_T")
16
+
17
+ if sys.version_info >= (3, 10):
18
+ @overload
19
+ def bisect_left(
20
+ a: SupportsLenAndGetItem[SupportsRichComparisonT],
21
+ x: SupportsRichComparisonT,
22
+ lo: int = 0,
23
+ hi: int | None = None,
24
+ *,
25
+ key: None = None,
26
+ ) -> int:
27
+ """
28
+ Return the index where to insert item x in list a, assuming a is sorted.
29
+
30
+ The return value i is such that all e in a[:i] have e < x, and all e in
31
+ a[i:] have e >= x. So if x already appears in the list, a.insert(i, x) will
32
+ insert just before the leftmost x already there.
33
+
34
+ Optional args lo (default 0) and hi (default len(a)) bound the
35
+ slice of a to be searched.
36
+ """
37
+ ...
38
+ @overload
39
+ def bisect_left(
40
+ a: SupportsLenAndGetItem[_T],
41
+ x: SupportsRichComparisonT,
42
+ lo: int = 0,
43
+ hi: int | None = None,
44
+ *,
45
+ key: Callable[[_T], SupportsRichComparisonT],
46
+ ) -> int:
47
+ """
48
+ Return the index where to insert item x in list a, assuming a is sorted.
49
+
50
+ The return value i is such that all e in a[:i] have e < x, and all e in
51
+ a[i:] have e >= x. So if x already appears in the list, a.insert(i, x) will
52
+ insert just before the leftmost x already there.
53
+
54
+ Optional args lo (default 0) and hi (default len(a)) bound the
55
+ slice of a to be searched.
56
+ """
57
+ ...
58
+ @overload
59
+ def bisect_right(
60
+ a: SupportsLenAndGetItem[SupportsRichComparisonT],
61
+ x: SupportsRichComparisonT,
62
+ lo: int = 0,
63
+ hi: int | None = None,
64
+ *,
65
+ key: None = None,
66
+ ) -> int:
67
+ """
68
+ Return the index where to insert item x in list a, assuming a is sorted.
69
+
70
+ The return value i is such that all e in a[:i] have e <= x, and all e in
71
+ a[i:] have e > x. So if x already appears in the list, a.insert(i, x) will
72
+ insert just after the rightmost x already there.
73
+
74
+ Optional args lo (default 0) and hi (default len(a)) bound the
75
+ slice of a to be searched.
76
+ """
77
+ ...
78
+ @overload
79
+ def bisect_right(
80
+ a: SupportsLenAndGetItem[_T],
81
+ x: SupportsRichComparisonT,
82
+ lo: int = 0,
83
+ hi: int | None = None,
84
+ *,
85
+ key: Callable[[_T], SupportsRichComparisonT],
86
+ ) -> int:
87
+ """
88
+ Return the index where to insert item x in list a, assuming a is sorted.
89
+
90
+ The return value i is such that all e in a[:i] have e <= x, and all e in
91
+ a[i:] have e > x. So if x already appears in the list, a.insert(i, x) will
92
+ insert just after the rightmost x already there.
93
+
94
+ Optional args lo (default 0) and hi (default len(a)) bound the
95
+ slice of a to be searched.
96
+ """
97
+ ...
98
+ @overload
99
+ def insort_left(
100
+ a: MutableSequence[SupportsRichComparisonT],
101
+ x: SupportsRichComparisonT,
102
+ lo: int = 0,
103
+ hi: int | None = None,
104
+ *,
105
+ key: None = None,
106
+ ) -> None:
107
+ """
108
+ Insert item x in list a, and keep it sorted assuming a is sorted.
109
+
110
+ If x is already in a, insert it to the left of the leftmost x.
111
+
112
+ Optional args lo (default 0) and hi (default len(a)) bound the
113
+ slice of a to be searched.
114
+ """
115
+ ...
116
+ @overload
117
+ def insort_left(
118
+ a: MutableSequence[_T], x: _T, lo: int = 0, hi: int | None = None, *, key: Callable[[_T], SupportsRichComparisonT]
119
+ ) -> None:
120
+ """
121
+ Insert item x in list a, and keep it sorted assuming a is sorted.
122
+
123
+ If x is already in a, insert it to the left of the leftmost x.
124
+
125
+ Optional args lo (default 0) and hi (default len(a)) bound the
126
+ slice of a to be searched.
127
+ """
128
+ ...
129
+ @overload
130
+ def insort_right(
131
+ a: MutableSequence[SupportsRichComparisonT],
132
+ x: SupportsRichComparisonT,
133
+ lo: int = 0,
134
+ hi: int | None = None,
135
+ *,
136
+ key: None = None,
137
+ ) -> None:
138
+ """
139
+ Insert item x in list a, and keep it sorted assuming a is sorted.
140
+
141
+ If x is already in a, insert it to the right of the rightmost x.
142
+
143
+ Optional args lo (default 0) and hi (default len(a)) bound the
144
+ slice of a to be searched.
145
+ """
146
+ ...
147
+ @overload
148
+ def insort_right(
149
+ a: MutableSequence[_T], x: _T, lo: int = 0, hi: int | None = None, *, key: Callable[[_T], SupportsRichComparisonT]
150
+ ) -> None:
151
+ """
152
+ Insert item x in list a, and keep it sorted assuming a is sorted.
153
+
154
+ If x is already in a, insert it to the right of the rightmost x.
155
+
156
+ Optional args lo (default 0) and hi (default len(a)) bound the
157
+ slice of a to be searched.
158
+ """
159
+ ...
160
+
161
+ else:
162
+ def bisect_left(
163
+ a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
164
+ ) -> int:
165
+ """
166
+ bisect_left(a, x[, lo[, hi]]) -> index
167
+
168
+ Return the index where to insert item x in list a, assuming a is sorted.
169
+
170
+ The return value i is such that all e in a[:i] have e < x, and all e in
171
+ a[i:] have e >= x. So if x already appears in the list, i points just
172
+ before the leftmost x already there.
173
+
174
+ Optional args lo (default 0) and hi (default len(a)) bound the
175
+ slice of a to be searched.
176
+ """
177
+ ...
178
+ def bisect_right(
179
+ a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
180
+ ) -> int:
181
+ """
182
+ bisect_right(a, x[, lo[, hi]]) -> index
183
+
184
+ Return the index where to insert item x in list a, assuming a is sorted.
185
+
186
+ The return value i is such that all e in a[:i] have e <= x, and all e in
187
+ a[i:] have e > x. So if x already appears in the list, i points just
188
+ beyond the rightmost x already there
189
+
190
+ Optional args lo (default 0) and hi (default len(a)) bound the
191
+ slice of a to be searched.
192
+ """
193
+ ...
194
+ def insort_left(
195
+ a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
196
+ ) -> None:
197
+ """
198
+ insort_left(a, x[, lo[, hi]])
199
+
200
+ Insert item x in list a, and keep it sorted assuming a is sorted.
201
+
202
+ If x is already in a, insert it to the left of the leftmost x.
203
+
204
+ Optional args lo (default 0) and hi (default len(a)) bound the
205
+ slice of a to be searched.
206
+ """
207
+ ...
208
+ def insort_right(
209
+ a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None
210
+ ) -> None:
211
+ """
212
+ insort_right(a, x[, lo[, hi]])
213
+
214
+ Insert item x in list a, and keep it sorted assuming a is sorted.
215
+
216
+ If x is already in a, insert it to the right of the rightmost x.
217
+
218
+ Optional args lo (default 0) and hi (default len(a)) bound the
219
+ slice of a to be searched.
220
+ """
221
+ ...
@@ -1 +1 @@
1
- def getpreferredencoding(do_setlocale: bool = True) -> str: ...
1
+ def getpreferredencoding(do_setlocale: bool = True) -> str: ...
@@ -69,23 +69,33 @@ _VT_co = TypeVar("_VT_co", covariant=True) # Value type covariant containers.
69
69
 
70
70
  @final
71
71
  class dict_keys(KeysView[_KT_co], Generic[_KT_co, _VT_co]): # undocumented
72
- def __eq__(self, value: object, /) -> bool: ...
72
+ def __eq__(self, value: object, /) -> bool:
73
+ """Return self==value."""
74
+ ...
73
75
  if sys.version_info >= (3, 10):
74
76
  @property
75
- def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...
77
+ def mapping(self) -> MappingProxyType[_KT_co, _VT_co]:
78
+ """dictionary that this view refers to"""
79
+ ...
76
80
 
77
81
  @final
78
82
  class dict_values(ValuesView[_VT_co], Generic[_KT_co, _VT_co]): # undocumented
79
83
  if sys.version_info >= (3, 10):
80
84
  @property
81
- def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...
85
+ def mapping(self) -> MappingProxyType[_KT_co, _VT_co]:
86
+ """dictionary that this view refers to"""
87
+ ...
82
88
 
83
89
  @final
84
90
  class dict_items(ItemsView[_KT_co, _VT_co]): # undocumented
85
- def __eq__(self, value: object, /) -> bool: ...
91
+ def __eq__(self, value: object, /) -> bool:
92
+ """Return self==value."""
93
+ ...
86
94
  if sys.version_info >= (3, 10):
87
95
  @property
88
- def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...
96
+ def mapping(self) -> MappingProxyType[_KT_co, _VT_co]:
97
+ """dictionary that this view refers to"""
98
+ ...
89
99
 
90
100
  if sys.version_info >= (3, 12):
91
101
  @runtime_checkable