basedpyright 1.12.2 → 1.12.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 (236) 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/README.md +2 -2
  6. package/dist/typeshed-fallback/commit.txt +1 -1
  7. package/dist/typeshed-fallback/stdlib/VERSIONS +1 -1
  8. package/dist/typeshed-fallback/stdlib/_ast.pyi +661 -22
  9. package/dist/typeshed-fallback/stdlib/_ctypes.pyi +1 -1
  10. package/dist/typeshed-fallback/stdlib/_socket.pyi +2 -2
  11. package/dist/typeshed-fallback/stdlib/_stat.pyi +27 -13
  12. package/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi +2 -0
  13. package/dist/typeshed-fallback/stdlib/_typeshed/importlib.pyi +18 -0
  14. package/dist/typeshed-fallback/stdlib/_weakref.pyi +1 -1
  15. package/dist/typeshed-fallback/stdlib/_weakrefset.pyi +1 -1
  16. package/dist/typeshed-fallback/stdlib/array.pyi +1 -1
  17. package/dist/typeshed-fallback/stdlib/ast.pyi +160 -70
  18. package/dist/typeshed-fallback/stdlib/asyncio/futures.pyi +1 -1
  19. package/dist/typeshed-fallback/stdlib/asyncio/queues.pyi +1 -1
  20. package/dist/typeshed-fallback/stdlib/asyncio/tasks.pyi +1 -1
  21. package/dist/typeshed-fallback/stdlib/atexit.pyi +2 -2
  22. package/dist/typeshed-fallback/stdlib/builtins.pyi +30 -8
  23. package/dist/typeshed-fallback/stdlib/calendar.pyi +29 -29
  24. package/dist/typeshed-fallback/stdlib/code.pyi +27 -8
  25. package/dist/typeshed-fallback/stdlib/concurrent/futures/_base.pyi +1 -1
  26. package/dist/typeshed-fallback/stdlib/concurrent/futures/thread.pyi +1 -1
  27. package/dist/typeshed-fallback/stdlib/contextvars.pyi +2 -2
  28. package/dist/typeshed-fallback/stdlib/csv.pyi +4 -4
  29. package/dist/typeshed-fallback/stdlib/ctypes/__init__.pyi +1 -1
  30. package/dist/typeshed-fallback/stdlib/dataclasses.pyi +1 -1
  31. package/dist/typeshed-fallback/stdlib/dbm/__init__.pyi +9 -2
  32. package/dist/typeshed-fallback/stdlib/dbm/dumb.pyi +7 -1
  33. package/dist/typeshed-fallback/stdlib/dbm/gnu.pyi +5 -2
  34. package/dist/typeshed-fallback/stdlib/dbm/ndbm.pyi +5 -2
  35. package/dist/typeshed-fallback/stdlib/difflib.pyi +1 -1
  36. package/dist/typeshed-fallback/stdlib/dis.pyi +16 -1
  37. package/dist/typeshed-fallback/stdlib/distutils/archive_util.pyi +22 -7
  38. package/dist/typeshed-fallback/stdlib/distutils/ccompiler.pyi +37 -16
  39. package/dist/typeshed-fallback/stdlib/distutils/cmd.pyi +52 -19
  40. package/dist/typeshed-fallback/stdlib/distutils/command/bdist_msi.pyi +4 -4
  41. package/dist/typeshed-fallback/stdlib/distutils/command/build.pyi +4 -2
  42. package/dist/typeshed-fallback/stdlib/distutils/command/build_py.pyi +2 -2
  43. package/dist/typeshed-fallback/stdlib/distutils/command/check.pyi +2 -2
  44. package/dist/typeshed-fallback/stdlib/distutils/command/config.pyi +5 -4
  45. package/dist/typeshed-fallback/stdlib/distutils/command/install.pyi +4 -2
  46. package/dist/typeshed-fallback/stdlib/distutils/command/register.pyi +4 -2
  47. package/dist/typeshed-fallback/stdlib/distutils/command/sdist.pyi +4 -2
  48. package/dist/typeshed-fallback/stdlib/distutils/core.pyi +2 -2
  49. package/dist/typeshed-fallback/stdlib/distutils/dep_util.pyi +14 -3
  50. package/dist/typeshed-fallback/stdlib/distutils/dir_util.pyi +20 -10
  51. package/dist/typeshed-fallback/stdlib/distutils/dist.pyi +8 -5
  52. package/dist/typeshed-fallback/stdlib/distutils/file_util.pyi +35 -11
  53. package/dist/typeshed-fallback/stdlib/distutils/filelist.pyi +11 -3
  54. package/dist/typeshed-fallback/stdlib/distutils/spawn.pyi +5 -1
  55. package/dist/typeshed-fallback/stdlib/distutils/sysconfig.pyi +4 -2
  56. package/dist/typeshed-fallback/stdlib/distutils/text_file.pyi +7 -7
  57. package/dist/typeshed-fallback/stdlib/distutils/util.pyi +9 -5
  58. package/dist/typeshed-fallback/stdlib/faulthandler.pyi +1 -1
  59. package/dist/typeshed-fallback/stdlib/filecmp.pyi +1 -1
  60. package/dist/typeshed-fallback/stdlib/fileinput.pyi +1 -1
  61. package/dist/typeshed-fallback/stdlib/functools.pyi +3 -3
  62. package/dist/typeshed-fallback/stdlib/genericpath.pyi +7 -0
  63. package/dist/typeshed-fallback/stdlib/graphlib.pyi +1 -1
  64. package/dist/typeshed-fallback/stdlib/gzip.pyi +3 -3
  65. package/dist/typeshed-fallback/stdlib/http/__init__.pyi +11 -4
  66. package/dist/typeshed-fallback/stdlib/http/cookies.pyi +1 -1
  67. package/dist/typeshed-fallback/stdlib/importlib/abc.pyi +2 -2
  68. package/dist/typeshed-fallback/stdlib/importlib/util.pyi +3 -2
  69. package/dist/typeshed-fallback/stdlib/inspect.pyi +6 -0
  70. package/dist/typeshed-fallback/stdlib/keyword.pyi +2 -2
  71. package/dist/typeshed-fallback/stdlib/logging/__init__.pyi +69 -42
  72. package/dist/typeshed-fallback/stdlib/mailbox.pyi +2 -2
  73. package/dist/typeshed-fallback/stdlib/marshal.pyi +12 -4
  74. package/dist/typeshed-fallback/stdlib/math.pyi +3 -0
  75. package/dist/typeshed-fallback/stdlib/multiprocessing/managers.pyi +1 -1
  76. package/dist/typeshed-fallback/stdlib/multiprocessing/pool.pyi +1 -1
  77. package/dist/typeshed-fallback/stdlib/multiprocessing/queues.pyi +1 -1
  78. package/dist/typeshed-fallback/stdlib/multiprocessing/shared_memory.pyi +1 -1
  79. package/dist/typeshed-fallback/stdlib/ntpath.pyi +8 -1
  80. package/dist/typeshed-fallback/stdlib/opcode.pyi +6 -2
  81. package/dist/typeshed-fallback/stdlib/optparse.pyi +1 -1
  82. package/dist/typeshed-fallback/stdlib/os/__init__.pyi +1 -1
  83. package/dist/typeshed-fallback/stdlib/pathlib.pyi +6 -2
  84. package/dist/typeshed-fallback/stdlib/pkgutil.pyi +6 -6
  85. package/dist/typeshed-fallback/stdlib/posixpath.pyi +5 -0
  86. package/dist/typeshed-fallback/stdlib/queue.pyi +4 -2
  87. package/dist/typeshed-fallback/stdlib/random.pyi +4 -1
  88. package/dist/typeshed-fallback/stdlib/re.pyi +20 -9
  89. package/dist/typeshed-fallback/stdlib/shelve.pyi +15 -2
  90. package/dist/typeshed-fallback/stdlib/shutil.pyi +38 -8
  91. package/dist/typeshed-fallback/stdlib/signal.pyi +1 -1
  92. package/dist/typeshed-fallback/stdlib/socket.pyi +13 -0
  93. package/dist/typeshed-fallback/stdlib/stat.pyi +6 -0
  94. package/dist/typeshed-fallback/stdlib/statistics.pyi +30 -1
  95. package/dist/typeshed-fallback/stdlib/subprocess.pyi +2 -2
  96. package/dist/typeshed-fallback/stdlib/sys/__init__.pyi +15 -19
  97. package/dist/typeshed-fallback/stdlib/syslog.pyi +9 -0
  98. package/dist/typeshed-fallback/stdlib/tempfile.pyi +7 -3
  99. package/dist/typeshed-fallback/stdlib/threading.pyi +3 -0
  100. package/dist/typeshed-fallback/stdlib/token.pyi +5 -4
  101. package/dist/typeshed-fallback/stdlib/tokenize.pyi +10 -3
  102. package/dist/typeshed-fallback/stdlib/types.pyi +20 -18
  103. package/dist/typeshed-fallback/stdlib/typing.pyi +75 -21
  104. package/dist/typeshed-fallback/stdlib/typing_extensions.pyi +104 -83
  105. package/dist/typeshed-fallback/stdlib/unittest/case.pyi +1 -1
  106. package/dist/typeshed-fallback/stdlib/urllib/parse.pyi +1 -1
  107. package/dist/typeshed-fallback/stdlib/urllib/request.pyi +17 -10
  108. package/dist/typeshed-fallback/stdlib/venv/__init__.pyi +31 -3
  109. package/dist/typeshed-fallback/stdlib/warnings.pyi +13 -1
  110. package/dist/typeshed-fallback/stdlib/wsgiref/util.pyi +2 -0
  111. package/dist/typeshed-fallback/stubs/Pillow/PIL/DdsImagePlugin.pyi +17 -17
  112. package/dist/typeshed-fallback/stubs/Pillow/PIL/Image.pyi +29 -29
  113. package/dist/typeshed-fallback/stubs/Pillow/PIL/WalImageFile.pyi +2 -1
  114. package/dist/typeshed-fallback/stubs/Pillow/PIL/_binary.pyi +13 -13
  115. package/dist/typeshed-fallback/stubs/WebOb/webob/multidict.pyi +8 -3
  116. package/dist/typeshed-fallback/stubs/WebOb/webob/request.pyi +10 -3
  117. package/dist/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNType.pyi +2 -2
  118. package/dist/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerAction.pyi +8 -8
  119. package/dist/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/PredictionMode.pyi +3 -3
  120. package/dist/typeshed-fallback/stubs/assertpy/METADATA.toml +2 -0
  121. package/dist/typeshed-fallback/stubs/assertpy/assertpy/__init__.pyi +12 -0
  122. package/dist/typeshed-fallback/stubs/assertpy/assertpy/assertpy.pyi +70 -0
  123. package/dist/typeshed-fallback/stubs/assertpy/assertpy/base.pyi +21 -0
  124. package/dist/typeshed-fallback/stubs/assertpy/assertpy/collection.pyi +11 -0
  125. package/dist/typeshed-fallback/stubs/assertpy/assertpy/contains.pyi +16 -0
  126. package/dist/typeshed-fallback/stubs/assertpy/assertpy/date.pyi +11 -0
  127. package/dist/typeshed-fallback/stubs/assertpy/assertpy/dict.pyi +12 -0
  128. package/dist/typeshed-fallback/stubs/assertpy/assertpy/dynamic.pyi +7 -0
  129. package/dist/typeshed-fallback/stubs/assertpy/assertpy/exception.pyi +8 -0
  130. package/dist/typeshed-fallback/stubs/assertpy/assertpy/extracting.pyi +7 -0
  131. package/dist/typeshed-fallback/stubs/assertpy/assertpy/file.pyi +15 -0
  132. package/dist/typeshed-fallback/stubs/assertpy/assertpy/helpers.pyi +3 -0
  133. package/dist/typeshed-fallback/stubs/assertpy/assertpy/numeric.pyi +24 -0
  134. package/dist/typeshed-fallback/stubs/assertpy/assertpy/snapshot.pyi +6 -0
  135. package/dist/typeshed-fallback/stubs/assertpy/assertpy/string.pyi +18 -0
  136. package/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/element.pyi +15 -7
  137. package/dist/typeshed-fallback/stubs/docker/docker/api/container.pyi +119 -61
  138. package/dist/typeshed-fallback/stubs/docker/docker/errors.pyi +3 -3
  139. package/dist/typeshed-fallback/stubs/docker/docker/models/containers.pyi +31 -20
  140. package/dist/typeshed-fallback/stubs/docker/docker/utils/json_stream.pyi +16 -8
  141. package/dist/typeshed-fallback/stubs/flake8/METADATA.toml +3 -0
  142. package/dist/typeshed-fallback/stubs/flake8/flake8/__init__.pyi +8 -0
  143. package/dist/typeshed-fallback/stubs/flake8/flake8/_compat.pyi +5 -0
  144. package/dist/typeshed-fallback/stubs/flake8/flake8/api/__init__.pyi +0 -0
  145. package/dist/typeshed-fallback/stubs/flake8/flake8/api/legacy.pyi +27 -0
  146. package/dist/typeshed-fallback/stubs/flake8/flake8/checker.pyi +56 -0
  147. package/dist/typeshed-fallback/stubs/flake8/flake8/defaults.pyi +12 -0
  148. package/dist/typeshed-fallback/stubs/flake8/flake8/discover_files.pyi +8 -0
  149. package/dist/typeshed-fallback/stubs/flake8/flake8/exceptions.pyi +24 -0
  150. package/dist/typeshed-fallback/stubs/flake8/flake8/formatting/__init__.pyi +0 -0
  151. package/dist/typeshed-fallback/stubs/flake8/flake8/formatting/_windows_color.pyi +1 -0
  152. package/dist/typeshed-fallback/stubs/flake8/flake8/formatting/base.pyi +24 -0
  153. package/dist/typeshed-fallback/stubs/flake8/flake8/formatting/default.pyi +29 -0
  154. package/dist/typeshed-fallback/stubs/flake8/flake8/main/__init__.pyi +0 -0
  155. package/dist/typeshed-fallback/stubs/flake8/flake8/main/application.pyi +29 -0
  156. package/dist/typeshed-fallback/stubs/flake8/flake8/main/cli.pyi +3 -0
  157. package/dist/typeshed-fallback/stubs/flake8/flake8/main/debug.pyi +5 -0
  158. package/dist/typeshed-fallback/stubs/flake8/flake8/main/options.pyi +12 -0
  159. package/dist/typeshed-fallback/stubs/flake8/flake8/options/__init__.pyi +0 -0
  160. package/dist/typeshed-fallback/stubs/flake8/flake8/options/aggregator.pyi +12 -0
  161. package/dist/typeshed-fallback/stubs/flake8/flake8/options/config.pyi +10 -0
  162. package/dist/typeshed-fallback/stubs/flake8/flake8/options/manager.pyi +71 -0
  163. package/dist/typeshed-fallback/stubs/flake8/flake8/options/parse_args.pyi +6 -0
  164. package/dist/typeshed-fallback/stubs/flake8/flake8/plugins/__init__.pyi +0 -0
  165. package/dist/typeshed-fallback/stubs/flake8/flake8/plugins/finder.pyi +48 -0
  166. package/dist/typeshed-fallback/stubs/flake8/flake8/plugins/pycodestyle.pyi +32 -0
  167. package/dist/typeshed-fallback/stubs/flake8/flake8/plugins/pyflakes.pyi +21 -0
  168. package/dist/typeshed-fallback/stubs/flake8/flake8/plugins/reporter.pyi +9 -0
  169. package/dist/typeshed-fallback/stubs/flake8/flake8/processor.pyi +72 -0
  170. package/dist/typeshed-fallback/stubs/flake8/flake8/statistics.pyi +28 -0
  171. package/dist/typeshed-fallback/stubs/flake8/flake8/style_guide.pyi +70 -0
  172. package/dist/typeshed-fallback/stubs/flake8/flake8/utils.pyi +25 -0
  173. package/dist/typeshed-fallback/stubs/flake8/flake8/violation.pyi +13 -0
  174. package/dist/typeshed-fallback/stubs/fpdf2/METADATA.toml +1 -1
  175. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/bidi.pyi +5 -3
  176. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/drawing.pyi +5 -1
  177. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/enums.pyi +15 -2
  178. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.pyi +2 -1
  179. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/html.pyi +45 -32
  180. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/line_break.pyi +4 -4
  181. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/outline.pyi +1 -1
  182. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/svg.pyi +0 -1
  183. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/table.pyi +2 -1
  184. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/util.pyi +4 -0
  185. package/dist/typeshed-fallback/stubs/hvac/hvac/adapters.pyi +1 -1
  186. package/dist/typeshed-fallback/stubs/hvac/hvac/v1/__init__.pyi +35 -23
  187. package/dist/typeshed-fallback/stubs/influxdb-client/METADATA.toml +1 -1
  188. package/dist/typeshed-fallback/stubs/influxdb-client/influxdb_client/client/exceptions.pyi +3 -1
  189. package/dist/typeshed-fallback/stubs/influxdb-client/influxdb_client/rest.pyi +8 -2
  190. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/dag.pyi +2 -0
  191. package/dist/typeshed-fallback/stubs/psutil/psutil/__init__.pyi +1 -1
  192. package/dist/typeshed-fallback/stubs/psutil/psutil/_pswindows.pyi +8 -6
  193. package/dist/typeshed-fallback/stubs/pyaudio/METADATA.toml +2 -2
  194. package/dist/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/__init__.pyi +0 -0
  195. package/dist/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/pyflakes.pyi +8 -0
  196. package/dist/typeshed-fallback/stubs/pygit2/METADATA.toml +1 -1
  197. package/dist/typeshed-fallback/stubs/pygit2/pygit2/_pygit2.pyi +1 -15
  198. package/dist/typeshed-fallback/stubs/pygit2/pygit2/enums.pyi +313 -314
  199. package/dist/typeshed-fallback/stubs/pygit2/pygit2/index.pyi +2 -1
  200. package/dist/typeshed-fallback/stubs/pygit2/pygit2/remotes.pyi +7 -1
  201. package/dist/typeshed-fallback/stubs/pygit2/pygit2/repository.pyi +4 -14
  202. package/dist/typeshed-fallback/stubs/pygit2/pygit2/utils.pyi +7 -1
  203. package/dist/typeshed-fallback/stubs/pynput/METADATA.toml +1 -1
  204. package/dist/typeshed-fallback/stubs/regex/METADATA.toml +1 -1
  205. package/dist/typeshed-fallback/stubs/regex/regex/_regex_core.pyi +35 -35
  206. package/dist/typeshed-fallback/stubs/regex/regex/regex.pyi +10 -10
  207. package/dist/typeshed-fallback/stubs/requests/METADATA.toml +1 -1
  208. package/dist/typeshed-fallback/stubs/setuptools/pkg_resources/__init__.pyi +16 -9
  209. package/dist/typeshed-fallback/stubs/setuptools/setuptools/__init__.pyi +4 -2
  210. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_modified.pyi +16 -5
  211. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/archive_util.pyi +25 -10
  212. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.pyi +38 -16
  213. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cmd.pyi +58 -30
  214. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_py.pyi +2 -1
  215. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_lib.pyi +1 -1
  216. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_scripts.pyi +1 -1
  217. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/upload.pyi +2 -2
  218. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dep_util.pyi +1 -3
  219. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dist.pyi +8 -5
  220. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/filelist.pyi +14 -6
  221. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/sysconfig.pyi +4 -2
  222. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/util.pyi +8 -4
  223. package/dist/typeshed-fallback/stubs/setuptools/setuptools/build_meta.pyi +4 -3
  224. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_egg.pyi +9 -1
  225. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/build_ext.pyi +2 -2
  226. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/install.pyi +3 -1
  227. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/install_lib.pyi +10 -1
  228. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/install_scripts.pyi +1 -3
  229. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/upload_docs.pyi +2 -3
  230. package/dist/typeshed-fallback/stubs/setuptools/setuptools/config/expand.pyi +1 -1
  231. package/dist/typeshed-fallback/stubs/six/six/__init__.pyi +1 -1
  232. package/dist/typeshed-fallback/stubs/uWSGI/METADATA.toml +4 -1
  233. package/dist/typeshed-fallback/stubs/ujson/METADATA.toml +1 -1
  234. package/dist/typeshed-fallback/stubs/wurlitzer/METADATA.toml +1 -1
  235. package/dist/typeshed-fallback/stubs/wurlitzer/wurlitzer.pyi +48 -6
  236. package/package.json +1 -1
