mypy-dev 1.9.0.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1018) hide show
  1. mypy/__init__.py +1 -0
  2. mypy/__main__.py +37 -0
  3. mypy/api.py +94 -0
  4. mypy/applytype.py +156 -0
  5. mypy/argmap.py +268 -0
  6. mypy/binder.py +538 -0
  7. mypy/bogus_type.py +27 -0
  8. mypy/build.py +3562 -0
  9. mypy/checker.py +8372 -0
  10. mypy/checkexpr.py +6615 -0
  11. mypy/checkmember.py +1356 -0
  12. mypy/checkpattern.py +801 -0
  13. mypy/checkstrformat.py +1109 -0
  14. mypy/config_parser.py +670 -0
  15. mypy/constant_fold.py +187 -0
  16. mypy/constraints.py +1624 -0
  17. mypy/copytype.py +133 -0
  18. mypy/defaults.py +46 -0
  19. mypy/dmypy/__init__.py +0 -0
  20. mypy/dmypy/__main__.py +6 -0
  21. mypy/dmypy/client.py +749 -0
  22. mypy/dmypy_os.py +42 -0
  23. mypy/dmypy_server.py +1107 -0
  24. mypy/dmypy_util.py +117 -0
  25. mypy/erasetype.py +278 -0
  26. mypy/errorcodes.py +285 -0
  27. mypy/errors.py +1280 -0
  28. mypy/evalexpr.py +205 -0
  29. mypy/expandtype.py +510 -0
  30. mypy/exprtotype.py +206 -0
  31. mypy/fastparse.py +2147 -0
  32. mypy/find_sources.py +243 -0
  33. mypy/fixup.py +426 -0
  34. mypy/freetree.py +23 -0
  35. mypy/fscache.py +309 -0
  36. mypy/fswatcher.py +106 -0
  37. mypy/gclogger.py +47 -0
  38. mypy/git.py +34 -0
  39. mypy/graph_utils.py +112 -0
  40. mypy/indirection.py +121 -0
  41. mypy/infer.py +75 -0
  42. mypy/inspections.py +627 -0
  43. mypy/ipc.py +310 -0
  44. mypy/join.py +866 -0
  45. mypy/literals.py +306 -0
  46. mypy/lookup.py +61 -0
  47. mypy/main.py +1574 -0
  48. mypy/maptype.py +106 -0
  49. mypy/meet.py +1140 -0
  50. mypy/memprofile.py +121 -0
  51. mypy/message_registry.py +326 -0
  52. mypy/messages.py +3171 -0
  53. mypy/metastore.py +225 -0
  54. mypy/mixedtraverser.py +112 -0
  55. mypy/modulefinder.py +875 -0
  56. mypy/moduleinspect.py +184 -0
  57. mypy/mro.py +62 -0
  58. mypy/nodes.py +4112 -0
  59. mypy/operators.py +126 -0
  60. mypy/options.py +556 -0
  61. mypy/parse.py +30 -0
  62. mypy/partially_defined.py +675 -0
  63. mypy/patterns.py +150 -0
  64. mypy/plugin.py +901 -0
  65. mypy/plugins/__init__.py +0 -0
  66. mypy/plugins/attrs.py +1152 -0
  67. mypy/plugins/common.py +440 -0
  68. mypy/plugins/ctypes.py +245 -0
  69. mypy/plugins/dataclasses.py +1101 -0
  70. mypy/plugins/default.py +518 -0
  71. mypy/plugins/enums.py +259 -0
  72. mypy/plugins/functools.py +104 -0
  73. mypy/plugins/proper_plugin.py +175 -0
  74. mypy/plugins/singledispatch.py +224 -0
  75. mypy/py.typed +1 -0
  76. mypy/pyinfo.py +78 -0
  77. mypy/reachability.py +362 -0
  78. mypy/refinfo.py +92 -0
  79. mypy/renaming.py +568 -0
  80. mypy/report.py +924 -0
  81. mypy/scope.py +125 -0
  82. mypy/semanal.py +7023 -0
  83. mypy/semanal_classprop.py +187 -0
  84. mypy/semanal_enum.py +253 -0
  85. mypy/semanal_infer.py +128 -0
  86. mypy/semanal_main.py +511 -0
  87. mypy/semanal_namedtuple.py +670 -0
  88. mypy/semanal_newtype.py +273 -0
  89. mypy/semanal_pass1.py +156 -0
  90. mypy/semanal_shared.py +490 -0
  91. mypy/semanal_typeargs.py +265 -0
  92. mypy/semanal_typeddict.py +575 -0
  93. mypy/server/__init__.py +0 -0
  94. mypy/server/astdiff.py +518 -0
  95. mypy/server/astmerge.py +562 -0
  96. mypy/server/aststrip.py +281 -0
  97. mypy/server/deps.py +1137 -0
  98. mypy/server/mergecheck.py +83 -0
  99. mypy/server/objgraph.py +101 -0
  100. mypy/server/subexpr.py +198 -0
  101. mypy/server/target.py +11 -0
  102. mypy/server/trigger.py +26 -0
  103. mypy/server/update.py +1339 -0
  104. mypy/sharedparse.py +112 -0
  105. mypy/solve.py +562 -0
  106. mypy/split_namespace.py +35 -0
  107. mypy/state.py +28 -0
  108. mypy/stats.py +489 -0
  109. mypy/strconv.py +641 -0
  110. mypy/stubdoc.py +491 -0
  111. mypy/stubgen.py +1873 -0
  112. mypy/stubgenc.py +993 -0
  113. mypy/stubinfo.py +173 -0
  114. mypy/stubtest.py +2079 -0
  115. mypy/stubutil.py +807 -0
  116. mypy/subtypes.py +1967 -0
  117. mypy/suggestions.py +1046 -0
  118. mypy/test/__init__.py +0 -0
  119. mypy/test/config.py +28 -0
  120. mypy/test/data.py +823 -0
  121. mypy/test/helpers.py +476 -0
  122. mypy/test/meta/__init__.py +0 -0
  123. mypy/test/meta/_pytest.py +72 -0
  124. mypy/test/meta/test_diff_helper.py +47 -0
  125. mypy/test/meta/test_parse_data.py +73 -0
  126. mypy/test/meta/test_update_data.py +135 -0
  127. mypy/test/test_find_sources.py +376 -0
  128. mypy/test/test_ref_info.py +45 -0
  129. mypy/test/testapi.py +45 -0
  130. mypy/test/testargs.py +77 -0
  131. mypy/test/testcheck.py +322 -0
  132. mypy/test/testcmdline.py +152 -0
  133. mypy/test/testconstraints.py +134 -0
  134. mypy/test/testdaemon.py +132 -0
  135. mypy/test/testdeps.py +77 -0
  136. mypy/test/testdiff.py +67 -0
  137. mypy/test/testerrorstream.py +46 -0
  138. mypy/test/testfinegrained.py +438 -0
  139. mypy/test/testfinegrainedcache.py +18 -0
  140. mypy/test/testformatter.py +85 -0
  141. mypy/test/testfscache.py +101 -0
  142. mypy/test/testgraph.py +83 -0
  143. mypy/test/testinfer.py +373 -0
  144. mypy/test/testipc.py +119 -0
  145. mypy/test/testmerge.py +238 -0
  146. mypy/test/testmodulefinder.py +278 -0
  147. mypy/test/testmypyc.py +14 -0
  148. mypy/test/testparse.py +107 -0
  149. mypy/test/testpep561.py +211 -0
  150. mypy/test/testpythoneval.py +117 -0
  151. mypy/test/testreports.py +55 -0
  152. mypy/test/testsemanal.py +209 -0
  153. mypy/test/testsolve.py +285 -0
  154. mypy/test/teststubgen.py +1412 -0
  155. mypy/test/teststubinfo.py +12 -0
  156. mypy/test/teststubtest.py +2492 -0
  157. mypy/test/testsubtypes.py +303 -0
  158. mypy/test/testtransform.py +64 -0
  159. mypy/test/testtypegen.py +83 -0
  160. mypy/test/testtypes.py +1551 -0
  161. mypy/test/testutil.py +111 -0
  162. mypy/test/typefixture.py +415 -0
  163. mypy/test/update_data.py +87 -0
  164. mypy/test/visitors.py +63 -0
  165. mypy/traverser.py +961 -0
  166. mypy/treetransform.py +800 -0
  167. mypy/tvar_scope.py +147 -0
  168. mypy/type_visitor.py +564 -0
  169. mypy/typeanal.py +2510 -0
  170. mypy/typeops.py +1082 -0
  171. mypy/types.py +3686 -0
  172. mypy/types_utils.py +166 -0
  173. mypy/typeshed/LICENSE +237 -0
  174. mypy/typeshed/stdlib/VERSIONS +308 -0
  175. mypy/typeshed/stdlib/__future__.pyi +36 -0
  176. mypy/typeshed/stdlib/__main__.pyi +3 -0
  177. mypy/typeshed/stdlib/_ast.pyi +587 -0
  178. mypy/typeshed/stdlib/_bisect.pyi +84 -0
  179. mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  180. mypy/typeshed/stdlib/_codecs.pyi +133 -0
  181. mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  182. mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  183. mypy/typeshed/stdlib/_compression.pyi +25 -0
  184. mypy/typeshed/stdlib/_csv.pyi +90 -0
  185. mypy/typeshed/stdlib/_ctypes.pyi +205 -0
  186. mypy/typeshed/stdlib/_curses.pyi +557 -0
  187. mypy/typeshed/stdlib/_decimal.pyi +281 -0
  188. mypy/typeshed/stdlib/_dummy_thread.pyi +27 -0
  189. mypy/typeshed/stdlib/_dummy_threading.pyi +164 -0
  190. mypy/typeshed/stdlib/_heapq.pyi +11 -0
  191. mypy/typeshed/stdlib/_imp.pyi +28 -0
  192. mypy/typeshed/stdlib/_json.pyi +49 -0
  193. mypy/typeshed/stdlib/_locale.pyi +100 -0
  194. mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  195. mypy/typeshed/stdlib/_msi.pyi +91 -0
  196. mypy/typeshed/stdlib/_operator.pyi +147 -0
  197. mypy/typeshed/stdlib/_osx_support.pyi +34 -0
  198. mypy/typeshed/stdlib/_posixsubprocess.pyi +32 -0
  199. mypy/typeshed/stdlib/_py_abc.pyi +14 -0
  200. mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  201. mypy/typeshed/stdlib/_random.pyi +12 -0
  202. mypy/typeshed/stdlib/_sitebuiltins.pyi +16 -0
  203. mypy/typeshed/stdlib/_socket.pyi +802 -0
  204. mypy/typeshed/stdlib/_stat.pyi +103 -0
  205. mypy/typeshed/stdlib/_thread.pyi +52 -0
  206. mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  207. mypy/typeshed/stdlib/_tkinter.pyi +120 -0
  208. mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  209. mypy/typeshed/stdlib/_typeshed/__init__.pyi +347 -0
  210. mypy/typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
  211. mypy/typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
  212. mypy/typeshed/stdlib/_typeshed/xml.pyi +9 -0
  213. mypy/typeshed/stdlib/_warnings.pyi +55 -0
  214. mypy/typeshed/stdlib/_weakref.pyi +41 -0
  215. mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  216. mypy/typeshed/stdlib/_winapi.pyi +251 -0
  217. mypy/typeshed/stdlib/abc.pyi +49 -0
  218. mypy/typeshed/stdlib/aifc.pyi +91 -0
  219. mypy/typeshed/stdlib/antigravity.pyi +3 -0
  220. mypy/typeshed/stdlib/argparse.pyi +571 -0
  221. mypy/typeshed/stdlib/array.pyi +92 -0
  222. mypy/typeshed/stdlib/ast.pyi +277 -0
  223. mypy/typeshed/stdlib/asynchat.pyi +21 -0
  224. mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  225. mypy/typeshed/stdlib/asyncio/base_events.pyi +440 -0
  226. mypy/typeshed/stdlib/asyncio/base_futures.pyi +19 -0
  227. mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +63 -0
  228. mypy/typeshed/stdlib/asyncio/base_tasks.pyi +9 -0
  229. mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  230. mypy/typeshed/stdlib/asyncio/coroutines.pyi +26 -0
  231. mypy/typeshed/stdlib/asyncio/events.pyi +574 -0
  232. mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  233. mypy/typeshed/stdlib/asyncio/format_helpers.pyi +20 -0
  234. mypy/typeshed/stdlib/asyncio/futures.pyi +57 -0
  235. mypy/typeshed/stdlib/asyncio/locks.pyi +121 -0
  236. mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  237. mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  238. mypy/typeshed/stdlib/asyncio/proactor_events.pyi +64 -0
  239. mypy/typeshed/stdlib/asyncio/protocols.pyi +34 -0
  240. mypy/typeshed/stdlib/asyncio/queues.pyi +47 -0
  241. mypy/typeshed/stdlib/asyncio/runners.pyi +32 -0
  242. mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  243. mypy/typeshed/stdlib/asyncio/sslproto.pyi +163 -0
  244. mypy/typeshed/stdlib/asyncio/staggered.pyi +10 -0
  245. mypy/typeshed/stdlib/asyncio/streams.pyi +148 -0
  246. mypy/typeshed/stdlib/asyncio/subprocess.pyi +229 -0
  247. mypy/typeshed/stdlib/asyncio/taskgroups.pyi +25 -0
  248. mypy/typeshed/stdlib/asyncio/tasks.pyi +477 -0
  249. mypy/typeshed/stdlib/asyncio/threads.pyi +9 -0
  250. mypy/typeshed/stdlib/asyncio/timeouts.pyi +19 -0
  251. mypy/typeshed/stdlib/asyncio/transports.pyi +47 -0
  252. mypy/typeshed/stdlib/asyncio/trsock.pyi +98 -0
  253. mypy/typeshed/stdlib/asyncio/unix_events.pyi +173 -0
  254. mypy/typeshed/stdlib/asyncio/windows_events.pyi +83 -0
  255. mypy/typeshed/stdlib/asyncio/windows_utils.pyi +49 -0
  256. mypy/typeshed/stdlib/asyncore.pyi +90 -0
  257. mypy/typeshed/stdlib/atexit.pyi +12 -0
  258. mypy/typeshed/stdlib/audioop.pyi +42 -0
  259. mypy/typeshed/stdlib/base64.pyi +59 -0
  260. mypy/typeshed/stdlib/bdb.pyi +102 -0
  261. mypy/typeshed/stdlib/binascii.pyi +36 -0
  262. mypy/typeshed/stdlib/binhex.pyi +45 -0
  263. mypy/typeshed/stdlib/bisect.pyi +4 -0
  264. mypy/typeshed/stdlib/builtins.pyi +1937 -0
  265. mypy/typeshed/stdlib/bz2.pyi +146 -0
  266. mypy/typeshed/stdlib/cProfile.pyi +35 -0
  267. mypy/typeshed/stdlib/calendar.pyi +206 -0
  268. mypy/typeshed/stdlib/cgi.pyi +118 -0
  269. mypy/typeshed/stdlib/cgitb.pyi +32 -0
  270. mypy/typeshed/stdlib/chunk.pyi +20 -0
  271. mypy/typeshed/stdlib/cmath.pyi +36 -0
  272. mypy/typeshed/stdlib/cmd.pyi +45 -0
  273. mypy/typeshed/stdlib/code.pyi +33 -0
  274. mypy/typeshed/stdlib/codecs.pyi +285 -0
  275. mypy/typeshed/stdlib/codeop.pyi +13 -0
  276. mypy/typeshed/stdlib/collections/__init__.pyi +477 -0
  277. mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  278. mypy/typeshed/stdlib/colorsys.pyi +13 -0
  279. mypy/typeshed/stdlib/compileall.pyi +111 -0
  280. mypy/typeshed/stdlib/concurrent/__init__.pyi +0 -0
  281. mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  282. mypy/typeshed/stdlib/concurrent/futures/_base.pyi +120 -0
  283. mypy/typeshed/stdlib/concurrent/futures/process.pyi +233 -0
  284. mypy/typeshed/stdlib/concurrent/futures/thread.pyi +80 -0
  285. mypy/typeshed/stdlib/configparser.pyi +313 -0
  286. mypy/typeshed/stdlib/contextlib.pyi +207 -0
  287. mypy/typeshed/stdlib/contextvars.pyi +63 -0
  288. mypy/typeshed/stdlib/copy.pyi +16 -0
  289. mypy/typeshed/stdlib/copyreg.pyi +21 -0
  290. mypy/typeshed/stdlib/crypt.pyi +12 -0
  291. mypy/typeshed/stdlib/csv.pyi +147 -0
  292. mypy/typeshed/stdlib/ctypes/__init__.pyi +187 -0
  293. mypy/typeshed/stdlib/ctypes/_endian.pyi +19 -0
  294. mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  295. mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  296. mypy/typeshed/stdlib/curses/__init__.pyi +21 -0
  297. mypy/typeshed/stdlib/curses/ascii.pyi +63 -0
  298. mypy/typeshed/stdlib/curses/has_key.pyi +4 -0
  299. mypy/typeshed/stdlib/curses/panel.pyi +25 -0
  300. mypy/typeshed/stdlib/curses/textpad.pyi +13 -0
  301. mypy/typeshed/stdlib/dataclasses.pyi +313 -0
  302. mypy/typeshed/stdlib/datetime.pyi +295 -0
  303. mypy/typeshed/stdlib/dbm/__init__.pyi +95 -0
  304. mypy/typeshed/stdlib/dbm/dumb.pyi +31 -0
  305. mypy/typeshed/stdlib/dbm/gnu.pyi +40 -0
  306. mypy/typeshed/stdlib/dbm/ndbm.pyi +36 -0
  307. mypy/typeshed/stdlib/decimal.pyi +2 -0
  308. mypy/typeshed/stdlib/difflib.pyi +140 -0
  309. mypy/typeshed/stdlib/dis.pyi +144 -0
  310. mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  311. mypy/typeshed/stdlib/distutils/archive_util.pyi +20 -0
  312. mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  313. mypy/typeshed/stdlib/distutils/ccompiler.pyi +152 -0
  314. mypy/typeshed/stdlib/distutils/cmd.pyi +66 -0
  315. mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  316. mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  317. mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  318. mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  319. mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  320. mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  321. mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +16 -0
  322. mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  323. mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  324. mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  325. mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  326. mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  327. mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  328. mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  329. mypy/typeshed/stdlib/distutils/command/config.pyi +83 -0
  330. mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  331. mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  332. mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  333. mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  334. mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  335. mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  336. mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  337. mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  338. mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  339. mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  340. mypy/typeshed/stdlib/distutils/core.pyi +57 -0
  341. mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  342. mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  343. mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  344. mypy/typeshed/stdlib/distutils/dir_util.pyi +13 -0
  345. mypy/typeshed/stdlib/distutils/dist.pyi +146 -0
  346. mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  347. mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  348. mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +34 -0
  349. mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  350. mypy/typeshed/stdlib/distutils/filelist.pyi +50 -0
  351. mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  352. mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  353. mypy/typeshed/stdlib/distutils/spawn.pyi +2 -0
  354. mypy/typeshed/stdlib/distutils/sysconfig.pyi +22 -0
  355. mypy/typeshed/stdlib/distutils/text_file.pyi +21 -0
  356. mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  357. mypy/typeshed/stdlib/distutils/util.pyi +46 -0
  358. mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  359. mypy/typeshed/stdlib/doctest.pyi +248 -0
  360. mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  361. mypy/typeshed/stdlib/email/__init__.pyi +29 -0
  362. mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  363. mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  364. mypy/typeshed/stdlib/email/base64mime.pyi +13 -0
  365. mypy/typeshed/stdlib/email/charset.pyi +34 -0
  366. mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  367. mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  368. mypy/typeshed/stdlib/email/errors.pyi +39 -0
  369. mypy/typeshed/stdlib/email/feedparser.pyi +23 -0
  370. mypy/typeshed/stdlib/email/generator.pyi +40 -0
  371. mypy/typeshed/stdlib/email/header.pyi +31 -0
  372. mypy/typeshed/stdlib/email/headerregistry.pyi +178 -0
  373. mypy/typeshed/stdlib/email/iterators.pyi +12 -0
  374. mypy/typeshed/stdlib/email/message.pyi +161 -0
  375. mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  376. mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  377. mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  378. mypy/typeshed/stdlib/email/mime/base.pyi +8 -0
  379. mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  380. mypy/typeshed/stdlib/email/mime/message.pyi +8 -0
  381. mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  382. mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  383. mypy/typeshed/stdlib/email/mime/text.pyi +9 -0
  384. mypy/typeshed/stdlib/email/parser.pyi +26 -0
  385. mypy/typeshed/stdlib/email/policy.pyi +38 -0
  386. mypy/typeshed/stdlib/email/quoprimime.pyi +28 -0
  387. mypy/typeshed/stdlib/email/utils.pyi +66 -0
  388. mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  389. mypy/typeshed/stdlib/encodings/utf_8.pyi +21 -0
  390. mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +22 -0
  391. mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  392. mypy/typeshed/stdlib/enum.pyi +317 -0
  393. mypy/typeshed/stdlib/errno.pyi +222 -0
  394. mypy/typeshed/stdlib/faulthandler.pyi +13 -0
  395. mypy/typeshed/stdlib/fcntl.pyi +127 -0
  396. mypy/typeshed/stdlib/filecmp.pyi +57 -0
  397. mypy/typeshed/stdlib/fileinput.pyi +213 -0
  398. mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  399. mypy/typeshed/stdlib/formatter.pyi +88 -0
  400. mypy/typeshed/stdlib/fractions.pyi +150 -0
  401. mypy/typeshed/stdlib/ftplib.pyi +178 -0
  402. mypy/typeshed/stdlib/functools.pyi +200 -0
  403. mypy/typeshed/stdlib/gc.pyi +37 -0
  404. mypy/typeshed/stdlib/genericpath.pyi +52 -0
  405. mypy/typeshed/stdlib/getopt.pyi +11 -0
  406. mypy/typeshed/stdlib/getpass.pyi +8 -0
  407. mypy/typeshed/stdlib/gettext.pyi +169 -0
  408. mypy/typeshed/stdlib/glob.pyi +42 -0
  409. mypy/typeshed/stdlib/graphlib.pyi +28 -0
  410. mypy/typeshed/stdlib/grp.pyi +21 -0
  411. mypy/typeshed/stdlib/gzip.pyi +160 -0
  412. mypy/typeshed/stdlib/hashlib.pyi +165 -0
  413. mypy/typeshed/stdlib/heapq.pyi +17 -0
  414. mypy/typeshed/stdlib/hmac.pyi +38 -0
  415. mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  416. mypy/typeshed/stdlib/html/entities.pyi +6 -0
  417. mypy/typeshed/stdlib/html/parser.pyi +34 -0
  418. mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  419. mypy/typeshed/stdlib/http/client.pyi +259 -0
  420. mypy/typeshed/stdlib/http/cookiejar.pyi +159 -0
  421. mypy/typeshed/stdlib/http/cookies.pyi +60 -0
  422. mypy/typeshed/stdlib/http/server.pyi +83 -0
  423. mypy/typeshed/stdlib/imaplib.pyi +168 -0
  424. mypy/typeshed/stdlib/imghdr.pyi +17 -0
  425. mypy/typeshed/stdlib/imp.pyi +62 -0
  426. mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  427. mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  428. mypy/typeshed/stdlib/importlib/abc.pyi +172 -0
  429. mypy/typeshed/stdlib/importlib/machinery.pyi +179 -0
  430. mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +276 -0
  431. mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +40 -0
  432. mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  433. mypy/typeshed/stdlib/importlib/resources/__init__.pyi +46 -0
  434. mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  435. mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  436. mypy/typeshed/stdlib/importlib/resources/simple.pyi +49 -0
  437. mypy/typeshed/stdlib/importlib/simple.pyi +11 -0
  438. mypy/typeshed/stdlib/importlib/util.pyi +43 -0
  439. mypy/typeshed/stdlib/inspect.pyi +631 -0
  440. mypy/typeshed/stdlib/io.pyi +204 -0
  441. mypy/typeshed/stdlib/ipaddress.pyi +208 -0
  442. mypy/typeshed/stdlib/itertools.pyi +293 -0
  443. mypy/typeshed/stdlib/json/__init__.pyi +61 -0
  444. mypy/typeshed/stdlib/json/decoder.pyi +32 -0
  445. mypy/typeshed/stdlib/json/encoder.pyi +38 -0
  446. mypy/typeshed/stdlib/json/tool.pyi +1 -0
  447. mypy/typeshed/stdlib/keyword.pyi +21 -0
  448. mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  449. mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +28 -0
  450. mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +42 -0
  451. mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  452. mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  453. mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  454. mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  455. mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  456. mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  457. mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  458. mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  459. mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  460. mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  461. mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  462. mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  463. mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  464. mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  465. mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  466. mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  467. mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  468. mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  469. mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  470. mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  471. mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  472. mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  473. mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  474. mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  475. mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  476. mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  477. mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  478. mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  479. mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  480. mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  481. mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  482. mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  483. mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  484. mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  485. mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  486. mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  487. mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  488. mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  489. mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  490. mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  491. mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  492. mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  493. mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  494. mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  495. mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  496. mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  497. mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  498. mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  499. mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +15 -0
  500. mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  501. mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  502. mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  503. mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  504. mypy/typeshed/stdlib/lib2to3/main.pyi +42 -0
  505. mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  506. mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +27 -0
  507. mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  508. mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  509. mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +30 -0
  510. mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +50 -0
  511. mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  512. mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +96 -0
  513. mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  514. mypy/typeshed/stdlib/lib2to3/pytree.pyi +117 -0
  515. mypy/typeshed/stdlib/lib2to3/refactor.pyi +82 -0
  516. mypy/typeshed/stdlib/linecache.pyi +23 -0
  517. mypy/typeshed/stdlib/locale.pyi +152 -0
  518. mypy/typeshed/stdlib/logging/__init__.pyi +655 -0
  519. mypy/typeshed/stdlib/logging/config.pyi +134 -0
  520. mypy/typeshed/stdlib/logging/handlers.pyi +275 -0
  521. mypy/typeshed/stdlib/lzma.pyi +197 -0
  522. mypy/typeshed/stdlib/mailbox.pyi +256 -0
  523. mypy/typeshed/stdlib/mailcap.pyi +11 -0
  524. mypy/typeshed/stdlib/marshal.pyi +33 -0
  525. mypy/typeshed/stdlib/math.pyi +125 -0
  526. mypy/typeshed/stdlib/mimetypes.pyi +46 -0
  527. mypy/typeshed/stdlib/mmap.pyi +113 -0
  528. mypy/typeshed/stdlib/modulefinder.pyi +66 -0
  529. mypy/typeshed/stdlib/msilib/__init__.pyi +176 -0
  530. mypy/typeshed/stdlib/msilib/schema.pyi +94 -0
  531. mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  532. mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  533. mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  534. mypy/typeshed/stdlib/multiprocessing/__init__.pyi +90 -0
  535. mypy/typeshed/stdlib/multiprocessing/connection.pyi +75 -0
  536. mypy/typeshed/stdlib/multiprocessing/context.pyi +187 -0
  537. mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +77 -0
  538. mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +39 -0
  539. mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +31 -0
  540. mypy/typeshed/stdlib/multiprocessing/heap.pyi +36 -0
  541. mypy/typeshed/stdlib/multiprocessing/managers.pyi +212 -0
  542. mypy/typeshed/stdlib/multiprocessing/pool.pyi +103 -0
  543. mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  544. mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  545. mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  546. mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  547. mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  548. mypy/typeshed/stdlib/multiprocessing/queues.pyi +41 -0
  549. mypy/typeshed/stdlib/multiprocessing/reduction.pyi +89 -0
  550. mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  551. mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  552. mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +40 -0
  553. mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +101 -0
  554. mypy/typeshed/stdlib/multiprocessing/spawn.pyi +32 -0
  555. mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +54 -0
  556. mypy/typeshed/stdlib/multiprocessing/util.pyi +79 -0
  557. mypy/typeshed/stdlib/netrc.pyi +23 -0
  558. mypy/typeshed/stdlib/nis.pyi +9 -0
  559. mypy/typeshed/stdlib/nntplib.pyi +125 -0
  560. mypy/typeshed/stdlib/nt.pyi +111 -0
  561. mypy/typeshed/stdlib/ntpath.pyi +119 -0
  562. mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  563. mypy/typeshed/stdlib/numbers.pyi +154 -0
  564. mypy/typeshed/stdlib/opcode.pyi +59 -0
  565. mypy/typeshed/stdlib/operator.pyi +110 -0
  566. mypy/typeshed/stdlib/optparse.pyi +252 -0
  567. mypy/typeshed/stdlib/os/__init__.pyi +1139 -0
  568. mypy/typeshed/stdlib/os/path.pyi +8 -0
  569. mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  570. mypy/typeshed/stdlib/parser.pyi +24 -0
  571. mypy/typeshed/stdlib/pathlib.pyi +232 -0
  572. mypy/typeshed/stdlib/pdb.pyi +181 -0
  573. mypy/typeshed/stdlib/pickle.pyi +270 -0
  574. mypy/typeshed/stdlib/pickletools.pyi +167 -0
  575. mypy/typeshed/stdlib/pipes.pyi +16 -0
  576. mypy/typeshed/stdlib/pkgutil.pyi +53 -0
  577. mypy/typeshed/stdlib/platform.pyi +42 -0
  578. mypy/typeshed/stdlib/plistlib.pyi +113 -0
  579. mypy/typeshed/stdlib/poplib.pyi +71 -0
  580. mypy/typeshed/stdlib/posix.pyi +359 -0
  581. mypy/typeshed/stdlib/posixpath.pyi +161 -0
  582. mypy/typeshed/stdlib/pprint.pyi +112 -0
  583. mypy/typeshed/stdlib/profile.pyi +31 -0
  584. mypy/typeshed/stdlib/pstats.pyi +78 -0
  585. mypy/typeshed/stdlib/pty.pyi +19 -0
  586. mypy/typeshed/stdlib/pwd.pyi +27 -0
  587. mypy/typeshed/stdlib/py_compile.pyi +34 -0
  588. mypy/typeshed/stdlib/pyclbr.pyi +74 -0
  589. mypy/typeshed/stdlib/pydoc.pyi +261 -0
  590. mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  591. mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  592. mypy/typeshed/stdlib/pyexpat/__init__.pyi +80 -0
  593. mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  594. mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  595. mypy/typeshed/stdlib/queue.pyi +58 -0
  596. mypy/typeshed/stdlib/quopri.pyi +11 -0
  597. mypy/typeshed/stdlib/random.pyi +138 -0
  598. mypy/typeshed/stdlib/re.pyi +290 -0
  599. mypy/typeshed/stdlib/readline.pyi +36 -0
  600. mypy/typeshed/stdlib/reprlib.pyi +65 -0
  601. mypy/typeshed/stdlib/resource.pyi +92 -0
  602. mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  603. mypy/typeshed/stdlib/runpy.pyi +24 -0
  604. mypy/typeshed/stdlib/sched.pyi +42 -0
  605. mypy/typeshed/stdlib/secrets.pyi +15 -0
  606. mypy/typeshed/stdlib/select.pyi +151 -0
  607. mypy/typeshed/stdlib/selectors.pyi +67 -0
  608. mypy/typeshed/stdlib/shelve.pyi +46 -0
  609. mypy/typeshed/stdlib/shlex.pyi +43 -0
  610. mypy/typeshed/stdlib/shutil.pyi +189 -0
  611. mypy/typeshed/stdlib/signal.pyi +189 -0
  612. mypy/typeshed/stdlib/site.pyi +27 -0
  613. mypy/typeshed/stdlib/smtpd.pyi +91 -0
  614. mypy/typeshed/stdlib/smtplib.pyi +204 -0
  615. mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  616. mypy/typeshed/stdlib/socket.pyi +825 -0
  617. mypy/typeshed/stdlib/socketserver.pyi +168 -0
  618. mypy/typeshed/stdlib/spwd.pyi +40 -0
  619. mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  620. mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +469 -0
  621. mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  622. mypy/typeshed/stdlib/sre_constants.pyi +130 -0
  623. mypy/typeshed/stdlib/sre_parse.pyi +104 -0
  624. mypy/typeshed/stdlib/ssl.pyi +529 -0
  625. mypy/typeshed/stdlib/stat.pyi +1 -0
  626. mypy/typeshed/stdlib/statistics.pyi +132 -0
  627. mypy/typeshed/stdlib/string.pyi +83 -0
  628. mypy/typeshed/stdlib/stringprep.pyi +27 -0
  629. mypy/typeshed/stdlib/struct.pyi +26 -0
  630. mypy/typeshed/stdlib/subprocess.pyi +2614 -0
  631. mypy/typeshed/stdlib/sunau.pyi +86 -0
  632. mypy/typeshed/stdlib/symbol.pyi +93 -0
  633. mypy/typeshed/stdlib/symtable.pyi +58 -0
  634. mypy/typeshed/stdlib/sys/__init__.pyi +373 -0
  635. mypy/typeshed/stdlib/sys/_monitoring.pyi +52 -0
  636. mypy/typeshed/stdlib/sysconfig.pyi +43 -0
  637. mypy/typeshed/stdlib/syslog.pyi +46 -0
  638. mypy/typeshed/stdlib/tabnanny.pyi +16 -0
  639. mypy/typeshed/stdlib/tarfile.pyi +438 -0
  640. mypy/typeshed/stdlib/telnetlib.pyi +122 -0
  641. mypy/typeshed/stdlib/tempfile.pyi +477 -0
  642. mypy/typeshed/stdlib/termios.pyi +267 -0
  643. mypy/typeshed/stdlib/textwrap.pyi +103 -0
  644. mypy/typeshed/stdlib/this.pyi +2 -0
  645. mypy/typeshed/stdlib/threading.pyi +187 -0
  646. mypy/typeshed/stdlib/time.pyi +107 -0
  647. mypy/typeshed/stdlib/timeit.pyi +32 -0
  648. mypy/typeshed/stdlib/tkinter/__init__.pyi +3641 -0
  649. mypy/typeshed/stdlib/tkinter/colorchooser.pyi +20 -0
  650. mypy/typeshed/stdlib/tkinter/commondialog.pyi +14 -0
  651. mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  652. mypy/typeshed/stdlib/tkinter/dialog.pyi +16 -0
  653. mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  654. mypy/typeshed/stdlib/tkinter/filedialog.pyi +151 -0
  655. mypy/typeshed/stdlib/tkinter/font.pyi +116 -0
  656. mypy/typeshed/stdlib/tkinter/messagebox.pyi +44 -0
  657. mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +10 -0
  658. mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  659. mypy/typeshed/stdlib/tkinter/tix.pyi +299 -0
  660. mypy/typeshed/stdlib/tkinter/ttk.pyi +1191 -0
  661. mypy/typeshed/stdlib/token.pyi +159 -0
  662. mypy/typeshed/stdlib/tokenize.pyi +177 -0
  663. mypy/typeshed/stdlib/tomllib.pyi +10 -0
  664. mypy/typeshed/stdlib/trace.pyi +79 -0
  665. mypy/typeshed/stdlib/traceback.pyi +260 -0
  666. mypy/typeshed/stdlib/tracemalloc.pyi +124 -0
  667. mypy/typeshed/stdlib/tty.pyi +30 -0
  668. mypy/typeshed/stdlib/turtle.pyi +713 -0
  669. mypy/typeshed/stdlib/types.pyi +605 -0
  670. mypy/typeshed/stdlib/typing.pyi +968 -0
  671. mypy/typeshed/stdlib/typing_extensions.pyi +503 -0
  672. mypy/typeshed/stdlib/unicodedata.pyi +71 -0
  673. mypy/typeshed/stdlib/unittest/__init__.pyi +67 -0
  674. mypy/typeshed/stdlib/unittest/_log.pyi +27 -0
  675. mypy/typeshed/stdlib/unittest/async_case.pyi +21 -0
  676. mypy/typeshed/stdlib/unittest/case.pyi +342 -0
  677. mypy/typeshed/stdlib/unittest/loader.pyi +51 -0
  678. mypy/typeshed/stdlib/unittest/main.pyi +69 -0
  679. mypy/typeshed/stdlib/unittest/mock.pyi +430 -0
  680. mypy/typeshed/stdlib/unittest/result.pyi +46 -0
  681. mypy/typeshed/stdlib/unittest/runner.pyi +72 -0
  682. mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  683. mypy/typeshed/stdlib/unittest/suite.pyi +22 -0
  684. mypy/typeshed/stdlib/unittest/util.pyi +23 -0
  685. mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  686. mypy/typeshed/stdlib/urllib/error.pyi +23 -0
  687. mypy/typeshed/stdlib/urllib/parse.pyi +210 -0
  688. mypy/typeshed/stdlib/urllib/request.pyi +399 -0
  689. mypy/typeshed/stdlib/urllib/response.pyi +43 -0
  690. mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  691. mypy/typeshed/stdlib/uu.pyi +13 -0
  692. mypy/typeshed/stdlib/uuid.pyi +100 -0
  693. mypy/typeshed/stdlib/venv/__init__.pyi +79 -0
  694. mypy/typeshed/stdlib/warnings.pyi +112 -0
  695. mypy/typeshed/stdlib/wave.pyi +85 -0
  696. mypy/typeshed/stdlib/weakref.pyi +150 -0
  697. mypy/typeshed/stdlib/webbrowser.pyi +74 -0
  698. mypy/typeshed/stdlib/winreg.pyi +103 -0
  699. mypy/typeshed/stdlib/winsound.pyi +28 -0
  700. mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  701. mypy/typeshed/stdlib/wsgiref/handlers.pyi +91 -0
  702. mypy/typeshed/stdlib/wsgiref/headers.pyi +26 -0
  703. mypy/typeshed/stdlib/wsgiref/simple_server.pyi +37 -0
  704. mypy/typeshed/stdlib/wsgiref/types.pyi +32 -0
  705. mypy/typeshed/stdlib/wsgiref/util.pyi +24 -0
  706. mypy/typeshed/stdlib/wsgiref/validate.pyi +50 -0
  707. mypy/typeshed/stdlib/xdrlib.pyi +57 -0
  708. mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  709. mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  710. mypy/typeshed/stdlib/xml/dom/__init__.pyi +69 -0
  711. mypy/typeshed/stdlib/xml/dom/domreg.pyi +8 -0
  712. mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +100 -0
  713. mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  714. mypy/typeshed/stdlib/xml/dom/minidom.pyi +404 -0
  715. mypy/typeshed/stdlib/xml/dom/pulldom.pyi +94 -0
  716. mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +108 -0
  717. mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +28 -0
  718. mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +34 -0
  719. mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +321 -0
  720. mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  721. mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  722. mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  723. mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  724. mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  725. mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  726. mypy/typeshed/stdlib/xml/sax/__init__.pyi +25 -0
  727. mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +19 -0
  728. mypy/typeshed/stdlib/xml/sax/handler.pyi +55 -0
  729. mypy/typeshed/stdlib/xml/sax/saxutils.pyi +60 -0
  730. mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +87 -0
  731. mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  732. mypy/typeshed/stdlib/xmlrpc/client.pyi +296 -0
  733. mypy/typeshed/stdlib/xmlrpc/server.pyi +143 -0
  734. mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  735. mypy/typeshed/stdlib/zipapp.pyi +20 -0
  736. mypy/typeshed/stdlib/zipfile/__init__.pyi +306 -0
  737. mypy/typeshed/stdlib/zipfile/_path.pyi +95 -0
  738. mypy/typeshed/stdlib/zipimport.pyi +32 -0
  739. mypy/typeshed/stdlib/zlib.pyi +56 -0
  740. mypy/typeshed/stdlib/zoneinfo/__init__.pyi +38 -0
  741. mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
  742. mypy/typestate.py +323 -0
  743. mypy/typetraverser.py +142 -0
  744. mypy/typevars.py +93 -0
  745. mypy/typevartuples.py +32 -0
  746. mypy/util.py +869 -0
  747. mypy/version.py +1 -0
  748. mypy/visitor.py +621 -0
  749. mypy/xml/mypy-html.css +104 -0
  750. mypy/xml/mypy-html.xslt +81 -0
  751. mypy/xml/mypy-txt.xslt +100 -0
  752. mypy/xml/mypy.xsd +50 -0
  753. mypy_dev-1.9.0.dev0.dist-info/LICENSE +229 -0
  754. mypy_dev-1.9.0.dev0.dist-info/METADATA +39 -0
  755. mypy_dev-1.9.0.dev0.dist-info/RECORD +1018 -0
  756. mypy_dev-1.9.0.dev0.dist-info/WHEEL +5 -0
  757. mypy_dev-1.9.0.dev0.dist-info/entry_points.txt +6 -0
  758. mypy_dev-1.9.0.dev0.dist-info/top_level.txt +2 -0
  759. mypyc/README.md +133 -0
  760. mypyc/__init__.py +0 -0
  761. mypyc/__main__.py +57 -0
  762. mypyc/analysis/__init__.py +0 -0
  763. mypyc/analysis/attrdefined.py +436 -0
  764. mypyc/analysis/blockfreq.py +32 -0
  765. mypyc/analysis/dataflow.py +624 -0
  766. mypyc/analysis/ircheck.py +429 -0
  767. mypyc/analysis/selfleaks.py +207 -0
  768. mypyc/build.py +616 -0
  769. mypyc/codegen/__init__.py +0 -0
  770. mypyc/codegen/cstring.py +54 -0
  771. mypyc/codegen/emit.py +1193 -0
  772. mypyc/codegen/emitclass.py +1060 -0
  773. mypyc/codegen/emitfunc.py +846 -0
  774. mypyc/codegen/emitmodule.py +1131 -0
  775. mypyc/codegen/emitwrapper.py +979 -0
  776. mypyc/codegen/literals.py +302 -0
  777. mypyc/common.py +136 -0
  778. mypyc/crash.py +31 -0
  779. mypyc/doc/Makefile +20 -0
  780. mypyc/doc/bool_operations.rst +27 -0
  781. mypyc/doc/compilation_units.rst +20 -0
  782. mypyc/doc/conf.py +59 -0
  783. mypyc/doc/cpython-timings.md +25 -0
  784. mypyc/doc/dev-intro.md +548 -0
  785. mypyc/doc/dict_operations.rst +59 -0
  786. mypyc/doc/differences_from_python.rst +332 -0
  787. mypyc/doc/float_operations.rst +50 -0
  788. mypyc/doc/future.md +42 -0
  789. mypyc/doc/getting_started.rst +240 -0
  790. mypyc/doc/index.rst +61 -0
  791. mypyc/doc/int_operations.rst +162 -0
  792. mypyc/doc/introduction.rst +150 -0
  793. mypyc/doc/list_operations.rst +65 -0
  794. mypyc/doc/make.bat +35 -0
  795. mypyc/doc/native_classes.rst +206 -0
  796. mypyc/doc/native_operations.rst +55 -0
  797. mypyc/doc/performance_tips_and_tricks.rst +244 -0
  798. mypyc/doc/set_operations.rst +47 -0
  799. mypyc/doc/str_operations.rst +35 -0
  800. mypyc/doc/tuple_operations.rst +33 -0
  801. mypyc/doc/using_type_annotations.rst +398 -0
  802. mypyc/errors.py +29 -0
  803. mypyc/external/googletest/LICENSE +28 -0
  804. mypyc/external/googletest/README.md +280 -0
  805. mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  806. mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  807. mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  808. mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  809. mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  810. mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  811. mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  812. mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  813. mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  814. mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  815. mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  816. mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  817. mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  818. mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  819. mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  820. mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  821. mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  822. mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  823. mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  824. mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  825. mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  826. mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  827. mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  828. mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  829. mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  830. mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  831. mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  832. mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  833. mypyc/external/googletest/make/Makefile +61 -0
  834. mypyc/external/googletest/src/gtest-all.cc +48 -0
  835. mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  836. mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  837. mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  838. mypyc/external/googletest/src/gtest-port.cc +1259 -0
  839. mypyc/external/googletest/src/gtest-printers.cc +373 -0
  840. mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  841. mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  842. mypyc/external/googletest/src/gtest.cc +5388 -0
  843. mypyc/external/googletest/src/gtest_main.cc +38 -0
  844. mypyc/ir/__init__.py +0 -0
  845. mypyc/ir/class_ir.py +499 -0
  846. mypyc/ir/func_ir.py +370 -0
  847. mypyc/ir/module_ir.py +88 -0
  848. mypyc/ir/ops.py +1642 -0
  849. mypyc/ir/pprint.py +496 -0
  850. mypyc/ir/rtypes.py +1038 -0
  851. mypyc/irbuild/__init__.py +0 -0
  852. mypyc/irbuild/ast_helpers.py +120 -0
  853. mypyc/irbuild/builder.py +1398 -0
  854. mypyc/irbuild/callable_class.py +173 -0
  855. mypyc/irbuild/classdef.py +850 -0
  856. mypyc/irbuild/constant_fold.py +95 -0
  857. mypyc/irbuild/context.py +186 -0
  858. mypyc/irbuild/env_class.py +223 -0
  859. mypyc/irbuild/expression.py +1067 -0
  860. mypyc/irbuild/for_helpers.py +1046 -0
  861. mypyc/irbuild/format_str_tokenizer.py +250 -0
  862. mypyc/irbuild/function.py +1089 -0
  863. mypyc/irbuild/generator.py +346 -0
  864. mypyc/irbuild/ll_builder.py +2407 -0
  865. mypyc/irbuild/main.py +153 -0
  866. mypyc/irbuild/mapper.py +221 -0
  867. mypyc/irbuild/match.py +355 -0
  868. mypyc/irbuild/nonlocalcontrol.py +197 -0
  869. mypyc/irbuild/prebuildvisitor.py +203 -0
  870. mypyc/irbuild/prepare.py +609 -0
  871. mypyc/irbuild/specialize.py +822 -0
  872. mypyc/irbuild/statement.py +1017 -0
  873. mypyc/irbuild/targets.py +57 -0
  874. mypyc/irbuild/util.py +189 -0
  875. mypyc/irbuild/visitor.py +401 -0
  876. mypyc/irbuild/vtable.py +82 -0
  877. mypyc/lib-rt/CPy.h +643 -0
  878. mypyc/lib-rt/bytes_ops.c +143 -0
  879. mypyc/lib-rt/dict_ops.c +446 -0
  880. mypyc/lib-rt/exc_ops.c +259 -0
  881. mypyc/lib-rt/float_ops.c +192 -0
  882. mypyc/lib-rt/generic_ops.c +64 -0
  883. mypyc/lib-rt/getargs.c +450 -0
  884. mypyc/lib-rt/getargsfast.c +569 -0
  885. mypyc/lib-rt/init.c +13 -0
  886. mypyc/lib-rt/int_ops.c +803 -0
  887. mypyc/lib-rt/list_ops.c +335 -0
  888. mypyc/lib-rt/misc_ops.c +942 -0
  889. mypyc/lib-rt/module_shim.tmpl +18 -0
  890. mypyc/lib-rt/mypyc_util.h +118 -0
  891. mypyc/lib-rt/pythoncapi_compat.h +497 -0
  892. mypyc/lib-rt/pythonsupport.h +548 -0
  893. mypyc/lib-rt/set_ops.c +17 -0
  894. mypyc/lib-rt/setup.py +70 -0
  895. mypyc/lib-rt/str_ops.c +241 -0
  896. mypyc/lib-rt/test_capi.cc +585 -0
  897. mypyc/lib-rt/tuple_ops.c +61 -0
  898. mypyc/namegen.py +115 -0
  899. mypyc/options.py +32 -0
  900. mypyc/primitives/__init__.py +0 -0
  901. mypyc/primitives/bytes_ops.py +101 -0
  902. mypyc/primitives/dict_ops.py +325 -0
  903. mypyc/primitives/exc_ops.py +101 -0
  904. mypyc/primitives/float_ops.py +168 -0
  905. mypyc/primitives/generic_ops.py +384 -0
  906. mypyc/primitives/int_ops.py +304 -0
  907. mypyc/primitives/list_ops.py +300 -0
  908. mypyc/primitives/misc_ops.py +241 -0
  909. mypyc/primitives/registry.py +323 -0
  910. mypyc/primitives/set_ops.py +121 -0
  911. mypyc/primitives/str_ops.py +229 -0
  912. mypyc/primitives/tuple_ops.py +83 -0
  913. mypyc/rt_subtype.py +77 -0
  914. mypyc/sametype.py +83 -0
  915. mypyc/subtype.py +88 -0
  916. mypyc/test/__init__.py +0 -0
  917. mypyc/test/config.py +13 -0
  918. mypyc/test/test_alwaysdefined.py +46 -0
  919. mypyc/test/test_analysis.py +77 -0
  920. mypyc/test/test_cheader.py +45 -0
  921. mypyc/test/test_commandline.py +82 -0
  922. mypyc/test/test_emit.py +69 -0
  923. mypyc/test/test_emitclass.py +35 -0
  924. mypyc/test/test_emitfunc.py +926 -0
  925. mypyc/test/test_emitwrapper.py +60 -0
  926. mypyc/test/test_exceptions.py +56 -0
  927. mypyc/test/test_external.py +49 -0
  928. mypyc/test/test_irbuild.py +87 -0
  929. mypyc/test/test_ircheck.py +199 -0
  930. mypyc/test/test_literals.py +90 -0
  931. mypyc/test/test_namegen.py +48 -0
  932. mypyc/test/test_pprint.py +42 -0
  933. mypyc/test/test_rarray.py +48 -0
  934. mypyc/test/test_refcount.py +59 -0
  935. mypyc/test/test_run.py +426 -0
  936. mypyc/test/test_serialization.py +108 -0
  937. mypyc/test/test_struct.py +112 -0
  938. mypyc/test/test_tuplename.py +33 -0
  939. mypyc/test/test_typeops.py +97 -0
  940. mypyc/test/testutil.py +283 -0
  941. mypyc/test-data/alwaysdefined.test +732 -0
  942. mypyc/test-data/analysis.test +603 -0
  943. mypyc/test-data/commandline.test +245 -0
  944. mypyc/test-data/driver/driver.py +48 -0
  945. mypyc/test-data/exceptions-freq.test +125 -0
  946. mypyc/test-data/exceptions.test +713 -0
  947. mypyc/test-data/fixtures/ir.py +373 -0
  948. mypyc/test-data/fixtures/testutil.py +103 -0
  949. mypyc/test-data/fixtures/typing-full.pyi +169 -0
  950. mypyc/test-data/irbuild-any.test +238 -0
  951. mypyc/test-data/irbuild-basic.test +3690 -0
  952. mypyc/test-data/irbuild-bool.test +463 -0
  953. mypyc/test-data/irbuild-bytes.test +184 -0
  954. mypyc/test-data/irbuild-classes.test +1303 -0
  955. mypyc/test-data/irbuild-constant-fold.test +480 -0
  956. mypyc/test-data/irbuild-dict.test +585 -0
  957. mypyc/test-data/irbuild-dunders.test +223 -0
  958. mypyc/test-data/irbuild-float.test +497 -0
  959. mypyc/test-data/irbuild-generics.test +151 -0
  960. mypyc/test-data/irbuild-glue-methods.test +437 -0
  961. mypyc/test-data/irbuild-i16.test +526 -0
  962. mypyc/test-data/irbuild-i32.test +598 -0
  963. mypyc/test-data/irbuild-i64.test +2164 -0
  964. mypyc/test-data/irbuild-int.test +235 -0
  965. mypyc/test-data/irbuild-isinstance.test +109 -0
  966. mypyc/test-data/irbuild-lists.test +547 -0
  967. mypyc/test-data/irbuild-match.test +1708 -0
  968. mypyc/test-data/irbuild-math.test +64 -0
  969. mypyc/test-data/irbuild-nested.test +807 -0
  970. mypyc/test-data/irbuild-optional.test +536 -0
  971. mypyc/test-data/irbuild-set.test +838 -0
  972. mypyc/test-data/irbuild-singledispatch.test +257 -0
  973. mypyc/test-data/irbuild-statements.test +1149 -0
  974. mypyc/test-data/irbuild-str.test +314 -0
  975. mypyc/test-data/irbuild-strip-asserts.test +12 -0
  976. mypyc/test-data/irbuild-try.test +523 -0
  977. mypyc/test-data/irbuild-tuple.test +462 -0
  978. mypyc/test-data/irbuild-u8.test +543 -0
  979. mypyc/test-data/irbuild-unreachable.test +241 -0
  980. mypyc/test-data/irbuild-vectorcall.test +153 -0
  981. mypyc/test-data/refcount.test +1588 -0
  982. mypyc/test-data/run-async.test +145 -0
  983. mypyc/test-data/run-attrs.test +318 -0
  984. mypyc/test-data/run-bench.test +196 -0
  985. mypyc/test-data/run-bools.test +229 -0
  986. mypyc/test-data/run-bytes.test +302 -0
  987. mypyc/test-data/run-classes.test +2505 -0
  988. mypyc/test-data/run-dicts.test +334 -0
  989. mypyc/test-data/run-dunders.test +945 -0
  990. mypyc/test-data/run-exceptions.test +448 -0
  991. mypyc/test-data/run-floats.test +516 -0
  992. mypyc/test-data/run-functions.test +1310 -0
  993. mypyc/test-data/run-generators.test +681 -0
  994. mypyc/test-data/run-i16.test +338 -0
  995. mypyc/test-data/run-i32.test +336 -0
  996. mypyc/test-data/run-i64.test +1519 -0
  997. mypyc/test-data/run-imports.test +265 -0
  998. mypyc/test-data/run-integers.test +540 -0
  999. mypyc/test-data/run-lists.test +411 -0
  1000. mypyc/test-data/run-loops.test +485 -0
  1001. mypyc/test-data/run-match.test +283 -0
  1002. mypyc/test-data/run-math.test +106 -0
  1003. mypyc/test-data/run-misc.test +1168 -0
  1004. mypyc/test-data/run-multimodule.test +887 -0
  1005. mypyc/test-data/run-mypy-sim.test +138 -0
  1006. mypyc/test-data/run-primitives.test +375 -0
  1007. mypyc/test-data/run-python37.test +159 -0
  1008. mypyc/test-data/run-python38.test +88 -0
  1009. mypyc/test-data/run-sets.test +150 -0
  1010. mypyc/test-data/run-singledispatch.test +698 -0
  1011. mypyc/test-data/run-strings.test +641 -0
  1012. mypyc/test-data/run-traits.test +411 -0
  1013. mypyc/test-data/run-tuples.test +258 -0
  1014. mypyc/test-data/run-u8.test +303 -0
  1015. mypyc/transform/__init__.py +0 -0
  1016. mypyc/transform/exceptions.py +182 -0
  1017. mypyc/transform/refcount.py +294 -0
  1018. mypyc/transform/uninit.py +190 -0