@@ -30,7 +30,7 @@ class ContextVar(Generic[_T]):
30
30
  def set(self, value: _T, /) -> Token[_T]: ...
31
31
  def reset(self, token: Token[_T], /) -> None: ...
32
32
  if sys.version_info >= (3, 9):
33
- def __class_getitem__(cls, item: Any) -> GenericAlias: ...
33
+ def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
34
34
 
35
35
  @final
36
36
  class Token(Generic[_T]):
@@ -40,7 +40,7 @@ class Token(Generic[_T]):
40
40
  def old_value(self) -> Any: ... # returns either _T or MISSING, but that's hard to express
41
41
  MISSING: ClassVar[object]
42
42
  if sys.version_info >= (3, 9):
43
- def __class_getitem__(cls, item: Any) -> GenericAlias: ...
43
+ def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
44
44
 
45
45
  def copy_context() -> Context: ...
46
46
 
@@ -40,7 +40,6 @@ __all__ = [
40
40
  "QUOTE_NONE",
41
41
  "Error",
42
42
  "Dialect",
43
- "__doc__",
44
43
  "excel",
45
44
  "excel_tab",
46
45
  "field_size_limit",
@@ -51,13 +50,14 @@ __all__ = [
51
50
  "list_dialects",
52
51
  "Sniffer",
53
52
  "unregister_dialect",
54
- "__version__",
55
53
  "DictReader",
56
54
  "DictWriter",
57
55
  "unix_dialect",
58
56
  ]
59
57
  if sys.version_info >= (3, 12):
60
58
  __all__ += ["QUOTE_STRINGS", "QUOTE_NOTNULL"]
59
+ if sys.version_info < (3, 13):
60
+ __all__ += ["__doc__", "__version__"]
61
61
 
62
62
  _T = TypeVar("_T")
63
63
 
@@ -111,7 +111,7 @@ class DictReader(Iterator[dict[_T | Any, str | Any]], Generic[_T]):
111
111
  def __iter__(self) -> Self: ...
112
112
  def __next__(self) -> dict[_T | Any, str | Any]: ...
113
113
  if sys.version_info >= (3, 12):
114
- def __class_getitem__(cls, item: Any) -> GenericAlias: ...
114
+ def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
115
115
 
116
116
  class DictWriter(Generic[_T]):
117
117
  fieldnames: Collection[_T]
@@ -139,7 +139,7 @@ class DictWriter(Generic[_T]):
139
139
  def writerow(self, rowdict: Mapping[_T, Any]) -> Any: ...
140
140
  def writerows(self, rowdicts: Iterable[Mapping[_T, Any]]) -> None: ...
141
141
  if sys.version_info >= (3, 12):
142
- def __class_getitem__(cls, item: Any) -> GenericAlias: ...
142
+ def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
143
143
 
144
144
  class Sniffer:
145
145
  preferred: list[str]
@@ -76,7 +76,7 @@ class LibraryLoader(Generic[_DLLT]):
76
76
  def __getitem__(self, name: str) -> _DLLT: ...
77
77
  def LoadLibrary(self, name: str) -> _DLLT: ...
78
78
  if sys.version_info >= (3, 9):
79
- def __class_getitem__(cls, item: Any) -> GenericAlias: ...
79
+ def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
80
80
 
81
81
  cdll: LibraryLoader[CDLL]
82
82
  if sys.platform == "win32":
@@ -143,7 +143,7 @@ class Field(Generic[_T]):
143
143
 
144
144
  def __set_name__(self, owner: Type[Any], name: str) -> None: ...
145
145
  if sys.version_info >= (3, 9):
146
- def __class_getitem__(cls, item: Any) -> GenericAlias: ...
146
+ def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
147
147
 
148
148
  # NOTE: Actual return type is 'Field[_T]', but we want to help type checkers
149
149
  # to understand the magic that happens at runtime.
@@ -1,3 +1,5 @@
1
+ import sys
2
+ from _typeshed import StrOrBytesPath
1
3
  from collections.abc import Iterator, MutableMapping
2
4
  from types import TracebackType
3
5
  from typing import Literal
@@ -91,5 +93,10 @@ class _error(Exception): ...
91
93
 
92
94
  error: tuple[type[_error], type[OSError]]
93
95
 
94
- def whichdb(filename: str) -> str | None: ...
95
- def open(file: str, flag: _TFlags = "r", mode: int = 0o666) -> _Database: ...
96
+ if sys.version_info >= (3, 11):
97
+ def whichdb(filename: StrOrBytesPath) -> str | None: ...
98
+ def open(file: StrOrBytesPath, flag: _TFlags = "r", mode: int = 0o666) -> _Database: ...
99
+
100
+ else:
101
+ def whichdb(filename: str) -> str | None: ...
102
+ def open(file: str, flag: _TFlags = "r", mode: int = 0o666) -> _Database: ...
@@ -1,3 +1,5 @@
1
+ import sys
2
+ from _typeshed import StrOrBytesPath
1
3
  from collections.abc import Iterator, MutableMapping
2
4
  from types import TracebackType
3
5
  from typing_extensions import Self, TypeAlias
@@ -28,4 +30,8 @@ class _Database(MutableMapping[_KeyType, bytes]):
28
30
  self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
29
31
  ) -> None: ...
30
32
 
31
- def open(file: str, flag: str = "c", mode: int = 0o666) -> _Database: ...
33
+ if sys.version_info >= (3, 11):
34
+ def open(file: StrOrBytesPath, flag: str = "c", mode: int = 0o666) -> _Database: ...
35
+
36
+ else:
37
+ def open(file: str, flag: str = "c", mode: int = 0o666) -> _Database: ...
@@ -1,5 +1,5 @@
1
1
  import sys
2
- from _typeshed import ReadOnlyBuffer
2
+ from _typeshed import ReadOnlyBuffer, StrOrBytesPath
3
3
  from types import TracebackType
4
4
  from typing import TypeVar, overload
5
5
  from typing_extensions import Self, TypeAlias
@@ -38,4 +38,7 @@ if sys.platform != "win32":
38
38
  __new__: None # type: ignore[assignment]
39
39
  __init__: None # type: ignore[assignment]
40
40
 
41
- def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _gdbm: ...
41
+ if sys.version_info >= (3, 11):
42
+ def open(filename: StrOrBytesPath, flags: str = "r", mode: int = 0o666, /) -> _gdbm: ...
43
+ else:
44
+ def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _gdbm: ...
@@ -1,5 +1,5 @@
1
1
  import sys
2
- from _typeshed import ReadOnlyBuffer
2
+ from _typeshed import ReadOnlyBuffer, StrOrBytesPath
3
3
  from types import TracebackType