@@ -0,0 +1,1139 @@
1
+ import sys
2
+ from _typeshed import (
3
+ AnyStr_co,
4
+ BytesPath,
5
+ FileDescriptor,
6
+ FileDescriptorLike,
7
+ FileDescriptorOrPath,
8
+ GenericPath,
9
+ OpenBinaryMode,
10
+ OpenBinaryModeReading,
11
+ OpenBinaryModeUpdating,
12
+ OpenBinaryModeWriting,
13
+ OpenTextMode,
14
+ ReadableBuffer,
15
+ StrOrBytesPath,
16
+ StrPath,
17
+ SupportsLenAndGetItem,
18
+ Unused,
19
+ WriteableBuffer,
20
+ structseq,
21
+ )
22
+ from abc import abstractmethod
23
+ from builtins import OSError
24
+ from collections.abc import Callable, Iterable, Iterator, Mapping, MutableMapping, Sequence
25
+ from contextlib import AbstractContextManager
26
+ from io import BufferedRandom, BufferedReader, BufferedWriter, FileIO, TextIOWrapper as _TextIOWrapper
27
+ from subprocess import Popen
28
+ from typing import (
29
+ IO,
30
+ Any,
31
+ AnyStr,
32
+ BinaryIO,
33
+ Final,
34
+ Generic,
35
+ Literal,
36
+ NoReturn,
37
+ Protocol,
38
+ TypeVar,
39
+ final,
40
+ overload,
41
+ runtime_checkable,
42
+ )
43
+ from typing_extensions import Self, TypeAlias, Unpack
44
+
45
+ from . import path as _path
46
+
47
+ if sys.version_info >= (3, 9):
48
+ from types import GenericAlias
49
+
50
+ # This unnecessary alias is to work around various errors
51
+ path = _path
52
+
53
+ _T = TypeVar("_T")
54
+ _T1 = TypeVar("_T1")
55
+ _T2 = TypeVar("_T2")
56
+
57
+ # ----- os variables -----
58
+
59
+ error = OSError
60
+
61
+ supports_bytes_environ: bool
62
+
63
+ supports_dir_fd: set[Callable[..., Any]]
64
+ supports_fd: set[Callable[..., Any]]
65
+ supports_effective_ids: set[Callable[..., Any]]
66
+ supports_follow_symlinks: set[Callable[..., Any]]
67
+
68
+ if sys.platform != "win32":
69
+ # Unix only
70
+ PRIO_PROCESS: int
71
+ PRIO_PGRP: int
72
+ PRIO_USER: int
73
+
74
+ F_LOCK: int
75
+ F_TLOCK: int
76
+ F_ULOCK: int
77
+ F_TEST: int
78
+
79
+ if sys.platform != "darwin":
80
+ POSIX_FADV_NORMAL: int
81
+ POSIX_FADV_SEQUENTIAL: int
82
+ POSIX_FADV_RANDOM: int
83
+ POSIX_FADV_NOREUSE: int
84
+ POSIX_FADV_WILLNEED: int
85
+ POSIX_FADV_DONTNEED: int
86
+
87
+ if sys.platform != "linux" and sys.platform != "darwin":
88
+ # In the os-module docs, these are marked as being available
89
+ # on "Unix, not Emscripten, not WASI."
90
+ # However, in the source code, a comment indicates they're "FreeBSD constants".
91
+ # sys.platform could have one of many values on a FreeBSD Python build,
92
+ # so the sys-module docs recommend doing `if sys.platform.startswith('freebsd')`
93
+ # to detect FreeBSD builds. Unfortunately that would be too dynamic
94
+ # for type checkers, however.
95
+ SF_NODISKIO: int
96
+ SF_MNOWAIT: int
97
+ SF_SYNC: int
98
+
99
+ if sys.version_info >= (3, 11):
100
+ SF_NOCACHE: int
101
+
102
+ if sys.platform == "linux":
103
+ XATTR_SIZE_MAX: int
104
+ XATTR_CREATE: int
105
+ XATTR_REPLACE: int
106
+
107
+ P_PID: int
108
+ P_PGID: int
109
+ P_ALL: int
110
+
111
+ if sys.platform == "linux" and sys.version_info >= (3, 9):
112
+ P_PIDFD: int
113
+
114
+ WEXITED: int
115
+ WSTOPPED: int
116
+ WNOWAIT: int
117
+
118
+ CLD_EXITED: int
119
+ CLD_DUMPED: int
120
+ CLD_TRAPPED: int
121
+ CLD_CONTINUED: int
122
+
123
+ if sys.version_info >= (3, 9):
124
+ CLD_KILLED: int
125
+ CLD_STOPPED: int
126
+
127
+ # TODO: SCHED_RESET_ON_FORK not available on darwin?
128
+ # TODO: SCHED_BATCH and SCHED_IDLE are linux only?
129
+ SCHED_OTHER: int # some flavors of Unix
130
+ SCHED_BATCH: int # some flavors of Unix
131
+ SCHED_IDLE: int # some flavors of Unix
132
+ SCHED_SPORADIC: int # some flavors of Unix
133
+ SCHED_FIFO: int # some flavors of Unix
134
+ SCHED_RR: int # some flavors of Unix
135
+ SCHED_RESET_ON_FORK: int # some flavors of Unix
136
+
137
+ if sys.platform != "win32":
138
+ RTLD_LAZY: int
139
+ RTLD_NOW: int
140
+ RTLD_GLOBAL: int
141
+ RTLD_LOCAL: int
142
+ RTLD_NODELETE: int
143
+ RTLD_NOLOAD: int
144
+
145
+ if sys.platform == "linux":
146
+ RTLD_DEEPBIND: int
147
+ GRND_NONBLOCK: int
148
+ GRND_RANDOM: int
149
+
150
+ if sys.platform == "darwin" and sys.version_info >= (3, 12):
151
+ PRIO_DARWIN_BG: int
152
+ PRIO_DARWIN_NONUI: int
153
+ PRIO_DARWIN_PROCESS: int
154
+ PRIO_DARWIN_THREAD: int
155
+
156
+ SEEK_SET: int
157
+ SEEK_CUR: int
158
+ SEEK_END: int
159
+ if sys.platform != "win32":
160
+ SEEK_DATA: int # some flavors of Unix
161
+ SEEK_HOLE: int # some flavors of Unix
162
+
163
+ O_RDONLY: int
164
+ O_WRONLY: int
165
+ O_RDWR: int
166
+ O_APPEND: int
167
+ O_CREAT: int
168
+ O_EXCL: int
169
+ O_TRUNC: int
170
+ # We don't use sys.platform for O_* flags to denote platform-dependent APIs because some codes,
171
+ # including tests for mypy, use a more finer way than sys.platform before using these APIs
172
+ # See https://github.com/python/typeshed/pull/2286 for discussions
173
+ O_DSYNC: int # Unix only
174
+ O_RSYNC: int # Unix only
175
+ O_SYNC: int # Unix only
176
+ O_NDELAY: int # Unix only
177
+ O_NONBLOCK: int # Unix only
178
+ O_NOCTTY: int # Unix only
179
+ O_CLOEXEC: int # Unix only
180
+ O_SHLOCK: int # Unix only
181
+ O_EXLOCK: int # Unix only
182
+ O_BINARY: int # Windows only
183
+ O_NOINHERIT: int # Windows only
184
+ O_SHORT_LIVED: int # Windows only
185
+ O_TEMPORARY: int # Windows only
186
+ O_RANDOM: int # Windows only
187
+ O_SEQUENTIAL: int # Windows only
188
+ O_TEXT: int # Windows only
189
+ O_ASYNC: int # Gnu extension if in C library
190
+ O_DIRECT: int # Gnu extension if in C library
191
+ O_DIRECTORY: int # Gnu extension if in C library
192
+ O_NOFOLLOW: int # Gnu extension if in C library
193
+ O_NOATIME: int # Gnu extension if in C library
194
+ O_PATH: int # Gnu extension if in C library
195
+ O_TMPFILE: int # Gnu extension if in C library
196
+ O_LARGEFILE: int # Gnu extension if in C library
197
+ O_ACCMODE: int # TODO: when does this exist?
198
+
199
+ if sys.platform != "win32" and sys.platform != "darwin":
200
+ # posix, but apparently missing on macos
201
+ ST_APPEND: int
202
+ ST_MANDLOCK: int
203
+ ST_NOATIME: int
204
+ ST_NODEV: int
205
+ ST_NODIRATIME: int
206
+ ST_NOEXEC: int
207
+ ST_RELATIME: int
208
+ ST_SYNCHRONOUS: int
209
+ ST_WRITE: int
210
+
211
+ if sys.platform != "win32":
212
+ NGROUPS_MAX: int
213
+ ST_NOSUID: int
214
+ ST_RDONLY: int
215
+
216
+ curdir: str
217
+ pardir: str
218
+ sep: str
219
+ if sys.platform == "win32":
220
+ altsep: str
221
+ else:
222
+ altsep: str | None
223
+ extsep: str
224
+ pathsep: str
225
+ defpath: str
226
+ linesep: str
227
+ devnull: str
228
+ name: str
229
+
230
+ F_OK: int
231
+ R_OK: int
232
+ W_OK: int
233
+ X_OK: int
234
+
235
+ _EnvironCodeFunc: TypeAlias = Callable[[AnyStr], AnyStr]
236
+
237
+ class _Environ(MutableMapping[AnyStr, AnyStr], Generic[AnyStr]):
238
+ encodekey: _EnvironCodeFunc[AnyStr]
239
+ decodekey: _EnvironCodeFunc[AnyStr]
240
+ encodevalue: _EnvironCodeFunc[AnyStr]
241
+ decodevalue: _EnvironCodeFunc[AnyStr]
242
+ if sys.version_info >= (3, 9):
243
+ def __init__(
244
+ self,
245
+ data: MutableMapping[AnyStr, AnyStr],
246
+ encodekey: _EnvironCodeFunc[AnyStr],
247
+ decodekey: _EnvironCodeFunc[AnyStr],
248
+ encodevalue: _EnvironCodeFunc[AnyStr],
249
+ decodevalue: _EnvironCodeFunc[AnyStr],
250
+ ) -> None: ...
251
+ else:
252
+ putenv: Callable[[AnyStr, AnyStr], object]
253
+ unsetenv: Callable[[AnyStr, AnyStr], object]
254
+ def __init__(
255
+ self,
256
+ data: MutableMapping[AnyStr, AnyStr],
257
+ encodekey: _EnvironCodeFunc[AnyStr],
258
+ decodekey: _EnvironCodeFunc[AnyStr],
259
+ encodevalue: _EnvironCodeFunc[AnyStr],
260
+ decodevalue: _EnvironCodeFunc[AnyStr],
261
+ putenv: Callable[[AnyStr, AnyStr], object],
262
+ unsetenv: Callable[[AnyStr, AnyStr], object],
263
+ ) -> None: ...
264
+
265
+ def setdefault(self, key: AnyStr, value: AnyStr) -> AnyStr: ...
266
+ def copy(self) -> dict[AnyStr, AnyStr]: ...
267
+ def __delitem__(self, key: AnyStr) -> None: ...
268
+ def __getitem__(self, key: AnyStr) -> AnyStr: ...
269
+ def __setitem__(self, key: AnyStr, value: AnyStr) -> None: ...
270
+ def __iter__(self) -> Iterator[AnyStr]: ...
271
+ def __len__(self) -> int: ...
272
+ if sys.version_info >= (3, 9):
273
+ def __or__(self, other: Mapping[_T1, _T2]) -> dict[AnyStr | _T1, AnyStr | _T2]: ...
274
+ def __ror__(self, other: Mapping[_T1, _T2]) -> dict[AnyStr | _T1, AnyStr | _T2]: ...
275
+ # We use @overload instead of a Union for reasons similar to those given for
276
+ # overloading MutableMapping.update in stdlib/typing.pyi
277
+ # The type: ignore is needed due to incompatible __or__/__ior__ signatures
278
+ @overload # type: ignore[misc]
279
+ def __ior__(self, other: Mapping[AnyStr, AnyStr]) -> Self: ...
280
+ @overload
281
+ def __ior__(self, other: Iterable[tuple[AnyStr, AnyStr]]) -> Self: ...
282
+
283
+ environ: _Environ[str]
284
+ if sys.platform != "win32":
285
+ environb: _Environ[bytes]
286
+
287
+ if sys.version_info >= (3, 11) or sys.platform != "win32":
288
+ EX_OK: int
289
+
290
+ if sys.platform != "win32":
291
+ confstr_names: dict[str, int]
292
+ pathconf_names: dict[str, int]
293
+ sysconf_names: dict[str, int]
294
+
295
+ EX_USAGE: int
296
+ EX_DATAERR: int
297
+ EX_NOINPUT: int
298
+ EX_NOUSER: int
299
+ EX_NOHOST: int
300
+ EX_UNAVAILABLE: int
301
+ EX_SOFTWARE: int
302
+ EX_OSERR: int
303
+ EX_OSFILE: int
304
+ EX_CANTCREAT: int
305
+ EX_IOERR: int
306
+ EX_TEMPFAIL: int
307
+ EX_PROTOCOL: int
308
+ EX_NOPERM: int
309
+ EX_CONFIG: int
310
+
311
+ if sys.platform != "win32" and sys.platform != "darwin":
312
+ EX_NOTFOUND: int
313
+
314
+ P_NOWAIT: int
315
+ P_NOWAITO: int
316
+ P_WAIT: int
317
+ if sys.platform == "win32":
318
+ P_DETACH: int
319
+ P_OVERLAY: int
320
+
321
+ # wait()/waitpid() options
322
+ if sys.platform != "win32":
323
+ WNOHANG: int # Unix only
324
+ WCONTINUED: int # some Unix systems
325
+ WUNTRACED: int # Unix only
326
+
327
+ TMP_MAX: int # Undocumented, but used by tempfile
328
+
329
+ # ----- os classes (structures) -----
330
+ @final
331
+ class stat_result(structseq[float], tuple[int, int, int, int, int, int, int, float, float, float]):
332
+ # The constructor of this class takes an iterable of variable length (though it must be at least 10).
333
+ #
334
+ # However, this class behaves like a tuple of 10 elements,
335
+ # no matter how long the iterable supplied to the constructor is.
336
+ # https://github.com/python/typeshed/pull/6560#discussion_r767162532
337
+ #
338
+ # The 10 elements always present are st_mode, st_ino, st_dev, st_nlink,
339
+ # st_uid, st_gid, st_size, st_atime, st_mtime, st_ctime.
340
+ #
341
+ # More items may be added at the end by some implementations.
342
+ if sys.version_info >= (3, 10):
343
+ __match_args__: Final = ("st_mode", "st_ino", "st_dev", "st_nlink", "st_uid", "st_gid", "st_size")
344
+ @property
345
+ def st_mode(self) -> int: ... # protection bits,
346
+ @property
347
+ def st_ino(self) -> int: ... # inode number,
348
+ @property
349
+ def st_dev(self) -> int: ... # device,
350
+ @property
351
+ def st_nlink(self) -> int: ... # number of hard links,
352
+ @property
353
+ def st_uid(self) -> int: ... # user id of owner,
354
+ @property
355
+ def st_gid(self) -> int: ... # group id of owner,
356
+ @property
357
+ def st_size(self) -> int: ... # size of file, in bytes,
358
+ @property
359
+ def st_atime(self) -> float: ... # time of most recent access,
360
+ @property
361
+ def st_mtime(self) -> float: ... # time of most recent content modification,
362
+ # platform dependent (time of most recent metadata change on Unix, or the time of creation on Windows)
363
+ @property
364
+ def st_ctime(self) -> float: ...
365
+ @property
366
+ def st_atime_ns(self) -> int: ... # time of most recent access, in nanoseconds
367
+ @property
368
+ def st_mtime_ns(self) -> int: ... # time of most recent content modification in nanoseconds
369
+ # platform dependent (time of most recent metadata change on Unix, or the time of creation on Windows) in nanoseconds
370
+ @property
371
+ def st_ctime_ns(self) -> int: ...
372
+ if sys.platform == "win32":
373
+ @property
374
+ def st_file_attributes(self) -> int: ...
375
+ @property
376
+ def st_reparse_tag(self) -> int: ...
377
+ if sys.version_info >= (3, 12):
378
+ @property
379
+ def st_birthtime(self) -> float: ... # time of file creation in seconds
380
+ @property
381
+ def st_birthtime_ns(self) -> int: ... # time of file creation in nanoseconds
382
+ else:
383
+ @property
384
+ def st_blocks(self) -> int: ... # number of blocks allocated for file
385
+ @property
386
+ def st_blksize(self) -> int: ... # filesystem blocksize
387
+ @property
388
+ def st_rdev(self) -> int: ... # type of device if an inode device
389
+ if sys.platform != "linux":
390
+ # These properties are available on MacOS, but not Ubuntu.
391
+ # On other Unix systems (such as FreeBSD), the following attributes may be
392
+ # available (but may be only filled out if root tries to use them):
393
+ @property
394
+ def st_gen(self) -> int: ... # file generation number
395
+ @property
396
+ def st_birthtime(self) -> float: ... # time of file creation in seconds
397
+ if sys.platform == "darwin":
398
+ @property
399
+ def st_flags(self) -> int: ... # user defined flags for file
400
+ # Attributes documented as sometimes appearing, but deliberately omitted from the stub: `st_creator`, `st_rsize`, `st_type`.
401
+ # See https://github.com/python/typeshed/pull/6560#issuecomment-991253327
402
+
403
+ @runtime_checkable
404
+ class PathLike(Protocol[AnyStr_co]):
405
+ @abstractmethod
406
+ def __fspath__(self) -> AnyStr_co: ...
407
+
408
+ @overload
409
+ def listdir(path: StrPath | None = None) -> list[str]: ...
410
+ @overload
411
+ def listdir(path: BytesPath) -> list[bytes]: ...
412
+ @overload
413
+ def listdir(path: int) -> list[str]: ...
414
+ @final
415
+ class DirEntry(Generic[AnyStr]):
416
+ # This is what the scandir iterator yields
417
+ # The constructor is hidden
418
+
419
+ @property
420
+ def name(self) -> AnyStr: ...
421
+ @property
422
+ def path(self) -> AnyStr: ...
423
+ def inode(self) -> int: ...
424
+ def is_dir(self, *, follow_symlinks: bool = True) -> bool: ...
425
+ def is_file(self, *, follow_symlinks: bool = True) -> bool: ...
426
+ def is_symlink(self) -> bool: ...
427
+ def stat(self, *, follow_symlinks: bool = True) -> stat_result: ...
428
+ def __fspath__(self) -> AnyStr: ...
429
+ if sys.version_info >= (3, 9):
430
+ def __class_getitem__(cls, item: Any) -> GenericAlias: ...
431
+ if sys.version_info >= (3, 12):
432
+ def is_junction(self) -> bool: ...
433
+
434
+ @final
435
+ class statvfs_result(structseq[int], tuple[int, int, int, int, int, int, int, int, int, int, int]):
436
+ if sys.version_info >= (3, 10):
437
+ __match_args__: Final = (
438
+ "f_bsize",
439
+ "f_frsize",
440
+ "f_blocks",
441
+ "f_bfree",
442
+ "f_bavail",
443
+ "f_files",
444
+ "f_ffree",
445
+ "f_favail",
446
+ "f_flag",
447
+ "f_namemax",
448
+ )
449
+ @property
450
+ def f_bsize(self) -> int: ...
451
+ @property
452
+ def f_frsize(self) -> int: ...
453
+ @property
454
+ def f_blocks(self) -> int: ...
455
+ @property
456
+ def f_bfree(self) -> int: ...
457
+ @property
458
+ def f_bavail(self) -> int: ...
459
+ @property
460
+ def f_files(self) -> int: ...
461
+ @property
462
+ def f_ffree(self) -> int: ...
463
+ @property
464
+ def f_favail(self) -> int: ...
465
+ @property
466
+ def f_flag(self) -> int: ...
467
+ @property
468
+ def f_namemax(self) -> int: ...
469
+ @property
470
+ def f_fsid(self) -> int: ...
471
+
472
+ # ----- os function stubs -----
473
+ def fsencode(filename: StrOrBytesPath) -> bytes: ...
474
+ def fsdecode(filename: StrOrBytesPath) -> str: ...
475
+ @overload
476
+ def fspath(path: str) -> str: ...
477
+ @overload
478
+ def fspath(path: bytes) -> bytes: ...
479
+ @overload
480
+ def fspath(path: PathLike[AnyStr]) -> AnyStr: ...
481
+ def get_exec_path(env: Mapping[str, str] | None = None) -> list[str]: ...
482
+ def getlogin() -> str: ...
483
+ def getpid() -> int: ...
484
+ def getppid() -> int: ...
485
+ def strerror(__code: int) -> str: ...
486
+ def umask(__mask: int) -> int: ...
487
+ @final
488
+ class uname_result(structseq[str], tuple[str, str, str, str, str]):
489
+ if sys.version_info >= (3, 10):
490
+ __match_args__: Final = ("sysname", "nodename", "release", "version", "machine")
491
+ @property
492
+ def sysname(self) -> str: ...
493
+ @property
494
+ def nodename(self) -> str: ...
495
+ @property
496
+ def release(self) -> str: ...
497
+ @property
498
+ def version(self) -> str: ...
499
+ @property
500
+ def machine(self) -> str: ...
501
+
502
+ if sys.platform != "win32":
503
+ def ctermid() -> str: ...
504
+ def getegid() -> int: ...
505
+ def geteuid() -> int: ...
506
+ def getgid() -> int: ...
507
+ def getgrouplist(__user: str, __group: int) -> list[int]: ...
508
+ def getgroups() -> list[int]: ... # Unix only, behaves differently on Mac
509
+ def initgroups(__username: str, __gid: int) -> None: ...
510
+ def getpgid(pid: int) -> int: ...
511
+ def getpgrp() -> int: ...
512
+ def getpriority(which: int, who: int) -> int: ...
513
+ def setpriority(which: int, who: int, priority: int) -> None: ...
514
+ if sys.platform != "darwin":
515
+ def getresuid() -> tuple[int, int, int]: ...
516
+ def getresgid() -> tuple[int, int, int]: ...
517
+
518
+ def getuid() -> int: ...
519
+ def setegid(__egid: int) -> None: ...
520
+ def seteuid(__euid: int) -> None: ...
521
+ def setgid(__gid: int) -> None: ...
522
+ def setgroups(__groups: Sequence[int]) -> None: ...
523
+ def setpgrp() -> None: ...
524
+ def setpgid(__pid: int, __pgrp: int) -> None: ...
525
+ def setregid(__rgid: int, __egid: int) -> None: ...
526
+ if sys.platform != "darwin":
527
+ def setresgid(__rgid: int, __egid: int, __sgid: int) -> None: ...
528
+ def setresuid(__ruid: int, __euid: int, __suid: int) -> None: ...
529
+
530
+ def setreuid(__ruid: int, __euid: int) -> None: ...
531
+ def getsid(__pid: int) -> int: ...
532
+ def setsid() -> None: ...
533
+ def setuid(__uid: int) -> None: ...
534
+ def uname() -> uname_result: ...
535
+
536
+ @overload
537
+ def getenv(key: str) -> str | None: ...
538
+ @overload
539
+ def getenv(key: str, default: _T) -> str | _T: ...
540
+
541
+ if sys.platform != "win32":
542
+ @overload
543
+ def getenvb(key: bytes) -> bytes | None: ...
544
+ @overload
545
+ def getenvb(key: bytes, default: _T) -> bytes | _T: ...
546
+ def putenv(__name: StrOrBytesPath, __value: StrOrBytesPath) -> None: ...
547
+ def unsetenv(__name: StrOrBytesPath) -> None: ...
548
+
549
+ else:
550
+ def putenv(__name: str, __value: str) -> None: ...
551
+
552
+ if sys.version_info >= (3, 9):
553
+ def unsetenv(__name: str) -> None: ...
554
+
555
+ _Opener: TypeAlias = Callable[[str, int], int]
556
+
557
+ @overload
558
+ def fdopen(
559
+ fd: int,
560
+ mode: OpenTextMode = "r",
561
+ buffering: int = -1,
562
+ encoding: str | None = None,
563
+ errors: str | None = ...,
564
+ newline: str | None = ...,
565
+ closefd: bool = ...,
566
+ opener: _Opener | None = ...,
567
+ ) -> _TextIOWrapper: ...
568
+ @overload
569
+ def fdopen(
570
+ fd: int,
571
+ mode: OpenBinaryMode,
572
+ buffering: Literal[0],
573
+ encoding: None = None,
574
+ errors: None = None,
575
+ newline: None = None,
576
+ closefd: bool = ...,
577
+ opener: _Opener | None = ...,
578
+ ) -> FileIO: ...
579
+ @overload
580
+ def fdopen(
581
+ fd: int,
582
+ mode: OpenBinaryModeUpdating,
583
+ buffering: Literal[-1, 1] = -1,
584
+ encoding: None = None,
585
+ errors: None = None,
586
+ newline: None = None,
587
+ closefd: bool = ...,
588
+ opener: _Opener | None = ...,
589
+ ) -> BufferedRandom: ...
590
+ @overload
591
+ def fdopen(
592
+ fd: int,
593
+ mode: OpenBinaryModeWriting,
594
+ buffering: Literal[-1, 1] = -1,
595
+ encoding: None = None,
596
+ errors: None = None,
597
+ newline: None = None,
598
+ closefd: bool = ...,
599
+ opener: _Opener | None = ...,
600
+ ) -> BufferedWriter: ...
601
+ @overload
602
+ def fdopen(
603
+ fd: int,
604
+ mode: OpenBinaryModeReading,
605
+ buffering: Literal[-1, 1] = -1,
606
+ encoding: None = None,
607
+ errors: None = None,
608
+ newline: None = None,
609
+ closefd: bool = ...,
610
+ opener: _Opener | None = ...,
611
+ ) -> BufferedReader: ...
612
+ @overload
613
+ def fdopen(
614
+ fd: int,
615
+ mode: OpenBinaryMode,
616
+ buffering: int = -1,
617
+ encoding: None = None,
618
+ errors: None = None,
619
+ newline: None = None,
620
+ closefd: bool = ...,
621
+ opener: _Opener | None = ...,
622
+ ) -> BinaryIO: ...
623
+ @overload
624
+ def fdopen(
625
+ fd: int,
626
+ mode: str,
627
+ buffering: int = -1,
628
+ encoding: str | None = None,
629
+ errors: str | None = ...,
630
+ newline: str | None = ...,
631
+ closefd: bool = ...,
632
+ opener: _Opener | None = ...,
633
+ ) -> IO[Any]: ...
634
+ def close(fd: int) -> None: ...
635
+ def closerange(__fd_low: int, __fd_high: int) -> None: ...
636
+ def device_encoding(fd: int) -> str | None: ...
637
+ def dup(__fd: int) -> int: ...
638
+ def dup2(fd: int, fd2: int, inheritable: bool = True) -> int: ...
639
+ def fstat(fd: int) -> stat_result: ...
640
+ def ftruncate(__fd: int, __length: int) -> None: ...
641
+ def fsync(fd: FileDescriptorLike) -> None: ...
642
+ def isatty(__fd: int) -> bool: ...
643
+
644
+ if sys.platform != "win32" and sys.version_info >= (3, 11):
645
+ def login_tty(__fd: int) -> None: ...
646
+
647
+ if sys.version_info >= (3, 11):
648
+ def lseek(__fd: int, __position: int, __whence: int) -> int: ...
649
+
650
+ else:
651
+ def lseek(__fd: int, __position: int, __how: int) -> int: ...
652
+
653
+ def open(path: StrOrBytesPath, flags: int, mode: int = 0o777, *, dir_fd: int | None = None) -> int: ...
654
+ def pipe() -> tuple[int, int]: ...
655
+ def read(__fd: int, __length: int) -> bytes: ...
656
+
657
+ if sys.version_info >= (3, 12) or sys.platform != "win32":
658
+ def get_blocking(__fd: int) -> bool: ...
659
+ def set_blocking(__fd: int, __blocking: bool) -> None: ...
660
+
661
+ if sys.platform != "win32":
662
+ def fchmod(fd: int, mode: int) -> None: ...
663
+ def fchown(fd: int, uid: int, gid: int) -> None: ...
664
+ def fpathconf(__fd: int, __name: str | int) -> int: ...
665
+ def fstatvfs(__fd: int) -> statvfs_result: ...
666
+ def lockf(__fd: int, __command: int, __length: int) -> None: ...
667
+ def openpty() -> tuple[int, int]: ... # some flavors of Unix
668
+ if sys.platform != "darwin":
669
+ def fdatasync(fd: FileDescriptorLike) -> None: ...
670
+ def pipe2(__flags: int) -> tuple[int, int]: ... # some flavors of Unix
671
+ def posix_fallocate(__fd: int, __offset: int, __length: int) -> None: ...
672
+ def posix_fadvise(__fd: int, __offset: int, __length: int, __advice: int) -> None: ...
673
+
674
+ def pread(__fd: int, __length: int, __offset: int) -> bytes: ...
675
+ def pwrite(__fd: int, __buffer: ReadableBuffer, __offset: int) -> int: ...
676
+ # In CI, stubtest sometimes reports that these are available on MacOS, sometimes not
677
+ def preadv(__fd: int, __buffers: SupportsLenAndGetItem[WriteableBuffer], __offset: int, __flags: int = 0) -> int: ...
678
+ def pwritev(__fd: int, __buffers: SupportsLenAndGetItem[ReadableBuffer], __offset: int, __flags: int = 0) -> int: ...
679
+ if sys.platform != "darwin":
680
+ if sys.version_info >= (3, 10):
681
+ RWF_APPEND: int # docs say available on 3.7+, stubtest says otherwise
682
+ RWF_DSYNC: int
683
+ RWF_SYNC: int
684
+ RWF_HIPRI: int
685
+ RWF_NOWAIT: int
686
+
687
+ if sys.platform == "linux":
688
+ def sendfile(out_fd: FileDescriptor, in_fd: FileDescriptor, offset: int | None, count: int) -> int: ...
689
+ else:
690
+ def sendfile(
691
+ out_fd: FileDescriptor,
692
+ in_fd: FileDescriptor,
693
+ offset: int,
694
+ count: int,
695
+ headers: Sequence[ReadableBuffer] = ...,
696
+ trailers: Sequence[ReadableBuffer] = ...,
697
+ flags: int = 0,
698
+ ) -> int: ... # FreeBSD and Mac OS X only
699
+
700
+ def readv(__fd: int, __buffers: SupportsLenAndGetItem[WriteableBuffer]) -> int: ...
701
+ def writev(__fd: int, __buffers: SupportsLenAndGetItem[ReadableBuffer]) -> int: ...
702
+
703
+ @final
704
+ class terminal_size(structseq[int], tuple[int, int]):
705
+ if sys.version_info >= (3, 10):
706
+ __match_args__: Final = ("columns", "lines")
707
+ @property
708
+ def columns(self) -> int: ...
709
+ @property
710
+ def lines(self) -> int: ...
711
+
712
+ def get_terminal_size(__fd: int = ...) -> terminal_size: ...
713
+ def get_inheritable(__fd: int) -> bool: ...
714
+ def set_inheritable(__fd: int, __inheritable: bool) -> None: ...
715
+
716
+ if sys.platform == "win32":
717
+ def get_handle_inheritable(__handle: int) -> bool: ...
718
+ def set_handle_inheritable(__handle: int, __inheritable: bool) -> None: ...
719
+
720
+ if sys.platform != "win32":
721
+ # Unix only
722
+ def tcgetpgrp(__fd: int) -> int: ...
723
+ def tcsetpgrp(__fd: int, __pgid: int) -> None: ...
724
+ def ttyname(__fd: int) -> str: ...
725
+
726
+ def write(__fd: int, __data: ReadableBuffer) -> int: ...
727
+ def access(
728
+ path: FileDescriptorOrPath, mode: int, *, dir_fd: int | None = None, effective_ids: bool = False, follow_symlinks: bool = True
729
+ ) -> bool: ...
730
+ def chdir(path: FileDescriptorOrPath) -> None: ...
731
+
732
+ if sys.platform != "win32":
733
+ def fchdir(fd: FileDescriptorLike) -> None: ...
734
+
735
+ def getcwd() -> str: ...
736
+ def getcwdb() -> bytes: ...
737
+ def chmod(path: FileDescriptorOrPath, mode: int, *, dir_fd: int | None = None, follow_symlinks: bool = True) -> None: ...
738
+
739
+ if sys.platform != "win32" and sys.platform != "linux":
740
+ def chflags(path: StrOrBytesPath, flags: int, follow_symlinks: bool = True) -> None: ... # some flavors of Unix
741
+ def lchflags(path: StrOrBytesPath, flags: int) -> None: ...
742
+ def lchmod(path: StrOrBytesPath, mode: int) -> None: ...
743
+
744
+ if sys.platform != "win32":
745
+ def chroot(path: StrOrBytesPath) -> None: ...
746
+ def chown(
747
+ path: FileDescriptorOrPath, uid: int, gid: int, *, dir_fd: int | None = None, follow_symlinks: bool = True
748
+ ) -> None: ...
749
+ def lchown(path: StrOrBytesPath, uid: int, gid: int) -> None: ...
750
+
751
+ def link(
752
+ src: StrOrBytesPath,
753
+ dst: StrOrBytesPath,
754
+ *,
755
+ src_dir_fd: int | None = None,
756
+ dst_dir_fd: int | None = None,
757
+ follow_symlinks: bool = True,
758
+ ) -> None: ...
759
+ def lstat(path: StrOrBytesPath, *, dir_fd: int | None = None) -> stat_result: ...
760
+ def mkdir(path: StrOrBytesPath, mode: int = 0o777, *, dir_fd: int | None = None) -> None: ...
761
+
762
+ if sys.platform != "win32":
763
+ def mkfifo(path: StrOrBytesPath, mode: int = 0o666, *, dir_fd: int | None = None) -> None: ... # Unix only
764
+
765
+ def makedirs(name: StrOrBytesPath, mode: int = 0o777, exist_ok: bool = False) -> None: ...
766
+
767
+ if sys.platform != "win32":
768
+ def mknod(path: StrOrBytesPath, mode: int = 0o600, device: int = 0, *, dir_fd: int | None = None) -> None: ...
769
+ def major(__device: int) -> int: ...
770
+ def minor(__device: int) -> int: ...
771
+ def makedev(__major: int, __minor: int) -> int: ...
772
+ def pathconf(path: FileDescriptorOrPath, name: str | int) -> int: ... # Unix only
773
+
774
+ def readlink(path: GenericPath[AnyStr], *, dir_fd: int | None = None) -> AnyStr: ...
775
+ def remove(path: StrOrBytesPath, *, dir_fd: int | None = None) -> None: ...
776
+ def removedirs(name: StrOrBytesPath) -> None: ...
777
+ def rename(src: StrOrBytesPath, dst: StrOrBytesPath, *, src_dir_fd: int | None = None, dst_dir_fd: int | None = None) -> None: ...
778
+ def renames(old: StrOrBytesPath, new: StrOrBytesPath) -> None: ...
779
+ def replace(
780
+ src: StrOrBytesPath, dst: StrOrBytesPath, *, src_dir_fd: int | None = None, dst_dir_fd: int | None = None
781
+ ) -> None: ...
782
+ def rmdir(path: StrOrBytesPath, *, dir_fd: int | None = None) -> None: ...
783
+
784
+ class _ScandirIterator(Iterator[DirEntry[AnyStr]], AbstractContextManager[_ScandirIterator[AnyStr]]):
785
+ def __next__(self) -> DirEntry[AnyStr]: ...
786
+ def __exit__(self, *args: Unused) -> None: ...
787
+ def close(self) -> None: ...
788
+
789
+ @overload
790
+ def scandir(path: None = None) -> _ScandirIterator[str]: ...
791
+ @overload
792
+ def scandir(path: int) -> _ScandirIterator[str]: ...
793
+ @overload
794
+ def scandir(path: GenericPath[AnyStr]) -> _ScandirIterator[AnyStr]: ...
795
+ def stat(path: FileDescriptorOrPath, *, dir_fd: int | None = None, follow_symlinks: bool = True) -> stat_result: ...
796
+
797
+ if sys.platform != "win32":
798
+ def statvfs(path: FileDescriptorOrPath) -> statvfs_result: ... # Unix only
799
+
800
+ def symlink(
801
+ src: StrOrBytesPath, dst: StrOrBytesPath, target_is_directory: bool = False, *, dir_fd: int | None = None
802
+ ) -> None: ...
803
+
804
+ if sys.platform != "win32":
805
+ def sync() -> None: ... # Unix only
806
+
807
+ def truncate(path: FileDescriptorOrPath, length: int) -> None: ... # Unix only up to version 3.4
808
+ def unlink(path: StrOrBytesPath, *, dir_fd: int | None = None) -> None: ...
809
+ def utime(
810
+ path: FileDescriptorOrPath,
811
+ times: tuple[int, int] | tuple[float, float] | None = None,
812
+ *,
813
+ ns: tuple[int, int] = ...,
814
+ dir_fd: int | None = None,
815
+ follow_symlinks: bool = True,
816
+ ) -> None: ...
817
+
818
+ _OnError: TypeAlias = Callable[[OSError], object]
819
+
820
+ def walk(
821
+ top: GenericPath[AnyStr], topdown: bool = True, onerror: _OnError | None = None, followlinks: bool = False
822
+ ) -> Iterator[tuple[AnyStr, list[AnyStr], list[AnyStr]]]: ...
823
+
824
+ if sys.platform != "win32":
825
+ @overload
826
+ def fwalk(
827
+ top: StrPath = ".",
828
+ topdown: bool = True,
829
+ onerror: _OnError | None = None,
830
+ *,
831
+ follow_symlinks: bool = False,
832
+ dir_fd: int | None = None,
833
+ ) -> Iterator[tuple[str, list[str], list[str], int]]: ...
834
+ @overload
835
+ def fwalk(
836
+ top: BytesPath,
837
+ topdown: bool = True,
838
+ onerror: _OnError | None = None,
839
+ *,
840
+ follow_symlinks: bool = False,
841
+ dir_fd: int | None = None,
842
+ ) -> Iterator[tuple[bytes, list[bytes], list[bytes], int]]: ...
843
+ if sys.platform == "linux":
844
+ def getxattr(path: FileDescriptorOrPath, attribute: StrOrBytesPath, *, follow_symlinks: bool = True) -> bytes: ...
845
+ def listxattr(path: FileDescriptorOrPath | None = None, *, follow_symlinks: bool = True) -> list[str]: ...
846
+ def removexattr(path: FileDescriptorOrPath, attribute: StrOrBytesPath, *, follow_symlinks: bool = True) -> None: ...
847
+ def setxattr(
848
+ path: FileDescriptorOrPath,
849
+ attribute: StrOrBytesPath,
850
+ value: ReadableBuffer,
851
+ flags: int = 0,
852
+ *,
853
+ follow_symlinks: bool = True,
854
+ ) -> None: ...
855
+
856
+ def abort() -> NoReturn: ...
857
+
858
+ # These are defined as execl(file, *args) but the first *arg is mandatory.
859
+ def execl(file: StrOrBytesPath, __arg0: StrOrBytesPath, *args: StrOrBytesPath) -> NoReturn: ...
860
+ def execlp(file: StrOrBytesPath, __arg0: StrOrBytesPath, *args: StrOrBytesPath) -> NoReturn: ...
861
+
862
+ # These are: execle(file, *args, env) but env is pulled from the last element of the args.
863
+ def execle(
864
+ file: StrOrBytesPath, *args: Unpack[tuple[StrOrBytesPath, Unpack[tuple[StrOrBytesPath, ...]], _ExecEnv]]
865
+ ) -> NoReturn: ...
866
+ def execlpe(
867
+ file: StrOrBytesPath, *args: Unpack[tuple[StrOrBytesPath, Unpack[tuple[StrOrBytesPath, ...]], _ExecEnv]]
868
+ ) -> NoReturn: ...
869
+
870
+ # The docs say `args: tuple or list of strings`
871
+ # The implementation enforces tuple or list so we can't use Sequence.
872
+ # Not separating out PathLike[str] and PathLike[bytes] here because it doesn't make much difference
873
+ # in practice, and doing so would explode the number of combinations in this already long union.
874
+ # All these combinations are necessary due to list being invariant.
875
+ _ExecVArgs: TypeAlias = (
876
+ tuple[StrOrBytesPath, ...]
877
+ | list[bytes]
878
+ | list[str]
879
+ | list[PathLike[Any]]
880
+ | list[bytes | str]
881
+ | list[bytes | PathLike[Any]]
882
+ | list[str | PathLike[Any]]
883
+ | list[bytes | str | PathLike[Any]]
884
+ )
885
+ # Depending on the OS, the keys and values are passed either to
886
+ # PyUnicode_FSDecoder (which accepts str | ReadableBuffer) or to
887
+ # PyUnicode_FSConverter (which accepts StrOrBytesPath). For simplicity,
888
+ # we limit to str | bytes.
889
+ _ExecEnv: TypeAlias = Mapping[bytes, bytes | str] | Mapping[str, bytes | str]
890
+
891
+ def execv(__path: StrOrBytesPath, __argv: _ExecVArgs) -> NoReturn: ...
892
+ def execve(path: FileDescriptorOrPath, argv: _ExecVArgs, env: _ExecEnv) -> NoReturn: ...
893
+ def execvp(file: StrOrBytesPath, args: _ExecVArgs) -> NoReturn: ...
894
+ def execvpe(file: StrOrBytesPath, args: _ExecVArgs, env: _ExecEnv) -> NoReturn: ...
895
+ def _exit(status: int) -> NoReturn: ...
896
+ def kill(__pid: int, __signal: int) -> None: ...
897
+
898
+ if sys.platform != "win32":
899
+ # Unix only
900
+ def fork() -> int: ...
901
+ def forkpty() -> tuple[int, int]: ... # some flavors of Unix
902
+ def killpg(__pgid: int, __signal: int) -> None: ...
903
+ def nice(__increment: int) -> int: ...
904
+ if sys.platform != "darwin":
905
+ def plock(__op: int) -> None: ... # ???op is int?
906
+
907
+ class _wrap_close(_TextIOWrapper):
908
+ def __init__(self, stream: _TextIOWrapper, proc: Popen[str]) -> None: ...
909
+ def close(self) -> int | None: ... # type: ignore[override]
910
+
911
+ def popen(cmd: str, mode: str = "r", buffering: int = -1) -> _wrap_close: ...
912
+ def spawnl(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: StrOrBytesPath) -> int: ...
913
+ def spawnle(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: Any) -> int: ... # Imprecise sig
914
+
915
+ if sys.platform != "win32":
916
+ def spawnv(mode: int, file: StrOrBytesPath, args: _ExecVArgs) -> int: ...
917
+ def spawnve(mode: int, file: StrOrBytesPath, args: _ExecVArgs, env: _ExecEnv) -> int: ...
918
+
919
+ else:
920
+ def spawnv(__mode: int, __path: StrOrBytesPath, __argv: _ExecVArgs) -> int: ...
921
+ def spawnve(__mode: int, __path: StrOrBytesPath, __argv: _ExecVArgs, __env: _ExecEnv) -> int: ...
922
+
923
+ def system(command: StrOrBytesPath) -> int: ...
924
+ @final
925
+ class times_result(structseq[float], tuple[float, float, float, float, float]):
926
+ if sys.version_info >= (3, 10):
927
+ __match_args__: Final = ("user", "system", "children_user", "children_system", "elapsed")
928
+ @property
929
+ def user(self) -> float: ...
930
+ @property
931
+ def system(self) -> float: ...
932
+ @property
933
+ def children_user(self) -> float: ...
934
+ @property
935
+ def children_system(self) -> float: ...
936
+ @property
937
+ def elapsed(self) -> float: ...
938
+
939
+ def times() -> times_result: ...
940
+ def waitpid(__pid: int, __options: int) -> tuple[int, int]: ...
941
+
942
+ if sys.platform == "win32":
943
+ if sys.version_info >= (3, 10):
944
+ def startfile(
945
+ filepath: StrOrBytesPath,
946
+ operation: str = ...,
947
+ arguments: str = "",
948
+ cwd: StrOrBytesPath | None = None,
949
+ show_cmd: int = 1,
950
+ ) -> None: ...
951
+ else:
952
+ def startfile(filepath: StrOrBytesPath, operation: str = ...) -> None: ...
953
+
954
+ else:
955
+ def spawnlp(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: StrOrBytesPath) -> int: ...
956
+ def spawnlpe(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: Any) -> int: ... # Imprecise signature
957
+ def spawnvp(mode: int, file: StrOrBytesPath, args: _ExecVArgs) -> int: ...
958
+ def spawnvpe(mode: int, file: StrOrBytesPath, args: _ExecVArgs, env: _ExecEnv) -> int: ...
959
+ def wait() -> tuple[int, int]: ... # Unix only
960
+ if sys.platform != "darwin":
961
+ @final
962
+ class waitid_result(structseq[int], tuple[int, int, int, int, int]):
963
+ if sys.version_info >= (3, 10):
964
+ __match_args__: Final = ("si_pid", "si_uid", "si_signo", "si_status", "si_code")
965
+ @property
966
+ def si_pid(self) -> int: ...
967
+ @property
968
+ def si_uid(self) -> int: ...
969
+ @property
970
+ def si_signo(self) -> int: ...
971
+ @property
972
+ def si_status(self) -> int: ...
973
+ @property
974
+ def si_code(self) -> int: ...
975
+
976
+ def waitid(__idtype: int, __ident: int, __options: int) -> waitid_result | None: ...
977
+
978
+ from resource import struct_rusage
979
+
980
+ def wait3(options: int) -> tuple[int, int, struct_rusage]: ...
981
+ def wait4(pid: int, options: int) -> tuple[int, int, struct_rusage]: ...
982
+ def WCOREDUMP(__status: int) -> bool: ...
983
+ def WIFCONTINUED(status: int) -> bool: ...
984
+ def WIFSTOPPED(status: int) -> bool: ...
985
+ def WIFSIGNALED(status: int) -> bool: ...
986
+ def WIFEXITED(status: int) -> bool: ...
987
+ def WEXITSTATUS(status: int) -> int: ...
988
+ def WSTOPSIG(status: int) -> int: ...
989
+ def WTERMSIG(status: int) -> int: ...
990
+ def posix_spawn(
991
+ __path: StrOrBytesPath,
992
+ __argv: _ExecVArgs,
993
+ __env: _ExecEnv,
994
+ *,
995
+ file_actions: Sequence[tuple[Any, ...]] | None = ...,
996
+ setpgroup: int | None = ...,
997
+ resetids: bool = ...,
998
+ setsid: bool = ...,
999
+ setsigmask: Iterable[int] = ...,
1000
+ setsigdef: Iterable[int] = ...,
1001
+ scheduler: tuple[Any, sched_param] | None = ...,
1002
+ ) -> int: ...
1003
+ def posix_spawnp(
1004
+ __path: StrOrBytesPath,
1005
+ __argv: _ExecVArgs,
1006
+ __env: _ExecEnv,
1007
+ *,
1008
+ file_actions: Sequence[tuple[Any, ...]] | None = ...,
1009
+ setpgroup: int | None = ...,
1010
+ resetids: bool = ...,
1011
+ setsid: bool = ...,
1012
+ setsigmask: Iterable[int] = ...,
1013
+ setsigdef: Iterable[int] = ...,
1014
+ scheduler: tuple[Any, sched_param] | None = ...,
1015
+ ) -> int: ...
1016
+ POSIX_SPAWN_OPEN: int
1017
+ POSIX_SPAWN_CLOSE: int
1018
+ POSIX_SPAWN_DUP2: int
1019
+
1020
+ if sys.platform != "win32":
1021
+ @final
1022
+ class sched_param(structseq[int], tuple[int]):
1023
+ if sys.version_info >= (3, 10):
1024
+ __match_args__: Final = ("sched_priority",)
1025
+ def __new__(cls, sched_priority: int) -> Self: ...
1026
+ @property
1027
+ def sched_priority(self) -> int: ...
1028
+
1029
+ def sched_get_priority_min(policy: int) -> int: ... # some flavors of Unix
1030
+ def sched_get_priority_max(policy: int) -> int: ... # some flavors of Unix
1031
+ def sched_yield() -> None: ... # some flavors of Unix
1032
+ if sys.platform != "darwin":
1033
+ def sched_setscheduler(__pid: int, __policy: int, __param: sched_param) -> None: ... # some flavors of Unix
1034
+ def sched_getscheduler(__pid: int) -> int: ... # some flavors of Unix
1035
+ def sched_rr_get_interval(__pid: int) -> float: ... # some flavors of Unix
1036
+ def sched_setparam(__pid: int, __param: sched_param) -> None: ... # some flavors of Unix
1037
+ def sched_getparam(__pid: int) -> sched_param: ... # some flavors of Unix
1038
+ def sched_setaffinity(__pid: int, __mask: Iterable[int]) -> None: ... # some flavors of Unix
1039
+ def sched_getaffinity(__pid: int) -> set[int]: ... # some flavors of Unix
1040
+
1041
+ def cpu_count() -> int | None: ...
1042
+
1043
+ if sys.platform != "win32":
1044
+ # Unix only
1045
+ def confstr(__name: str | int) -> str | None: ...
1046
+ def getloadavg() -> tuple[float, float, float]: ...
1047
+ def sysconf(__name: str | int) -> int: ...
1048
+
1049
+ if sys.platform == "linux":
1050
+ def getrandom(size: int, flags: int = 0) -> bytes: ...
1051
+
1052
+ def urandom(__size: int) -> bytes: ...
1053
+
1054
+ if sys.platform != "win32":
1055
+ def register_at_fork(
1056
+ *,
1057
+ before: Callable[..., Any] | None = ...,
1058
+ after_in_parent: Callable[..., Any] | None = ...,
1059
+ after_in_child: Callable[..., Any] | None = ...,
1060
+ ) -> None: ...
1061
+
1062
+ if sys.platform == "win32":
1063
+ class _AddedDllDirectory:
1064
+ path: str | None
1065
+ def __init__(self, path: str | None, cookie: _T, remove_dll_directory: Callable[[_T], object]) -> None: ...
1066
+ def close(self) -> None: ...
1067
+ def __enter__(self) -> Self: ...
1068
+ def __exit__(self, *args: Unused) -> None: ...
1069
+
1070
+ def add_dll_directory(path: str) -> _AddedDllDirectory: ...
1071
+
1072
+ if sys.platform == "linux":
1073
+ MFD_CLOEXEC: int
1074
+ MFD_ALLOW_SEALING: int
1075
+ MFD_HUGETLB: int
1076
+ MFD_HUGE_SHIFT: int
1077
+ MFD_HUGE_MASK: int
1078
+ MFD_HUGE_64KB: int
1079
+ MFD_HUGE_512KB: int
1080
+ MFD_HUGE_1MB: int
1081
+ MFD_HUGE_2MB: int
1082
+ MFD_HUGE_8MB: int
1083
+ MFD_HUGE_16MB: int
1084
+ MFD_HUGE_32MB: int
1085
+ MFD_HUGE_256MB: int
1086
+ MFD_HUGE_512MB: int
1087
+ MFD_HUGE_1GB: int
1088
+ MFD_HUGE_2GB: int
1089
+ MFD_HUGE_16GB: int
1090
+ def memfd_create(name: str, flags: int = ...) -> int: ...
1091
+ def copy_file_range(src: int, dst: int, count: int, offset_src: int | None = ..., offset_dst: int | None = ...) -> int: ...
1092
+
1093
+ if sys.version_info >= (3, 9):
1094
+ def waitstatus_to_exitcode(status: int) -> int: ...
1095
+
1096
+ if sys.platform == "linux":
1097
+ def pidfd_open(pid: int, flags: int = ...) -> int: ...
1098
+
1099
+ if sys.version_info >= (3, 12) and sys.platform == "win32":
1100
+ def listdrives() -> list[str]: ...
1101
+ def listmounts(volume: str) -> list[str]: ...
1102
+ def listvolumes() -> list[str]: ...
1103
+
1104
+ if sys.version_info >= (3, 10) and sys.platform == "linux":
1105
+ EFD_CLOEXEC: int
1106
+ EFD_NONBLOCK: int
1107
+ EFD_SEMAPHORE: int
1108
+ SPLICE_F_MORE: int
1109
+ SPLICE_F_MOVE: int
1110
+ SPLICE_F_NONBLOCK: int
1111
+ def eventfd(initval: int, flags: int = 524288) -> FileDescriptor: ...
1112
+ def eventfd_read(fd: FileDescriptor) -> int: ...
1113
+ def eventfd_write(fd: FileDescriptor, value: int) -> None: ...
1114
+ def splice(
1115
+ src: FileDescriptor,
1116
+ dst: FileDescriptor,
1117
+ count: int,
1118
+ offset_src: int | None = ...,
1119
+ offset_dst: int | None = ...,
1120
+ flags: int = 0,
1121
+ ) -> int: ...
1122
+
1123
+ if sys.version_info >= (3, 12) and sys.platform == "linux":
1124
+ CLONE_FILES: int
1125
+ CLONE_FS: int
1126
+ CLONE_NEWCGROUP: int
1127
+ CLONE_NEWIPC: int
1128
+ CLONE_NEWNET: int
1129
+ CLONE_NEWNS: int
1130
+ CLONE_NEWPID: int
1131
+ CLONE_NEWTIME: int
1132
+ CLONE_NEWUSER: int
1133
+ CLONE_NEWUTS: int
1134
+ CLONE_SIGHAND: int
1135
+ CLONE_SYSVSEM: int
1136
+ CLONE_THREAD: int
1137
+ CLONE_VM: int
1138
+ def unshare(flags: int) -> None: ...
1139
+ def setns(fd: FileDescriptorLike, nstype: int = 0) -> None: ...