4
4
  from typing import TypeVar, overload
5
5
  from typing_extensions import Self, TypeAlias
@@ -34,4 +34,7 @@ if sys.platform != "win32":
34
34
  __new__: None # type: ignore[assignment]
35
35
  __init__: None # type: ignore[assignment]
36
36
 
37
- def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _dbm: ...
37
+ if sys.version_info >= (3, 11):
38
+ def open(filename: StrOrBytesPath, flags: str = "r", mode: int = 0o666, /) -> _dbm: ...
39
+ else:
40
+ def open(filename: str, flags: str = "r", mode: int = 0o666, /) -> _dbm: ...
@@ -55,7 +55,7 @@ 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
59
 
60
60
  @overload
61
61
  def get_close_matches(word: AnyStr, possibilities: Iterable[AnyStr], n: int = 3, cutoff: float = 0.6) -> list[AnyStr]: ...
@@ -47,7 +47,22 @@ if sys.version_info >= (3, 11):
47
47
  col_offset: int | None = None
48
48
  end_col_offset: int | None = None
49
49
 
50
- if sys.version_info >= (3, 11):
50
+ if sys.version_info >= (3, 13):
51
+ class _Instruction(NamedTuple):
52
+ opname: str
53
+ opcode: int
54
+ arg: int | None
55
+ argval: Any
56
+ argrepr: str
57
+ offset: int
58
+ start_offset: int
59
+ starts_line: bool
60
+ line_number: int | None
61
+ label: int | None = None
62
+ positions: Positions | None = None
63
+ cache_info: list[tuple[str, int, Any]] | None = None
64
+
65
+ elif sys.version_info >= (3, 11):
51
66
  class _Instruction(NamedTuple):
52
67
  opname: str
53
68
  opcode: int
@@ -1,20 +1,35 @@
1
+ from _typeshed import StrOrBytesPath, StrPath
2
+ from typing import Literal, overload
3
+
4
+ @overload
1
5
  def make_archive(
2
6
  base_name: str,
3
7
  format: str,
4
- root_dir: str | None = None,
8
+ root_dir: StrOrBytesPath | None = None,
5
9
  base_dir: str | None = None,
6
- verbose: int = 0,
7
- dry_run: int = 0,
10
+ verbose: bool | Literal[0, 1] = 0,
11
+ dry_run: bool | Literal[0, 1] = 0,
12
+ owner: str | None = None,
13
+ group: str | None = None,
14
+ ) -> str: ...
15
+ @overload
16
+ def make_archive(
17
+ base_name: StrPath,
18
+ format: str,
19
+ root_dir: StrOrBytesPath,
20
+ base_dir: str | None = None,
21
+ verbose: bool | Literal[0, 1] = 0,
22
+ dry_run: bool | Literal[0, 1] = 0,
8
23
  owner: str | None = None,
9
24
  group: str | None = None,
10
25
  ) -> str: ...
11
26
  def make_tarball(
12
27
  base_name: str,
13
- base_dir: str,
28
+ base_dir: StrPath,
14
29
  compress: str | None = "gzip",
15
- verbose: int = 0,
16
- dry_run: int = 0,
30
+ verbose: bool | Literal[0, 1] = 0,
31
+ dry_run: bool | Literal[0, 1] = 0,
17
32
  owner: str | None = None,
18
33
  group: str | None = None,
19
34
  ) -> str: ...
20
- def make_zipfile(base_name: str, base_dir: str, verbose: int = 0, dry_run: int = 0) -> str: ...
35
+ def make_zipfile(base_name: str, base_dir: str, verbose: bool | Literal[0, 1] = 0, dry_run: bool | Literal[0, 1] = 0) -> str: ...
@@ -1,5 +1,7 @@
1
- from collections.abc import Callable
2
- from typing import Any
1
+ from _typeshed import BytesPath, StrPath
2
+ from collections.abc import Callable, Iterable
3
+ from distutils.file_util import _BytesPathT, _StrPathT
4
+ from typing import Any, Literal, overload
3
5
  from typing_extensions import TypeAlias
4
6
 
5
7
  _Macro: TypeAlias = tuple[str] | tuple[str, str | None]
@@ -10,7 +12,11 @@ def gen_lib_options(
10
12
  def gen_preprocess_options(macros: list[_Macro], include_dirs: list[str]) -> list[str]: ...
11
13
  def get_default_compiler(osname: str | None = None, platform: str | None = None) -> str: ...
12
14
  def new_compiler(
13
- plat: str | None = None, compiler: str | None = None, verbose: int = 0, dry_run: int = 0, force: int = 0
15
+ plat: str | None = None,
16
+ compiler: str | None = None,
17
+ verbose: bool | Literal[0, 1] = 0,
18
+ dry_run: bool | Literal[0, 1] = 0,
19
+ force: bool | Literal[0, 1] = 0,
14
20
  ) -> CCompiler: ...
15
21
  def show_compilers() -> None: ...
16
22
 
@@ -25,7 +31,9 @@ class CCompiler:
25
31
  library_dirs: list[str]
26
32
  runtime_library_dirs: list[str]
27
33
  objects: list[str]
28
- def __init__(self, verbose: int = 0, dry_run: int = 0, force: int = 0) -> None: ...
34
+ def __init__(
35
+ self, verbose: bool | Literal[0, 1] = 0, dry_run: bool | Literal[0, 1] = 0, force: bool | Literal[0, 1] = 0
36
+ ) -> None: ...
29
37
  def add_include_dir(self, dir: str) -> None: ...
30
38
  def set_include_dirs(self, dirs: list[str]) -> None: ...
31
39
  def add_library(self, libname: str) -> None: ...
@@ -39,7 +47,7 @@ class CCompiler:
39
47
  def add_link_object(self, object: str) -> None: ...
40
48
  def set_link_objects(self, objects: list[str]) -> None: ...
41
49
  def detect_language(self, sources: str | list[str]) -> str | None: ...
42
- def find_library_file(self, dirs: list[str], lib: str, debug: bool = ...) -> str | None: ...
50
+ def find_library_file(self, dirs: list[str], lib: str, debug: bool | Literal[0, 1] = 0) -> str | None: ...
43
51
  def has_function(
44
52
  self,
45
53
  funcname: str,
@@ -58,7 +66,7 @@ class CCompiler:
58
66
  output_dir: str | None = None,
59
67
  macros: list[_Macro] | None = None,
60
68
  include_dirs: list[str] | None = None,
61
- debug: bool = ...,
69
+ debug: bool | Literal[0, 1] = 0,
62
70
  extra_preargs: list[str] | None = None,
63
71
  extra_postargs: list[str] | None = None,
64
72
  depends: list[str] | None = None,
@@ -68,7 +76,7 @@ class CCompiler:
68
76
  objects: list[str],
69
77
  output_libname: str,
70
78
  output_dir: str | None = None,
71
- debug: bool = ...,
79
+ debug: bool | Literal[0, 1] = 0,
72
80
  target_lang: str | None = None,
73
81
  ) -> None: ...
74
82
  def link(
@@ -81,7 +89,7 @@ class CCompiler:
81
89
  library_dirs: list[str] | None = None,
82
90
  runtime_library_dirs: list[str] | None = None,
83
91
  export_symbols: list[str] | None = None,
84
- debug: bool = ...,
92
+ debug: bool | Literal[0, 1] = 0,
85
93
  extra_preargs: list[str] | None = None,
86
94
  extra_postargs: list[str] | None = None,
87
95
  build_temp: str | None = None,
@@ -95,7 +103,7 @@ class CCompiler:
95
103
  libraries: list[str] | None = None,
96
104
  library_dirs: list[str] | None = None,
97
105
  runtime_library_dirs: list[str] | None = None,
98
- debug: bool = ...,
106
+ debug: bool | Literal[0, 1] = 0,
99
107
  extra_preargs: list[str] | None = None,
100
108
  extra_postargs: list[str] | None = None,
101
109
  target_lang: str | None = None,
@@ -109,7 +117,7 @@ class CCompiler:
109
117
  library_dirs: list[str] | None = None,
110
118
  runtime_library_dirs: list[str] | None = None,
111
119
  export_symbols: list[str] | None = None,
112
- debug: bool = ...,
120
+ debug: bool | Literal[0, 1] = 0,
113
121
  extra_preargs: list[str] | None = None,
114
122
  extra_postargs: list[str] | None = None,
115
123
  build_temp: str | None = None,
@@ -124,7 +132,7 @@ class CCompiler:
124
132
  library_dirs: list[str] | None = None,
125
133
  runtime_library_dirs: list[str] | None = None,
126
134
  export_symbols: list[str] | None = None,
127
- debug: bool = ...,
135
+ debug: bool | Literal[0, 1] = 0,
128
136
  extra_preargs: list[str] | None = None,
129
137
  extra_postargs: list[str] | None = None,
130
138
  build_temp: str | None = None,
@@ -139,14 +147,27 @@ class CCompiler:
139
147
  extra_preargs: list[str] | None = None,
140
148
  extra_postargs: list[str] | None = None,
141
149
  ) -> None: ...
142
- def executable_filename(self, basename: str, strip_dir: int = 0, output_dir: str = "") -> str: ...
143
- def library_filename(self, libname: str, lib_type: str = "static", strip_dir: int = 0, output_dir: str = "") -> str: ...
144
- def object_filenames(self, source_filenames: list[str], strip_dir: int = 0, output_dir: str = "") -> list[str]: ...
145
- def shared_object_filename(self, basename: str, strip_dir: int = 0, output_dir: str = "") -> str: ...
150
+ @overload
151
+ def executable_filename(self, basename: str, strip_dir: Literal[0, False] = 0, output_dir: StrPath = "") -> str: ...
152
+ @overload
153
+ def executable_filename(self, basename: StrPath, strip_dir: Literal[1, True], output_dir: StrPath = "") -> str: ...
154
+ def library_filename(
155
+ self, libname: str, lib_type: str = "static", strip_dir: bool | Literal[0, 1] = 0, output_dir: StrPath = ""
156
+ ) -> str: ...
157
+ def object_filenames(
158
+ self, source_filenames: Iterable[StrPath], strip_dir: bool | Literal[0, 1] = 0, output_dir: StrPath | None = ""
159
+ ) -> list[str]: ...
160
+ @overload
161
+ def shared_object_filename(self, basename: str, strip_dir: Literal[0, False] = 0, output_dir: StrPath = "") -> str: ...
162
+ @overload
163
+ def shared_object_filename(self, basename: StrPath, strip_dir: Literal[1, True], output_dir: StrPath = "") -> str: ...
146
164
  def execute(self, func: Callable[..., object], args: tuple[Any, ...], msg: str | None = None, level: int = 1) -> None: ...
147
165
  def spawn(self, cmd: list[str]) -> None: ...
148
166
  def mkpath(self, name: str, mode: int = 0o777) -> None: ...
149
- def move_file(self, src: str, dst: str) -> str: ...
167
+ @overload
168
+ def move_file(self, src: StrPath, dst: _StrPathT) -> _StrPathT | str: ...
169
+ @overload
170
+ def move_file(self, src: BytesPath, dst: _BytesPathT) -> _BytesPathT | bytes: ...
150
171
  def announce(self, msg: str, level: int = 1) -> None: ...
151
172
  def warn(self, msg: str) -> None: ...
152
173
  def debug_print(self, msg: str) -> None: ...
@@ -1,12 +1,14 @@
1
- from _typeshed import Incomplete
1
+ from _typeshed import BytesPath, Incomplete, StrOrBytesPath, StrPath, Unused
2
2
  from abc import abstractmethod
3
3
  from collections.abc import Callable, Iterable
4
4
  from distutils.dist import Distribution
5
- from typing import Any
5
+ from distutils.file_util import _BytesPathT, _StrPathT
6
+ from typing import Any, ClassVar, Literal, overload
6
7
 
7
8
  class Command:
8
9
  distribution: Distribution
9
- sub_commands: list[tuple[str, Callable[[Command], bool] | None]]
10
+ # Any to work around variance issues
11
+ sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]]
10
12
  def __init__(self, dist: Distribution) -> None: ...
11
13
  @abstractmethod
12
14
  def initialize_options(self) -> None: ...
@@ -22,32 +24,63 @@ class Command:
22
24
  def ensure_dirname(self, option: str) -> None: ...
23
25
  def get_command_name(self) -> str: ...
24
26
  def set_undefined_options(self, src_cmd: str, *option_pairs: tuple[str, str]) -> None: ...
25
- def get_finalized_command(self, command: str, create: int = 1) -> Command: ...
26
- def reinitialize_command(self, command: Command | str, reinit_subcommands: int = 0) -> Command: ...
27
+ def get_finalized_command(self, command: str, create: bool | Literal[0, 1] = 1) -> Command: ...
28
+ def reinitialize_command(self, command: Command | str, reinit_subcommands: bool | Literal[0, 1] = 0) -> Command: ...
27
29
  def run_command(self, command: str) -> None: ...
28
30
  def get_sub_commands(self) -> list[str]: ...
29
31
  def warn(self, msg: str) -> None: ...
30
32
  def execute(self, func: Callable[..., object], args: Iterable[Any], msg: str | None = None, level: int = 1) -> None: ...
31
33
  def mkpath(self, name: str, mode: int = 0o777) -> None: ...
34
+ @overload
32
35
  def copy_file(
33
- self, infile: str, outfile: str, preserve_mode: int = 1, preserve_times: int = 1, link: str | None = None, level: Any = 1
34
- ) -> tuple[str, bool]: ... # level is not used
36
+ self,
37
+ infile: StrPath,
38
+ outfile: _StrPathT,
39
+ preserve_mode: bool | Literal[0, 1] = 1,
40
+ preserve_times: bool | Literal[0, 1] = 1,
41
+ link: str | None = None,
42
+ level: Unused = 1,
43
+ ) -> tuple[_StrPathT | str, bool]: ...
44
+ @overload
45
+ def copy_file(
46
+ self,
47
+ infile: BytesPath,
48
+ outfile: _BytesPathT,
49
+ preserve_mode: bool | Literal[0, 1] = 1,
50
+ preserve_times: bool | Literal[0, 1] = 1,
51
+ link: str | None = None,
52
+ level: Unused = 1,
53
+ ) -> tuple[_BytesPathT | bytes, bool]: ...
35
54
  def copy_tree(
36
55
  self,
37
- infile: str,
56
+ infile: StrPath,
38
57
  outfile: str,
39
- preserve_mode: int = 1,
40
- preserve_times: int = 1,
41
- preserve_symlinks: int = 0,
42
- level: Any = 1,
43
- ) -> list[str]: ... # level is not used
44
- def move_file(self, src: str, dst: str, level: Any = 1) -> str: ... # level is not used
45
- def spawn(self, cmd: Iterable[str], search_path: int = 1, level: Any = 1) -> None: ... # level is not used
58
+ preserve_mode: bool | Literal[0, 1] = 1,
59
+ preserve_times: bool | Literal[0, 1] = 1,
60
+ preserve_symlinks: bool | Literal[0, 1] = 0,
61
+ level: Unused = 1,
62
+ ) -> list[str]: ...
63
+ @overload
64
+ def move_file(self, src: StrPath, dst: _StrPathT, level: Unused = 1) -> _StrPathT | str: ...
65
+ @overload
66
+ def move_file(self, src: BytesPath, dst: _BytesPathT, level: Unused = 1) -> _BytesPathT | bytes: ...
67
+ def spawn(self, cmd: Iterable[str], search_path: bool | Literal[0, 1] = 1, level: Unused = 1) -> None: ...
68
+ @overload
46
69
  def make_archive(
47
70
  self,
48
71
  base_name: str,
49
72
  format: str,
50
- root_dir: str | None = None,
73
+ root_dir: StrOrBytesPath | None = None,
74
+ base_dir: str | None = None,
75
+ owner: str | None = None,
76
+ group: str | None = None,
77
+ ) -> str: ...
78
+ @overload
79
+ def make_archive(
80
+ self,
81
+ base_name: StrPath,
82
+ format: str,
83
+ root_dir: StrOrBytesPath,
51
84
  base_dir: str | None = None,
52
85
  owner: str | None = None,
53
86
  group: str | None = None,
@@ -55,12 +88,12 @@ class Command:
55
88
  def make_file(
56
89
  self,
57
90
  infiles: str | list[str] | tuple[str, ...],
58
- outfile: str,
91
+ outfile: StrOrBytesPath,
59
92
  func: Callable[..., object],
60
93
  args: list[Any],
61
94
  exec_msg: str | None = None,
62
95
  skip_msg: str | None = None,
63
- level: Any = 1,
64
- ) -> None: ... # level is not used
96
+ level: Unused = 1,
97
+ ) -> None: ...
65
98
  def ensure_finalized(self) -> None: ...
66
99
  def dump_options(self, header: Incomplete | None = None, indent: str = "") -> None: ...
@@ -1,5 +1,5 @@
1
1
  import sys
2
- from typing import Any
2
+ from typing import Any, Literal
3
3
 
4
4
  from ..cmd import Command
5
5
 
@@ -9,9 +9,9 @@ if sys.platform == "win32":
9
9
  class PyDialog(Dialog):
10
10
  def __init__(self, *args, **kw) -> None: ...
11
11
  def title(self, title) -> None: ...
12
- def back(self, title, next, name: str = "Back", active: int = 1): ...
13
- def cancel(self, title, next, name: str = "Cancel", active: int = 1): ...
14
- def next(self, title, next, name: str = "Next", active: int = 1): ...
12
+ def back(self, title, next, name: str = "Back", active: bool | Literal[0, 1] = 1): ...
13
+ def cancel(self, title, next, name: str = "Cancel", active: bool | Literal[0, 1] = 1): ...
14
+ def next(self, title, next, name: str = "Next", active: bool | Literal[0, 1] = 1): ...
15
15
  def xbutton(self, name, title, next, xpos): ...
16
16
 
17
17
  class bdist_msi(Command):
@@ -1,4 +1,5 @@
1
- from typing import Any
1
+ from collections.abc import Callable
2
+ from typing import Any, ClassVar
2
3
 
3
4
  from ..cmd import Command
4
5
 
@@ -28,4 +29,5 @@ class build(Command):
28
29
  def has_c_libraries(self): ...
29
30
  def has_ext_modules(self): ...
30
31
  def has_scripts(self): ...
31
- sub_commands: Any
32
+ # Any to work around variance issues
33
+ sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]]
@@ -1,4 +1,4 @@
1
- from typing import Any
1
+ from typing import Any, Literal
2
2
 
3
3
  from ..cmd import Command
4
4
  from ..util import Mixin2to3 as Mixin2to3
@@ -32,7 +32,7 @@ class build_py(Command):
32
32
  def find_all_modules(self): ...
33
33
  def get_source_files(self): ...
34
34
  def get_module_outfile(self, build_dir, package, module): ...
35
- def get_outputs(self, include_bytecode: int = 1): ...
35
+ def get_outputs(self, include_bytecode: bool | Literal[0, 1] = 1): ...
36
36
  def build_module(self, module, module_file, package): ...
37
37
  def build_modules(self) -> None: ...
38
38
  def build_packages(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from typing import Any
1
+ from typing import Any, Literal
2
2
  from typing_extensions import TypeAlias
3
3
 
4
4
  from ..cmd import Command
@@ -16,7 +16,7 @@ class SilentReporter(_Reporter):
16
16
  report_level,
17
17
  halt_level,
18
18
  stream: Any | None = ...,
19
- debug: int = ...,
19
+ debug: bool | Literal[0, 1] = 0,
20
20
  encoding: str = ...,
21
21
  error_handler: str = ...,
22
22
  ) -> None: ...
@@ -1,6 +1,7 @@
1
+ from _typeshed import StrOrBytesPath
1
2
  from collections.abc import Sequence
2
3
  from re import Pattern
3
- from typing import Any
4
+ from typing import Any, Literal
4
5
 
5
6
  from ..ccompiler import CCompiler
6
7
  from ..cmd import Command
@@ -65,8 +66,8 @@ class config(Command):
65
66
  include_dirs: Sequence[str] | None = None,
66
67
  libraries: Sequence[str] | None = None,
67
68
  library_dirs: Sequence[str] | None = None,
68
- decl: int = 0,
69
- call: int = 0,
69
+ decl: bool | Literal[0, 1] = 0,
70
+ call: bool | Literal[0, 1] = 0,
70
71
  ) -> bool: ...
71
72
  def check_lib(
72
73
  self,
@@ -80,4 +81,4 @@ class config(Command):
80
81
  self, header: str, include_dirs: Sequence[str] | None = None, library_dirs: Sequence[str] | None = None, lang: str = "c"
81
82
  ) -> bool: ...
82
83
 
83
- def dump_file(filename: str, head: Any | None = None) -> None: ...
84
+ def dump_file(filename: StrOrBytesPath, head: Any | None = None) -> None: ...
@@ -1,4 +1,5 @@
1
- from typing import Any
1
+ from collections.abc import Callable
2
+ from typing import Any, ClassVar
2
3
 
3
4
  from ..cmd import Command
4
5
 
@@ -60,4 +61,5 @@ class install(Command):
60
61
  def has_headers(self): ...
61
62
  def has_scripts(self): ...
62
63
  def has_data(self): ...
63
- sub_commands: Any
64
+ # Any to work around variance issues
65
+ sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]]
@@ -1,10 +1,12 @@
1
- from typing import Any
1
+ from collections.abc import Callable
2
+ from typing import Any, ClassVar
2
3
 
3
4
  from ..config import PyPIRCCommand
4
5
 
5
6
  class register(PyPIRCCommand):
6
7
  description: str
7
- sub_commands: Any
8
+ # Any to work around variance issues
9
+ sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]]
8
10
  list_classifiers: int
9
11
  strict: int
10
12
  def initialize_options(self) -> None: ...
@@ -1,4 +1,5 @@
1
- from typing import Any
1
+ from collections.abc import Callable
2
+ from typing import Any, ClassVar
2
3
 
3
4
  from ..cmd import Command
4
5
 
@@ -11,7 +12,8 @@ class sdist(Command):
11
12
  boolean_options: Any
12
13
  help_options: Any
13
14
  negative_opt: Any
14
- sub_commands: Any
15
+ # Any to work around variance issues
16
+ sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]]
15
17
  READMES: Any
16
18
  template: Any
17
19
  manifest: Any
@@ -3,7 +3,7 @@ from collections.abc import Mapping
3
3
  from distutils.cmd import Command as Command
4
4
  from distutils.dist import Distribution as Distribution
5
5
  from distutils.extension import Extension as Extension
6
- from typing import Any
6
+ from typing import Any, Literal
7
7
 
8
8
  USAGE: str
9
9
 
@@ -45,7 +45,7 @@ def setup(
45
45
  command_packages: list[str] = ...,
46
46
  command_options: Mapping[str, Mapping[str, tuple[Any, Any]]] = ...,
47
47
  package_data: Mapping[str, list[str]] = ...,
48
- include_package_data: bool = ...,
48
+ include_package_data: bool | Literal[0, 1] = ...,
49
49
  libraries: list[str] = ...,
50
50
  headers: list[str] = ...,
51
51
  ext_package: str = ...,
@@ -1,3 +1,14 @@
1
- def newer(source: str, target: str) -> bool: ...
2
- def newer_pairwise(sources: list[str], targets: list[str]) -> list[tuple[str, str]]: ...
3
- def newer_group(sources: list[str], target: str, missing: str = "error") -> bool: ...
1
+ from _typeshed import StrOrBytesPath, SupportsLenAndGetItem
2
+ from collections.abc import Iterable
3
+ from typing import Literal, TypeVar
4
+
5
+ _SourcesT = TypeVar("_SourcesT", bound=StrOrBytesPath)
6
+ _TargetsT = TypeVar("_TargetsT", bound=StrOrBytesPath)
7
+
8
+ def newer(source: StrOrBytesPath, target: StrOrBytesPath) -> bool | Literal[1]: ...
9
+ def newer_pairwise(
10
+ sources: SupportsLenAndGetItem[_SourcesT], targets: SupportsLenAndGetItem[_TargetsT]
11
+ ) -> tuple[list[_SourcesT], list[_TargetsT]]: ...
12
+ def newer_group(
13
+ sources: Iterable[StrOrBytesPath], target: StrOrBytesPath, missing: Literal["error", "ignore", "newer"] = "error"
14
+ ) -> Literal[0, 1]: ...