@rowstile/cli-win32-x64 0.1.0-alpha.2

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 (759) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +5 -0
  3. package/package.json +23 -0
  4. package/python/DLLs/_asyncio.pyd +0 -0
  5. package/python/DLLs/_bz2.pyd +0 -0
  6. package/python/DLLs/_ctypes.pyd +0 -0
  7. package/python/DLLs/_ctypes_test.pyd +0 -0
  8. package/python/DLLs/_decimal.pyd +0 -0
  9. package/python/DLLs/_elementtree.pyd +0 -0
  10. package/python/DLLs/_hashlib.pyd +0 -0
  11. package/python/DLLs/_lzma.pyd +0 -0
  12. package/python/DLLs/_multiprocessing.pyd +0 -0
  13. package/python/DLLs/_overlapped.pyd +0 -0
  14. package/python/DLLs/_queue.pyd +0 -0
  15. package/python/DLLs/_socket.pyd +0 -0
  16. package/python/DLLs/_sqlite3.pyd +0 -0
  17. package/python/DLLs/_ssl.pyd +0 -0
  18. package/python/DLLs/_testbuffer.pyd +0 -0
  19. package/python/DLLs/_testcapi.pyd +0 -0
  20. package/python/DLLs/_testclinic.pyd +0 -0
  21. package/python/DLLs/_testclinic_limited.pyd +0 -0
  22. package/python/DLLs/_testconsole.pyd +0 -0
  23. package/python/DLLs/_testimportmultiple.pyd +0 -0
  24. package/python/DLLs/_testinternalcapi.pyd +0 -0
  25. package/python/DLLs/_testlimitedcapi.pyd +0 -0
  26. package/python/DLLs/_testmultiphase.pyd +0 -0
  27. package/python/DLLs/_testsinglephase.pyd +0 -0
  28. package/python/DLLs/_uuid.pyd +0 -0
  29. package/python/DLLs/_wmi.pyd +0 -0
  30. package/python/DLLs/_zoneinfo.pyd +0 -0
  31. package/python/DLLs/libcrypto-3-x64.dll +0 -0
  32. package/python/DLLs/libffi-8.dll +0 -0
  33. package/python/DLLs/libssl-3-x64.dll +0 -0
  34. package/python/DLLs/pyexpat.pyd +0 -0
  35. package/python/DLLs/select.pyd +0 -0
  36. package/python/DLLs/sqlite3.dll +0 -0
  37. package/python/DLLs/unicodedata.pyd +0 -0
  38. package/python/DLLs/winsound.pyd +0 -0
  39. package/python/DLLs/zlib1.dll +0 -0
  40. package/python/LICENSE.txt +445 -0
  41. package/python/Lib/__future__.py +147 -0
  42. package/python/Lib/__hello__.py +16 -0
  43. package/python/Lib/__pycache__/__future__.cpython-313.pyc +0 -0
  44. package/python/Lib/__pycache__/_colorize.cpython-313.pyc +0 -0
  45. package/python/Lib/__pycache__/_compat_pickle.cpython-313.pyc +0 -0
  46. package/python/Lib/__pycache__/_compression.cpython-313.pyc +0 -0
  47. package/python/Lib/__pycache__/_markupbase.cpython-313.pyc +0 -0
  48. package/python/Lib/__pycache__/_opcode_metadata.cpython-313.pyc +0 -0
  49. package/python/Lib/__pycache__/_weakrefset.cpython-313.pyc +0 -0
  50. package/python/Lib/__pycache__/ast.cpython-313.pyc +0 -0
  51. package/python/Lib/__pycache__/base64.cpython-313.pyc +0 -0
  52. package/python/Lib/__pycache__/bisect.cpython-313.pyc +0 -0
  53. package/python/Lib/__pycache__/bz2.cpython-313.pyc +0 -0
  54. package/python/Lib/__pycache__/calendar.cpython-313.pyc +0 -0
  55. package/python/Lib/__pycache__/colorsys.cpython-313.pyc +0 -0
  56. package/python/Lib/__pycache__/compileall.cpython-313.pyc +0 -0
  57. package/python/Lib/__pycache__/configparser.cpython-313.pyc +0 -0
  58. package/python/Lib/__pycache__/contextlib.cpython-313.pyc +0 -0
  59. package/python/Lib/__pycache__/copy.cpython-313.pyc +0 -0
  60. package/python/Lib/__pycache__/copyreg.cpython-313.pyc +0 -0
  61. package/python/Lib/__pycache__/csv.cpython-313.pyc +0 -0
  62. package/python/Lib/__pycache__/dataclasses.cpython-313.pyc +0 -0
  63. package/python/Lib/__pycache__/datetime.cpython-313.pyc +0 -0
  64. package/python/Lib/__pycache__/decimal.cpython-313.pyc +0 -0
  65. package/python/Lib/__pycache__/dis.cpython-313.pyc +0 -0
  66. package/python/Lib/__pycache__/enum.cpython-313.pyc +0 -0
  67. package/python/Lib/__pycache__/filecmp.cpython-313.pyc +0 -0
  68. package/python/Lib/__pycache__/fnmatch.cpython-313.pyc +0 -0
  69. package/python/Lib/__pycache__/fractions.cpython-313.pyc +0 -0
  70. package/python/Lib/__pycache__/functools.cpython-313.pyc +0 -0
  71. package/python/Lib/__pycache__/getpass.cpython-313.pyc +0 -0
  72. package/python/Lib/__pycache__/gettext.cpython-313.pyc +0 -0
  73. package/python/Lib/__pycache__/glob.cpython-313.pyc +0 -0
  74. package/python/Lib/__pycache__/gzip.cpython-313.pyc +0 -0
  75. package/python/Lib/__pycache__/hashlib.cpython-313.pyc +0 -0
  76. package/python/Lib/__pycache__/heapq.cpython-313.pyc +0 -0
  77. package/python/Lib/__pycache__/hmac.cpython-313.pyc +0 -0
  78. package/python/Lib/__pycache__/inspect.cpython-313.pyc +0 -0
  79. package/python/Lib/__pycache__/ipaddress.cpython-313.pyc +0 -0
  80. package/python/Lib/__pycache__/keyword.cpython-313.pyc +0 -0
  81. package/python/Lib/__pycache__/linecache.cpython-313.pyc +0 -0
  82. package/python/Lib/__pycache__/locale.cpython-313.pyc +0 -0
  83. package/python/Lib/__pycache__/lzma.cpython-313.pyc +0 -0
  84. package/python/Lib/__pycache__/mimetypes.cpython-313.pyc +0 -0
  85. package/python/Lib/__pycache__/nturl2path.cpython-313.pyc +0 -0
  86. package/python/Lib/__pycache__/numbers.cpython-313.pyc +0 -0
  87. package/python/Lib/__pycache__/opcode.cpython-313.pyc +0 -0
  88. package/python/Lib/__pycache__/operator.cpython-313.pyc +0 -0
  89. package/python/Lib/__pycache__/optparse.cpython-313.pyc +0 -0
  90. package/python/Lib/__pycache__/pickle.cpython-313.pyc +0 -0
  91. package/python/Lib/__pycache__/pkgutil.cpython-313.pyc +0 -0
  92. package/python/Lib/__pycache__/platform.cpython-313.pyc +0 -0
  93. package/python/Lib/__pycache__/py_compile.cpython-313.pyc +0 -0
  94. package/python/Lib/__pycache__/queue.cpython-313.pyc +0 -0
  95. package/python/Lib/__pycache__/quopri.cpython-313.pyc +0 -0
  96. package/python/Lib/__pycache__/random.cpython-313.pyc +0 -0
  97. package/python/Lib/__pycache__/reprlib.cpython-313.pyc +0 -0
  98. package/python/Lib/__pycache__/selectors.cpython-313.pyc +0 -0
  99. package/python/Lib/__pycache__/shlex.cpython-313.pyc +0 -0
  100. package/python/Lib/__pycache__/shutil.cpython-313.pyc +0 -0
  101. package/python/Lib/__pycache__/signal.cpython-313.pyc +0 -0
  102. package/python/Lib/__pycache__/socket.cpython-313.pyc +0 -0
  103. package/python/Lib/__pycache__/socketserver.cpython-313.pyc +0 -0
  104. package/python/Lib/__pycache__/ssl.cpython-313.pyc +0 -0
  105. package/python/Lib/__pycache__/string.cpython-313.pyc +0 -0
  106. package/python/Lib/__pycache__/stringprep.cpython-313.pyc +0 -0
  107. package/python/Lib/__pycache__/struct.cpython-313.pyc +0 -0
  108. package/python/Lib/__pycache__/subprocess.cpython-313.pyc +0 -0
  109. package/python/Lib/__pycache__/tarfile.cpython-313.pyc +0 -0
  110. package/python/Lib/__pycache__/tempfile.cpython-313.pyc +0 -0
  111. package/python/Lib/__pycache__/textwrap.cpython-313.pyc +0 -0
  112. package/python/Lib/__pycache__/threading.cpython-313.pyc +0 -0
  113. package/python/Lib/__pycache__/token.cpython-313.pyc +0 -0
  114. package/python/Lib/__pycache__/tokenize.cpython-313.pyc +0 -0
  115. package/python/Lib/__pycache__/traceback.cpython-313.pyc +0 -0
  116. package/python/Lib/__pycache__/types.cpython-313.pyc +0 -0
  117. package/python/Lib/__pycache__/typing.cpython-313.pyc +0 -0
  118. package/python/Lib/__pycache__/uuid.cpython-313.pyc +0 -0
  119. package/python/Lib/__pycache__/warnings.cpython-313.pyc +0 -0
  120. package/python/Lib/__pycache__/weakref.cpython-313.pyc +0 -0
  121. package/python/Lib/_aix_support.py +108 -0
  122. package/python/Lib/_android_support.py +192 -0
  123. package/python/Lib/_apple_support.py +66 -0
  124. package/python/Lib/_collections_abc.py +1187 -0
  125. package/python/Lib/_colorize.py +119 -0
  126. package/python/Lib/_compat_pickle.py +251 -0
  127. package/python/Lib/_compression.py +162 -0
  128. package/python/Lib/_ios_support.py +71 -0
  129. package/python/Lib/_markupbase.py +396 -0
  130. package/python/Lib/_opcode_metadata.py +343 -0
  131. package/python/Lib/_osx_support.py +579 -0
  132. package/python/Lib/_py_abc.py +147 -0
  133. package/python/Lib/_pydatetime.py +2640 -0
  134. package/python/Lib/_pydecimal.py +6356 -0
  135. package/python/Lib/_pyio.py +2714 -0
  136. package/python/Lib/_pylong.py +363 -0
  137. package/python/Lib/_pyrepl/__init__.py +19 -0
  138. package/python/Lib/_pyrepl/__main__.py +10 -0
  139. package/python/Lib/_pyrepl/_minimal_curses.py +68 -0
  140. package/python/Lib/_pyrepl/_threading_handler.py +74 -0
  141. package/python/Lib/_pyrepl/base_eventqueue.py +110 -0
  142. package/python/Lib/_pyrepl/commands.py +492 -0
  143. package/python/Lib/_pyrepl/completing_reader.py +295 -0
  144. package/python/Lib/_pyrepl/console.py +229 -0
  145. package/python/Lib/_pyrepl/curses.py +33 -0
  146. package/python/Lib/_pyrepl/fancy_termios.py +82 -0
  147. package/python/Lib/_pyrepl/historical_reader.py +419 -0
  148. package/python/Lib/_pyrepl/input.py +114 -0
  149. package/python/Lib/_pyrepl/keymap.py +213 -0
  150. package/python/Lib/_pyrepl/main.py +59 -0
  151. package/python/Lib/_pyrepl/mypy.ini +29 -0
  152. package/python/Lib/_pyrepl/pager.py +175 -0
  153. package/python/Lib/_pyrepl/reader.py +764 -0
  154. package/python/Lib/_pyrepl/readline.py +599 -0
  155. package/python/Lib/_pyrepl/simple_interact.py +180 -0
  156. package/python/Lib/_pyrepl/trace.py +21 -0
  157. package/python/Lib/_pyrepl/types.py +10 -0
  158. package/python/Lib/_pyrepl/unix_console.py +852 -0
  159. package/python/Lib/_pyrepl/unix_eventqueue.py +76 -0
  160. package/python/Lib/_pyrepl/utils.py +83 -0
  161. package/python/Lib/_pyrepl/windows_console.py +687 -0
  162. package/python/Lib/_pyrepl/windows_eventqueue.py +42 -0
  163. package/python/Lib/_sitebuiltins.py +91 -0
  164. package/python/Lib/_strptime.py +800 -0
  165. package/python/Lib/_threading_local.py +120 -0
  166. package/python/Lib/_weakrefset.py +205 -0
  167. package/python/Lib/abc.py +188 -0
  168. package/python/Lib/antigravity.py +17 -0
  169. package/python/Lib/argparse.py +2690 -0
  170. package/python/Lib/ast.py +1865 -0
  171. package/python/Lib/asyncio/__init__.py +47 -0
  172. package/python/Lib/asyncio/__main__.py +211 -0
  173. package/python/Lib/asyncio/base_events.py +2086 -0
  174. package/python/Lib/asyncio/base_futures.py +67 -0
  175. package/python/Lib/asyncio/base_subprocess.py +312 -0
  176. package/python/Lib/asyncio/base_tasks.py +94 -0
  177. package/python/Lib/asyncio/constants.py +41 -0
  178. package/python/Lib/asyncio/coroutines.py +109 -0
  179. package/python/Lib/asyncio/events.py +885 -0
  180. package/python/Lib/asyncio/exceptions.py +62 -0
  181. package/python/Lib/asyncio/format_helpers.py +84 -0
  182. package/python/Lib/asyncio/futures.py +425 -0
  183. package/python/Lib/asyncio/locks.py +617 -0
  184. package/python/Lib/asyncio/log.py +7 -0
  185. package/python/Lib/asyncio/mixins.py +21 -0
  186. package/python/Lib/asyncio/proactor_events.py +891 -0
  187. package/python/Lib/asyncio/protocols.py +216 -0
  188. package/python/Lib/asyncio/queues.py +309 -0
  189. package/python/Lib/asyncio/runners.py +217 -0
  190. package/python/Lib/asyncio/selector_events.py +1328 -0
  191. package/python/Lib/asyncio/sslproto.py +929 -0
  192. package/python/Lib/asyncio/staggered.py +174 -0
  193. package/python/Lib/asyncio/streams.py +787 -0
  194. package/python/Lib/asyncio/subprocess.py +229 -0
  195. package/python/Lib/asyncio/taskgroups.py +278 -0
  196. package/python/Lib/asyncio/tasks.py +1121 -0
  197. package/python/Lib/asyncio/threads.py +26 -0
  198. package/python/Lib/asyncio/timeouts.py +185 -0
  199. package/python/Lib/asyncio/transports.py +337 -0
  200. package/python/Lib/asyncio/trsock.py +98 -0
  201. package/python/Lib/asyncio/unix_events.py +1550 -0
  202. package/python/Lib/asyncio/windows_events.py +906 -0
  203. package/python/Lib/asyncio/windows_utils.py +181 -0
  204. package/python/Lib/base64.py +628 -0
  205. package/python/Lib/bdb.py +973 -0
  206. package/python/Lib/bisect.py +118 -0
  207. package/python/Lib/bz2.py +352 -0
  208. package/python/Lib/cProfile.py +197 -0
  209. package/python/Lib/calendar.py +813 -0
  210. package/python/Lib/cmd.py +409 -0
  211. package/python/Lib/code.py +386 -0
  212. package/python/Lib/codecs.py +1132 -0
  213. package/python/Lib/codeop.py +155 -0
  214. package/python/Lib/collections/__init__.py +1603 -0
  215. package/python/Lib/collections/__pycache__/__init__.cpython-313.pyc +0 -0
  216. package/python/Lib/colorsys.py +166 -0
  217. package/python/Lib/compileall.py +470 -0
  218. package/python/Lib/concurrent/__init__.py +1 -0
  219. package/python/Lib/concurrent/futures/__init__.py +54 -0
  220. package/python/Lib/concurrent/futures/_base.py +660 -0
  221. package/python/Lib/concurrent/futures/process.py +892 -0
  222. package/python/Lib/concurrent/futures/thread.py +240 -0
  223. package/python/Lib/configparser.py +1396 -0
  224. package/python/Lib/contextlib.py +814 -0
  225. package/python/Lib/contextvars.py +4 -0
  226. package/python/Lib/copy.py +306 -0
  227. package/python/Lib/copyreg.py +217 -0
  228. package/python/Lib/csv.py +527 -0
  229. package/python/Lib/ctypes/__init__.py +602 -0
  230. package/python/Lib/ctypes/__pycache__/__init__.cpython-313.pyc +0 -0
  231. package/python/Lib/ctypes/__pycache__/_endian.cpython-313.pyc +0 -0
  232. package/python/Lib/ctypes/__pycache__/wintypes.cpython-313.pyc +0 -0
  233. package/python/Lib/ctypes/_aix.py +327 -0
  234. package/python/Lib/ctypes/_endian.py +78 -0
  235. package/python/Lib/ctypes/macholib/README.ctypes +7 -0
  236. package/python/Lib/ctypes/macholib/__init__.py +9 -0
  237. package/python/Lib/ctypes/macholib/dyld.py +165 -0
  238. package/python/Lib/ctypes/macholib/dylib.py +42 -0
  239. package/python/Lib/ctypes/macholib/fetch_macholib +2 -0
  240. package/python/Lib/ctypes/macholib/fetch_macholib.bat +1 -0
  241. package/python/Lib/ctypes/macholib/framework.py +42 -0
  242. package/python/Lib/ctypes/util.py +387 -0
  243. package/python/Lib/ctypes/wintypes.py +202 -0
  244. package/python/Lib/curses/__init__.py +101 -0
  245. package/python/Lib/curses/ascii.py +99 -0
  246. package/python/Lib/curses/has_key.py +192 -0
  247. package/python/Lib/curses/panel.py +6 -0
  248. package/python/Lib/curses/textpad.py +236 -0
  249. package/python/Lib/dataclasses.py +1679 -0
  250. package/python/Lib/datetime.py +9 -0
  251. package/python/Lib/dbm/__init__.py +194 -0
  252. package/python/Lib/dbm/dumb.py +319 -0
  253. package/python/Lib/dbm/gnu.py +3 -0
  254. package/python/Lib/dbm/ndbm.py +3 -0
  255. package/python/Lib/dbm/sqlite3.py +144 -0
  256. package/python/Lib/decimal.py +109 -0
  257. package/python/Lib/difflib.py +2058 -0
  258. package/python/Lib/dis.py +1075 -0
  259. package/python/Lib/doctest.py +2919 -0
  260. package/python/Lib/email/__init__.py +61 -0
  261. package/python/Lib/email/__pycache__/__init__.cpython-313.pyc +0 -0
  262. package/python/Lib/email/__pycache__/_encoded_words.cpython-313.pyc +0 -0
  263. package/python/Lib/email/__pycache__/_parseaddr.cpython-313.pyc +0 -0
  264. package/python/Lib/email/__pycache__/_policybase.cpython-313.pyc +0 -0
  265. package/python/Lib/email/__pycache__/base64mime.cpython-313.pyc +0 -0
  266. package/python/Lib/email/__pycache__/charset.cpython-313.pyc +0 -0
  267. package/python/Lib/email/__pycache__/encoders.cpython-313.pyc +0 -0
  268. package/python/Lib/email/__pycache__/errors.cpython-313.pyc +0 -0
  269. package/python/Lib/email/__pycache__/feedparser.cpython-313.pyc +0 -0
  270. package/python/Lib/email/__pycache__/header.cpython-313.pyc +0 -0
  271. package/python/Lib/email/__pycache__/iterators.cpython-313.pyc +0 -0
  272. package/python/Lib/email/__pycache__/message.cpython-313.pyc +0 -0
  273. package/python/Lib/email/__pycache__/parser.cpython-313.pyc +0 -0
  274. package/python/Lib/email/__pycache__/quoprimime.cpython-313.pyc +0 -0
  275. package/python/Lib/email/__pycache__/utils.cpython-313.pyc +0 -0
  276. package/python/Lib/email/_encoded_words.py +233 -0
  277. package/python/Lib/email/_header_value_parser.py +3153 -0
  278. package/python/Lib/email/_parseaddr.py +563 -0
  279. package/python/Lib/email/_policybase.py +382 -0
  280. package/python/Lib/email/architecture.rst +216 -0
  281. package/python/Lib/email/base64mime.py +115 -0
  282. package/python/Lib/email/charset.py +396 -0
  283. package/python/Lib/email/contentmanager.py +254 -0
  284. package/python/Lib/email/encoders.py +65 -0
  285. package/python/Lib/email/errors.py +117 -0
  286. package/python/Lib/email/feedparser.py +536 -0
  287. package/python/Lib/email/generator.py +530 -0
  288. package/python/Lib/email/header.py +582 -0
  289. package/python/Lib/email/headerregistry.py +618 -0
  290. package/python/Lib/email/iterators.py +68 -0
  291. package/python/Lib/email/message.py +1217 -0
  292. package/python/Lib/email/mime/__init__.py +0 -0
  293. package/python/Lib/email/mime/application.py +37 -0
  294. package/python/Lib/email/mime/audio.py +97 -0
  295. package/python/Lib/email/mime/base.py +29 -0
  296. package/python/Lib/email/mime/image.py +152 -0
  297. package/python/Lib/email/mime/message.py +33 -0
  298. package/python/Lib/email/mime/multipart.py +47 -0
  299. package/python/Lib/email/mime/nonmultipart.py +21 -0
  300. package/python/Lib/email/mime/text.py +40 -0
  301. package/python/Lib/email/parser.py +127 -0
  302. package/python/Lib/email/policy.py +232 -0
  303. package/python/Lib/email/quoprimime.py +300 -0
  304. package/python/Lib/email/utils.py +497 -0
  305. package/python/Lib/encodings/__init__.py +179 -0
  306. package/python/Lib/encodings/__pycache__/__init__.cpython-313.pyc +0 -0
  307. package/python/Lib/encodings/__pycache__/aliases.cpython-313.pyc +0 -0
  308. package/python/Lib/encodings/__pycache__/cp1252.cpython-313.pyc +0 -0
  309. package/python/Lib/encodings/__pycache__/cp437.cpython-313.pyc +0 -0
  310. package/python/Lib/encodings/__pycache__/hex_codec.cpython-313.pyc +0 -0
  311. package/python/Lib/encodings/__pycache__/idna.cpython-313.pyc +0 -0
  312. package/python/Lib/encodings/__pycache__/utf_8.cpython-313.pyc +0 -0
  313. package/python/Lib/encodings/aliases.py +560 -0
  314. package/python/Lib/encodings/ascii.py +50 -0
  315. package/python/Lib/encodings/base64_codec.py +55 -0
  316. package/python/Lib/encodings/big5.py +39 -0
  317. package/python/Lib/encodings/big5hkscs.py +39 -0
  318. package/python/Lib/encodings/bz2_codec.py +78 -0
  319. package/python/Lib/encodings/charmap.py +69 -0
  320. package/python/Lib/encodings/cp037.py +307 -0
  321. package/python/Lib/encodings/cp1006.py +307 -0
  322. package/python/Lib/encodings/cp1026.py +307 -0
  323. package/python/Lib/encodings/cp1125.py +698 -0
  324. package/python/Lib/encodings/cp1140.py +307 -0
  325. package/python/Lib/encodings/cp1250.py +307 -0
  326. package/python/Lib/encodings/cp1251.py +307 -0
  327. package/python/Lib/encodings/cp1252.py +307 -0
  328. package/python/Lib/encodings/cp1253.py +307 -0
  329. package/python/Lib/encodings/cp1254.py +307 -0
  330. package/python/Lib/encodings/cp1255.py +307 -0
  331. package/python/Lib/encodings/cp1256.py +307 -0
  332. package/python/Lib/encodings/cp1257.py +307 -0
  333. package/python/Lib/encodings/cp1258.py +307 -0
  334. package/python/Lib/encodings/cp273.py +307 -0
  335. package/python/Lib/encodings/cp424.py +307 -0
  336. package/python/Lib/encodings/cp437.py +698 -0
  337. package/python/Lib/encodings/cp500.py +307 -0
  338. package/python/Lib/encodings/cp720.py +309 -0
  339. package/python/Lib/encodings/cp737.py +698 -0
  340. package/python/Lib/encodings/cp775.py +697 -0
  341. package/python/Lib/encodings/cp850.py +698 -0
  342. package/python/Lib/encodings/cp852.py +698 -0
  343. package/python/Lib/encodings/cp855.py +698 -0
  344. package/python/Lib/encodings/cp856.py +307 -0
  345. package/python/Lib/encodings/cp857.py +694 -0
  346. package/python/Lib/encodings/cp858.py +698 -0
  347. package/python/Lib/encodings/cp860.py +698 -0
  348. package/python/Lib/encodings/cp861.py +698 -0
  349. package/python/Lib/encodings/cp862.py +698 -0
  350. package/python/Lib/encodings/cp863.py +698 -0
  351. package/python/Lib/encodings/cp864.py +690 -0
  352. package/python/Lib/encodings/cp865.py +698 -0
  353. package/python/Lib/encodings/cp866.py +698 -0
  354. package/python/Lib/encodings/cp869.py +689 -0
  355. package/python/Lib/encodings/cp874.py +307 -0
  356. package/python/Lib/encodings/cp875.py +307 -0
  357. package/python/Lib/encodings/cp932.py +39 -0
  358. package/python/Lib/encodings/cp949.py +39 -0
  359. package/python/Lib/encodings/cp950.py +39 -0
  360. package/python/Lib/encodings/euc_jis_2004.py +39 -0
  361. package/python/Lib/encodings/euc_jisx0213.py +39 -0
  362. package/python/Lib/encodings/euc_jp.py +39 -0
  363. package/python/Lib/encodings/euc_kr.py +39 -0
  364. package/python/Lib/encodings/gb18030.py +39 -0
  365. package/python/Lib/encodings/gb2312.py +39 -0
  366. package/python/Lib/encodings/gbk.py +39 -0
  367. package/python/Lib/encodings/hex_codec.py +55 -0
  368. package/python/Lib/encodings/hp_roman8.py +314 -0
  369. package/python/Lib/encodings/hz.py +39 -0
  370. package/python/Lib/encodings/idna.py +387 -0
  371. package/python/Lib/encodings/iso2022_jp.py +39 -0
  372. package/python/Lib/encodings/iso2022_jp_1.py +39 -0
  373. package/python/Lib/encodings/iso2022_jp_2.py +39 -0
  374. package/python/Lib/encodings/iso2022_jp_2004.py +39 -0
  375. package/python/Lib/encodings/iso2022_jp_3.py +39 -0
  376. package/python/Lib/encodings/iso2022_jp_ext.py +39 -0
  377. package/python/Lib/encodings/iso2022_kr.py +39 -0
  378. package/python/Lib/encodings/iso8859_1.py +307 -0
  379. package/python/Lib/encodings/iso8859_10.py +307 -0
  380. package/python/Lib/encodings/iso8859_11.py +307 -0
  381. package/python/Lib/encodings/iso8859_13.py +307 -0
  382. package/python/Lib/encodings/iso8859_14.py +307 -0
  383. package/python/Lib/encodings/iso8859_15.py +307 -0
  384. package/python/Lib/encodings/iso8859_16.py +307 -0
  385. package/python/Lib/encodings/iso8859_2.py +307 -0
  386. package/python/Lib/encodings/iso8859_3.py +307 -0
  387. package/python/Lib/encodings/iso8859_4.py +307 -0
  388. package/python/Lib/encodings/iso8859_5.py +307 -0
  389. package/python/Lib/encodings/iso8859_6.py +307 -0
  390. package/python/Lib/encodings/iso8859_7.py +307 -0
  391. package/python/Lib/encodings/iso8859_8.py +307 -0
  392. package/python/Lib/encodings/iso8859_9.py +307 -0
  393. package/python/Lib/encodings/johab.py +39 -0
  394. package/python/Lib/encodings/koi8_r.py +307 -0
  395. package/python/Lib/encodings/koi8_t.py +308 -0
  396. package/python/Lib/encodings/koi8_u.py +307 -0
  397. package/python/Lib/encodings/kz1048.py +307 -0
  398. package/python/Lib/encodings/latin_1.py +50 -0
  399. package/python/Lib/encodings/mac_arabic.py +698 -0
  400. package/python/Lib/encodings/mac_croatian.py +307 -0
  401. package/python/Lib/encodings/mac_cyrillic.py +307 -0
  402. package/python/Lib/encodings/mac_farsi.py +307 -0
  403. package/python/Lib/encodings/mac_greek.py +307 -0
  404. package/python/Lib/encodings/mac_iceland.py +307 -0
  405. package/python/Lib/encodings/mac_latin2.py +312 -0
  406. package/python/Lib/encodings/mac_roman.py +307 -0
  407. package/python/Lib/encodings/mac_romanian.py +307 -0
  408. package/python/Lib/encodings/mac_turkish.py +307 -0
  409. package/python/Lib/encodings/mbcs.py +47 -0
  410. package/python/Lib/encodings/oem.py +41 -0
  411. package/python/Lib/encodings/palmos.py +308 -0
  412. package/python/Lib/encodings/ptcp154.py +312 -0
  413. package/python/Lib/encodings/punycode.py +253 -0
  414. package/python/Lib/encodings/quopri_codec.py +56 -0
  415. package/python/Lib/encodings/raw_unicode_escape.py +46 -0
  416. package/python/Lib/encodings/rot_13.py +113 -0
  417. package/python/Lib/encodings/shift_jis.py +39 -0
  418. package/python/Lib/encodings/shift_jis_2004.py +39 -0
  419. package/python/Lib/encodings/shift_jisx0213.py +39 -0
  420. package/python/Lib/encodings/tis_620.py +307 -0
  421. package/python/Lib/encodings/undefined.py +49 -0
  422. package/python/Lib/encodings/unicode_escape.py +46 -0
  423. package/python/Lib/encodings/utf_16.py +155 -0
  424. package/python/Lib/encodings/utf_16_be.py +42 -0
  425. package/python/Lib/encodings/utf_16_le.py +42 -0
  426. package/python/Lib/encodings/utf_32.py +150 -0
  427. package/python/Lib/encodings/utf_32_be.py +37 -0
  428. package/python/Lib/encodings/utf_32_le.py +37 -0
  429. package/python/Lib/encodings/utf_7.py +38 -0
  430. package/python/Lib/encodings/utf_8.py +42 -0
  431. package/python/Lib/encodings/utf_8_sig.py +130 -0
  432. package/python/Lib/encodings/uu_codec.py +103 -0
  433. package/python/Lib/encodings/zlib_codec.py +77 -0
  434. package/python/Lib/enum.py +2183 -0
  435. package/python/Lib/filecmp.py +320 -0
  436. package/python/Lib/fileinput.py +442 -0
  437. package/python/Lib/fnmatch.py +192 -0
  438. package/python/Lib/fractions.py +1043 -0
  439. package/python/Lib/ftplib.py +975 -0
  440. package/python/Lib/functools.py +1036 -0
  441. package/python/Lib/genericpath.py +200 -0
  442. package/python/Lib/getopt.py +215 -0
  443. package/python/Lib/getpass.py +192 -0
  444. package/python/Lib/gettext.py +657 -0
  445. package/python/Lib/glob.py +572 -0
  446. package/python/Lib/graphlib.py +250 -0
  447. package/python/Lib/gzip.py +693 -0
  448. package/python/Lib/hashlib.py +255 -0
  449. package/python/Lib/heapq.py +603 -0
  450. package/python/Lib/hmac.py +220 -0
  451. package/python/Lib/html/__init__.py +132 -0
  452. package/python/Lib/html/__pycache__/__init__.cpython-313.pyc +0 -0
  453. package/python/Lib/html/__pycache__/entities.cpython-313.pyc +0 -0
  454. package/python/Lib/html/__pycache__/parser.cpython-313.pyc +0 -0
  455. package/python/Lib/html/entities.py +2513 -0
  456. package/python/Lib/html/parser.py +583 -0
  457. package/python/Lib/http/__init__.py +202 -0
  458. package/python/Lib/http/__pycache__/__init__.cpython-313.pyc +0 -0
  459. package/python/Lib/http/__pycache__/client.cpython-313.pyc +0 -0
  460. package/python/Lib/http/__pycache__/cookiejar.cpython-313.pyc +0 -0
  461. package/python/Lib/http/__pycache__/cookies.cpython-313.pyc +0 -0
  462. package/python/Lib/http/client.py +1598 -0
  463. package/python/Lib/http/cookiejar.py +2122 -0
  464. package/python/Lib/http/cookies.py +635 -0
  465. package/python/Lib/http/server.py +1355 -0
  466. package/python/Lib/imaplib.py +1769 -0
  467. package/python/Lib/importlib/__init__.py +136 -0
  468. package/python/Lib/importlib/__pycache__/__init__.cpython-313.pyc +0 -0
  469. package/python/Lib/importlib/__pycache__/_abc.cpython-313.pyc +0 -0
  470. package/python/Lib/importlib/__pycache__/abc.cpython-313.pyc +0 -0
  471. package/python/Lib/importlib/__pycache__/readers.cpython-313.pyc +0 -0
  472. package/python/Lib/importlib/_abc.py +39 -0
  473. package/python/Lib/importlib/_bootstrap.py +1559 -0
  474. package/python/Lib/importlib/_bootstrap_external.py +1826 -0
  475. package/python/Lib/importlib/abc.py +243 -0
  476. package/python/Lib/importlib/machinery.py +21 -0
  477. package/python/Lib/importlib/metadata/__init__.py +1093 -0
  478. package/python/Lib/importlib/metadata/__pycache__/__init__.cpython-313.pyc +0 -0
  479. package/python/Lib/importlib/metadata/__pycache__/_adapters.cpython-313.pyc +0 -0
  480. package/python/Lib/importlib/metadata/__pycache__/_collections.cpython-313.pyc +0 -0
  481. package/python/Lib/importlib/metadata/__pycache__/_functools.cpython-313.pyc +0 -0
  482. package/python/Lib/importlib/metadata/__pycache__/_itertools.cpython-313.pyc +0 -0
  483. package/python/Lib/importlib/metadata/__pycache__/_meta.cpython-313.pyc +0 -0
  484. package/python/Lib/importlib/metadata/__pycache__/_text.cpython-313.pyc +0 -0
  485. package/python/Lib/importlib/metadata/_adapters.py +89 -0
  486. package/python/Lib/importlib/metadata/_collections.py +30 -0
  487. package/python/Lib/importlib/metadata/_functools.py +104 -0
  488. package/python/Lib/importlib/metadata/_itertools.py +73 -0
  489. package/python/Lib/importlib/metadata/_meta.py +67 -0
  490. package/python/Lib/importlib/metadata/_text.py +99 -0
  491. package/python/Lib/importlib/metadata/diagnose.py +21 -0
  492. package/python/Lib/importlib/readers.py +12 -0
  493. package/python/Lib/importlib/resources/__init__.py +43 -0
  494. package/python/Lib/importlib/resources/__pycache__/__init__.cpython-313.pyc +0 -0
  495. package/python/Lib/importlib/resources/__pycache__/_adapters.cpython-313.pyc +0 -0
  496. package/python/Lib/importlib/resources/__pycache__/_common.cpython-313.pyc +0 -0
  497. package/python/Lib/importlib/resources/__pycache__/_functional.cpython-313.pyc +0 -0
  498. package/python/Lib/importlib/resources/__pycache__/_itertools.cpython-313.pyc +0 -0
  499. package/python/Lib/importlib/resources/__pycache__/abc.cpython-313.pyc +0 -0
  500. package/python/Lib/importlib/resources/__pycache__/readers.cpython-313.pyc +0 -0
  501. package/python/Lib/importlib/resources/_adapters.py +168 -0
  502. package/python/Lib/importlib/resources/_common.py +211 -0
  503. package/python/Lib/importlib/resources/_functional.py +81 -0
  504. package/python/Lib/importlib/resources/_itertools.py +38 -0
  505. package/python/Lib/importlib/resources/abc.py +173 -0
  506. package/python/Lib/importlib/resources/readers.py +203 -0
  507. package/python/Lib/importlib/resources/simple.py +106 -0
  508. package/python/Lib/importlib/simple.py +14 -0
  509. package/python/Lib/importlib/util.py +274 -0
  510. package/python/Lib/inspect.py +3479 -0
  511. package/python/Lib/io.py +99 -0
  512. package/python/Lib/ipaddress.py +2440 -0
  513. package/python/Lib/json/__init__.py +365 -0
  514. package/python/Lib/json/__pycache__/__init__.cpython-313.pyc +0 -0
  515. package/python/Lib/json/__pycache__/decoder.cpython-313.pyc +0 -0
  516. package/python/Lib/json/__pycache__/encoder.cpython-313.pyc +0 -0
  517. package/python/Lib/json/__pycache__/scanner.cpython-313.pyc +0 -0
  518. package/python/Lib/json/decoder.py +364 -0
  519. package/python/Lib/json/encoder.py +446 -0
  520. package/python/Lib/json/scanner.py +73 -0
  521. package/python/Lib/json/tool.py +90 -0
  522. package/python/Lib/keyword.py +64 -0
  523. package/python/Lib/linecache.py +236 -0
  524. package/python/Lib/locale.py +1987 -0
  525. package/python/Lib/logging/__init__.py +2330 -0
  526. package/python/Lib/logging/__pycache__/__init__.cpython-313.pyc +0 -0
  527. package/python/Lib/logging/__pycache__/config.cpython-313.pyc +0 -0
  528. package/python/Lib/logging/__pycache__/handlers.cpython-313.pyc +0 -0
  529. package/python/Lib/logging/config.py +1080 -0
  530. package/python/Lib/logging/handlers.py +1629 -0
  531. package/python/Lib/lzma.py +364 -0
  532. package/python/Lib/mailbox.py +2219 -0
  533. package/python/Lib/mimetypes.py +679 -0
  534. package/python/Lib/modulefinder.py +671 -0
  535. package/python/Lib/multiprocessing/__init__.py +37 -0
  536. package/python/Lib/multiprocessing/connection.py +1216 -0
  537. package/python/Lib/multiprocessing/context.py +383 -0
  538. package/python/Lib/multiprocessing/dummy/__init__.py +126 -0
  539. package/python/Lib/multiprocessing/dummy/connection.py +75 -0
  540. package/python/Lib/multiprocessing/forkserver.py +373 -0
  541. package/python/Lib/multiprocessing/heap.py +337 -0
  542. package/python/Lib/multiprocessing/managers.py +1397 -0
  543. package/python/Lib/multiprocessing/pool.py +957 -0
  544. package/python/Lib/multiprocessing/popen_fork.py +97 -0
  545. package/python/Lib/multiprocessing/popen_forkserver.py +74 -0
  546. package/python/Lib/multiprocessing/popen_spawn_posix.py +76 -0
  547. package/python/Lib/multiprocessing/popen_spawn_win32.py +147 -0
  548. package/python/Lib/multiprocessing/process.py +436 -0
  549. package/python/Lib/multiprocessing/queues.py +399 -0
  550. package/python/Lib/multiprocessing/reduction.py +281 -0
  551. package/python/Lib/multiprocessing/resource_sharer.py +154 -0
  552. package/python/Lib/multiprocessing/resource_tracker.py +499 -0
  553. package/python/Lib/multiprocessing/shared_memory.py +544 -0
  554. package/python/Lib/multiprocessing/sharedctypes.py +240 -0
  555. package/python/Lib/multiprocessing/spawn.py +307 -0
  556. package/python/Lib/multiprocessing/synchronize.py +404 -0
  557. package/python/Lib/multiprocessing/util.py +562 -0
  558. package/python/Lib/netrc.py +199 -0
  559. package/python/Lib/ntpath.py +872 -0
  560. package/python/Lib/nturl2path.py +69 -0
  561. package/python/Lib/numbers.py +427 -0
  562. package/python/Lib/opcode.py +115 -0
  563. package/python/Lib/operator.py +467 -0
  564. package/python/Lib/optparse.py +1681 -0
  565. package/python/Lib/os.py +1184 -0
  566. package/python/Lib/pathlib/__init__.py +12 -0
  567. package/python/Lib/pathlib/__pycache__/__init__.cpython-313.pyc +0 -0
  568. package/python/Lib/pathlib/__pycache__/_abc.cpython-313.pyc +0 -0
  569. package/python/Lib/pathlib/__pycache__/_local.cpython-313.pyc +0 -0
  570. package/python/Lib/pathlib/_abc.py +930 -0
  571. package/python/Lib/pathlib/_local.py +861 -0
  572. package/python/Lib/pdb.py +2550 -0
  573. package/python/Lib/pickle.py +1860 -0
  574. package/python/Lib/pickletools.py +2904 -0
  575. package/python/Lib/pkgutil.py +529 -0
  576. package/python/Lib/platform.py +1454 -0
  577. package/python/Lib/plistlib.py +948 -0
  578. package/python/Lib/poplib.py +477 -0
  579. package/python/Lib/posixpath.py +578 -0
  580. package/python/Lib/pprint.py +658 -0
  581. package/python/Lib/profile.py +616 -0
  582. package/python/Lib/pstats.py +778 -0
  583. package/python/Lib/pty.py +211 -0
  584. package/python/Lib/py_compile.py +212 -0
  585. package/python/Lib/pyclbr.py +314 -0
  586. package/python/Lib/pydoc.py +2861 -0
  587. package/python/Lib/queue.py +383 -0
  588. package/python/Lib/quopri.py +237 -0
  589. package/python/Lib/random.py +1078 -0
  590. package/python/Lib/re/__init__.py +428 -0
  591. package/python/Lib/re/__pycache__/__init__.cpython-313.pyc +0 -0
  592. package/python/Lib/re/__pycache__/_casefix.cpython-313.pyc +0 -0
  593. package/python/Lib/re/__pycache__/_compiler.cpython-313.pyc +0 -0
  594. package/python/Lib/re/__pycache__/_constants.cpython-313.pyc +0 -0
  595. package/python/Lib/re/__pycache__/_parser.cpython-313.pyc +0 -0
  596. package/python/Lib/re/_casefix.py +106 -0
  597. package/python/Lib/re/_compiler.py +768 -0
  598. package/python/Lib/re/_constants.py +222 -0
  599. package/python/Lib/re/_parser.py +1081 -0
  600. package/python/Lib/reprlib.py +230 -0
  601. package/python/Lib/rlcompleter.py +222 -0
  602. package/python/Lib/runpy.py +326 -0
  603. package/python/Lib/sched.py +167 -0
  604. package/python/Lib/secrets.py +71 -0
  605. package/python/Lib/selectors.py +603 -0
  606. package/python/Lib/shelve.py +250 -0
  607. package/python/Lib/shlex.py +345 -0
  608. package/python/Lib/shutil.py +1569 -0
  609. package/python/Lib/signal.py +94 -0
  610. package/python/Lib/site.py +773 -0
  611. package/python/Lib/smtplib.py +1123 -0
  612. package/python/Lib/socket.py +988 -0
  613. package/python/Lib/socketserver.py +863 -0
  614. package/python/Lib/sqlite3/__init__.py +70 -0
  615. package/python/Lib/sqlite3/__main__.py +139 -0
  616. package/python/Lib/sqlite3/dbapi2.py +108 -0
  617. package/python/Lib/sqlite3/dump.py +118 -0
  618. package/python/Lib/sre_compile.py +7 -0
  619. package/python/Lib/sre_constants.py +7 -0
  620. package/python/Lib/sre_parse.py +7 -0
  621. package/python/Lib/ssl.py +1529 -0
  622. package/python/Lib/stat.py +212 -0
  623. package/python/Lib/statistics.py +1817 -0
  624. package/python/Lib/string.py +314 -0
  625. package/python/Lib/stringprep.py +272 -0
  626. package/python/Lib/struct.py +15 -0
  627. package/python/Lib/subprocess.py +2258 -0
  628. package/python/Lib/symtable.py +414 -0
  629. package/python/Lib/sysconfig/__init__.py +734 -0
  630. package/python/Lib/sysconfig/__main__.py +248 -0
  631. package/python/Lib/sysconfig/__pycache__/__init__.cpython-313.pyc +0 -0
  632. package/python/Lib/tabnanny.py +340 -0
  633. package/python/Lib/tarfile.py +3136 -0
  634. package/python/Lib/tempfile.py +958 -0
  635. package/python/Lib/textwrap.py +497 -0
  636. package/python/Lib/this.py +28 -0
  637. package/python/Lib/threading.py +1602 -0
  638. package/python/Lib/timeit.py +381 -0
  639. package/python/Lib/token.py +141 -0
  640. package/python/Lib/tokenize.py +592 -0
  641. package/python/Lib/tomllib/__init__.py +10 -0
  642. package/python/Lib/tomllib/__pycache__/__init__.cpython-313.pyc +0 -0
  643. package/python/Lib/tomllib/__pycache__/_parser.cpython-313.pyc +0 -0
  644. package/python/Lib/tomllib/__pycache__/_re.cpython-313.pyc +0 -0
  645. package/python/Lib/tomllib/__pycache__/_types.cpython-313.pyc +0 -0
  646. package/python/Lib/tomllib/_parser.py +703 -0
  647. package/python/Lib/tomllib/_re.py +107 -0
  648. package/python/Lib/tomllib/_types.py +10 -0
  649. package/python/Lib/tomllib/mypy.ini +15 -0
  650. package/python/Lib/trace.py +754 -0
  651. package/python/Lib/traceback.py +1639 -0
  652. package/python/Lib/tracemalloc.py +560 -0
  653. package/python/Lib/tty.py +73 -0
  654. package/python/Lib/types.py +346 -0
  655. package/python/Lib/typing.py +3846 -0
  656. package/python/Lib/unittest/__init__.py +80 -0
  657. package/python/Lib/unittest/__main__.py +18 -0
  658. package/python/Lib/unittest/_log.py +86 -0
  659. package/python/Lib/unittest/async_case.py +146 -0
  660. package/python/Lib/unittest/case.py +1478 -0
  661. package/python/Lib/unittest/loader.py +460 -0
  662. package/python/Lib/unittest/main.py +280 -0
  663. package/python/Lib/unittest/mock.py +3189 -0
  664. package/python/Lib/unittest/result.py +256 -0
  665. package/python/Lib/unittest/runner.py +292 -0
  666. package/python/Lib/unittest/signals.py +71 -0
  667. package/python/Lib/unittest/suite.py +379 -0
  668. package/python/Lib/unittest/util.py +170 -0
  669. package/python/Lib/urllib/__init__.py +0 -0
  670. package/python/Lib/urllib/__pycache__/__init__.cpython-313.pyc +0 -0
  671. package/python/Lib/urllib/__pycache__/error.cpython-313.pyc +0 -0
  672. package/python/Lib/urllib/__pycache__/parse.cpython-313.pyc +0 -0
  673. package/python/Lib/urllib/__pycache__/request.cpython-313.pyc +0 -0
  674. package/python/Lib/urllib/__pycache__/response.cpython-313.pyc +0 -0
  675. package/python/Lib/urllib/error.py +74 -0
  676. package/python/Lib/urllib/parse.py +1264 -0
  677. package/python/Lib/urllib/request.py +2796 -0
  678. package/python/Lib/urllib/response.py +84 -0
  679. package/python/Lib/urllib/robotparser.py +363 -0
  680. package/python/Lib/uuid.py +784 -0
  681. package/python/Lib/warnings.py +735 -0
  682. package/python/Lib/wave.py +665 -0
  683. package/python/Lib/weakref.py +674 -0
  684. package/python/Lib/webbrowser.py +724 -0
  685. package/python/Lib/wsgiref/__init__.py +25 -0
  686. package/python/Lib/wsgiref/handlers.py +575 -0
  687. package/python/Lib/wsgiref/headers.py +192 -0
  688. package/python/Lib/wsgiref/simple_server.py +161 -0
  689. package/python/Lib/wsgiref/types.py +54 -0
  690. package/python/Lib/wsgiref/util.py +159 -0
  691. package/python/Lib/wsgiref/validate.py +438 -0
  692. package/python/Lib/xml/__init__.py +20 -0
  693. package/python/Lib/xml/__pycache__/__init__.cpython-313.pyc +0 -0
  694. package/python/Lib/xml/dom/NodeFilter.py +27 -0
  695. package/python/Lib/xml/dom/__init__.py +140 -0
  696. package/python/Lib/xml/dom/domreg.py +99 -0
  697. package/python/Lib/xml/dom/expatbuilder.py +962 -0
  698. package/python/Lib/xml/dom/minicompat.py +109 -0
  699. package/python/Lib/xml/dom/minidom.py +2024 -0
  700. package/python/Lib/xml/dom/pulldom.py +336 -0
  701. package/python/Lib/xml/dom/xmlbuilder.py +389 -0
  702. package/python/Lib/xml/etree/ElementInclude.py +186 -0
  703. package/python/Lib/xml/etree/ElementPath.py +430 -0
  704. package/python/Lib/xml/etree/ElementTree.py +2116 -0
  705. package/python/Lib/xml/etree/__init__.py +33 -0
  706. package/python/Lib/xml/etree/cElementTree.py +3 -0
  707. package/python/Lib/xml/parsers/__init__.py +8 -0
  708. package/python/Lib/xml/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  709. package/python/Lib/xml/parsers/__pycache__/expat.cpython-313.pyc +0 -0
  710. package/python/Lib/xml/parsers/expat.py +8 -0
  711. package/python/Lib/xml/sax/__init__.py +94 -0
  712. package/python/Lib/xml/sax/_exceptions.py +127 -0
  713. package/python/Lib/xml/sax/expatreader.py +454 -0
  714. package/python/Lib/xml/sax/handler.py +387 -0
  715. package/python/Lib/xml/sax/saxutils.py +369 -0
  716. package/python/Lib/xml/sax/xmlreader.py +378 -0
  717. package/python/Lib/xmlrpc/__init__.py +1 -0
  718. package/python/Lib/xmlrpc/__pycache__/__init__.cpython-313.pyc +0 -0
  719. package/python/Lib/xmlrpc/__pycache__/client.cpython-313.pyc +0 -0
  720. package/python/Lib/xmlrpc/client.py +1503 -0
  721. package/python/Lib/xmlrpc/server.py +1002 -0
  722. package/python/Lib/zipapp.py +229 -0
  723. package/python/Lib/zipfile/__init__.py +2391 -0
  724. package/python/Lib/zipfile/__main__.py +4 -0
  725. package/python/Lib/zipfile/__pycache__/__init__.cpython-313.pyc +0 -0
  726. package/python/Lib/zipfile/_path/__init__.py +452 -0
  727. package/python/Lib/zipfile/_path/__pycache__/__init__.cpython-313.pyc +0 -0
  728. package/python/Lib/zipfile/_path/__pycache__/glob.cpython-313.pyc +0 -0
  729. package/python/Lib/zipfile/_path/glob.py +113 -0
  730. package/python/Lib/zipimport.py +803 -0
  731. package/python/Lib/zoneinfo/__init__.py +34 -0
  732. package/python/Lib/zoneinfo/_common.py +172 -0
  733. package/python/Lib/zoneinfo/_tzpath.py +189 -0
  734. package/python/Lib/zoneinfo/_zoneinfo.py +779 -0
  735. package/python/licenses/LICENSE.bdb.txt +126 -0
  736. package/python/licenses/LICENSE.bzip2.txt +37 -0
  737. package/python/licenses/LICENSE.cpython.txt +771 -0
  738. package/python/licenses/LICENSE.expat.txt +21 -0
  739. package/python/licenses/LICENSE.libX11.txt +942 -0
  740. package/python/licenses/LICENSE.libXau.txt +21 -0
  741. package/python/licenses/LICENSE.libedit.txt +29 -0
  742. package/python/licenses/LICENSE.libffi.txt +21 -0
  743. package/python/licenses/LICENSE.liblzma.txt +13 -0
  744. package/python/licenses/LICENSE.libuuid.txt +27 -0
  745. package/python/licenses/LICENSE.libxcb.txt +30 -0
  746. package/python/licenses/LICENSE.mpdecimal.txt +24 -0
  747. package/python/licenses/LICENSE.ncurses.txt +29 -0
  748. package/python/licenses/LICENSE.openssl-1.1.txt +124 -0
  749. package/python/licenses/LICENSE.openssl-3.txt +177 -0
  750. package/python/licenses/LICENSE.sqlite.txt +23 -0
  751. package/python/licenses/LICENSE.tcl.txt +40 -0
  752. package/python/licenses/LICENSE.tix.txt +54 -0
  753. package/python/licenses/LICENSE.zlib.txt +21 -0
  754. package/python/python.exe +0 -0
  755. package/python/python3.dll +0 -0
  756. package/python/python313.dll +0 -0
  757. package/python/pythonw.exe +0 -0
  758. package/python/vcruntime140.dll +0 -0
  759. package/python/vcruntime140_1.dll +0 -0
@@ -0,0 +1,861 @@
1
+ import io
2
+ import ntpath
3
+ import operator
4
+ import os
5
+ import posixpath
6
+ import sys
7
+ import warnings
8
+ from glob import _StringGlobber
9
+ from itertools import chain
10
+ from _collections_abc import Sequence
11
+
12
+ try:
13
+ import pwd
14
+ except ImportError:
15
+ pwd = None
16
+ try:
17
+ import grp
18
+ except ImportError:
19
+ grp = None
20
+
21
+ from ._abc import UnsupportedOperation, PurePathBase, PathBase
22
+
23
+
24
+ __all__ = [
25
+ "PurePath", "PurePosixPath", "PureWindowsPath",
26
+ "Path", "PosixPath", "WindowsPath",
27
+ ]
28
+
29
+
30
+ class _PathParents(Sequence):
31
+ """This object provides sequence-like access to the logical ancestors
32
+ of a path. Don't try to construct it yourself."""
33
+ __slots__ = ('_path', '_drv', '_root', '_tail')
34
+
35
+ def __init__(self, path):
36
+ self._path = path
37
+ self._drv = path.drive
38
+ self._root = path.root
39
+ self._tail = path._tail
40
+
41
+ def __len__(self):
42
+ return len(self._tail)
43
+
44
+ def __getitem__(self, idx):
45
+ if isinstance(idx, slice):
46
+ return tuple(self[i] for i in range(*idx.indices(len(self))))
47
+
48
+ if idx >= len(self) or idx < -len(self):
49
+ raise IndexError(idx)
50
+ if idx < 0:
51
+ idx += len(self)
52
+ return self._path._from_parsed_parts(self._drv, self._root,
53
+ self._tail[:-idx - 1])
54
+
55
+ def __repr__(self):
56
+ return "<{}.parents>".format(type(self._path).__name__)
57
+
58
+
59
+ class PurePath(PurePathBase):
60
+ """Base class for manipulating paths without I/O.
61
+
62
+ PurePath represents a filesystem path and offers operations which
63
+ don't imply any actual filesystem I/O. Depending on your system,
64
+ instantiating a PurePath will return either a PurePosixPath or a
65
+ PureWindowsPath object. You can also instantiate either of these classes
66
+ directly, regardless of your system.
67
+ """
68
+
69
+ __slots__ = (
70
+ # The `_raw_paths` slot stores unnormalized string paths. This is set
71
+ # in the `__init__()` method.
72
+ '_raw_paths',
73
+
74
+ # The `_drv`, `_root` and `_tail_cached` slots store parsed and
75
+ # normalized parts of the path. They are set when any of the `drive`,
76
+ # `root` or `_tail` properties are accessed for the first time. The
77
+ # three-part division corresponds to the result of
78
+ # `os.path.splitroot()`, except that the tail is further split on path
79
+ # separators (i.e. it is a list of strings), and that the root and
80
+ # tail are normalized.
81
+ '_drv', '_root', '_tail_cached',
82
+
83
+ # The `_str` slot stores the string representation of the path,
84
+ # computed from the drive, root and tail when `__str__()` is called
85
+ # for the first time. It's used to implement `_str_normcase`
86
+ '_str',
87
+
88
+ # The `_str_normcase_cached` slot stores the string path with
89
+ # normalized case. It is set when the `_str_normcase` property is
90
+ # accessed for the first time. It's used to implement `__eq__()`
91
+ # `__hash__()`, and `_parts_normcase`
92
+ '_str_normcase_cached',
93
+
94
+ # The `_parts_normcase_cached` slot stores the case-normalized
95
+ # string path after splitting on path separators. It's set when the
96
+ # `_parts_normcase` property is accessed for the first time. It's used
97
+ # to implement comparison methods like `__lt__()`.
98
+ '_parts_normcase_cached',
99
+
100
+ # The `_hash` slot stores the hash of the case-normalized string
101
+ # path. It's set when `__hash__()` is called for the first time.
102
+ '_hash',
103
+ )
104
+ parser = os.path
105
+ _globber = _StringGlobber
106
+
107
+ def __new__(cls, *args, **kwargs):
108
+ """Construct a PurePath from one or several strings and or existing
109
+ PurePath objects. The strings and path objects are combined so as
110
+ to yield a canonicalized path, which is incorporated into the
111
+ new PurePath object.
112
+ """
113
+ if cls is PurePath:
114
+ cls = PureWindowsPath if os.name == 'nt' else PurePosixPath
115
+ return object.__new__(cls)
116
+
117
+ def __init__(self, *args):
118
+ paths = []
119
+ for arg in args:
120
+ if isinstance(arg, PurePath):
121
+ if arg.parser is not self.parser:
122
+ # GH-103631: Convert separators for backwards compatibility.
123
+ paths.append(arg.as_posix())
124
+ else:
125
+ paths.extend(arg._raw_paths)
126
+ else:
127
+ try:
128
+ path = os.fspath(arg)
129
+ except TypeError:
130
+ path = arg
131
+ if not isinstance(path, str):
132
+ raise TypeError(
133
+ "argument should be a str or an os.PathLike "
134
+ "object where __fspath__ returns a str, "
135
+ f"not {type(path).__name__!r}")
136
+ paths.append(path)
137
+ # Avoid calling super().__init__, as an optimisation
138
+ self._raw_paths = paths
139
+
140
+ def joinpath(self, *pathsegments):
141
+ """Combine this path with one or several arguments, and return a
142
+ new path representing either a subpath (if all arguments are relative
143
+ paths) or a totally different path (if one of the arguments is
144
+ anchored).
145
+ """
146
+ return self.with_segments(self, *pathsegments)
147
+
148
+ def __truediv__(self, key):
149
+ try:
150
+ return self.with_segments(self, key)
151
+ except TypeError:
152
+ return NotImplemented
153
+
154
+ def __rtruediv__(self, key):
155
+ try:
156
+ return self.with_segments(key, self)
157
+ except TypeError:
158
+ return NotImplemented
159
+
160
+ def __reduce__(self):
161
+ return self.__class__, tuple(self._raw_paths)
162
+
163
+ def __repr__(self):
164
+ return "{}({!r})".format(self.__class__.__name__, self.as_posix())
165
+
166
+ def __fspath__(self):
167
+ return str(self)
168
+
169
+ def __bytes__(self):
170
+ """Return the bytes representation of the path. This is only
171
+ recommended to use under Unix."""
172
+ return os.fsencode(self)
173
+
174
+ @property
175
+ def _str_normcase(self):
176
+ # String with normalized case, for hashing and equality checks
177
+ try:
178
+ return self._str_normcase_cached
179
+ except AttributeError:
180
+ if self.parser is posixpath:
181
+ self._str_normcase_cached = str(self)
182
+ else:
183
+ self._str_normcase_cached = str(self).lower()
184
+ return self._str_normcase_cached
185
+
186
+ def __hash__(self):
187
+ try:
188
+ return self._hash
189
+ except AttributeError:
190
+ self._hash = hash(self._str_normcase)
191
+ return self._hash
192
+
193
+ def __eq__(self, other):
194
+ if not isinstance(other, PurePath):
195
+ return NotImplemented
196
+ return self._str_normcase == other._str_normcase and self.parser is other.parser
197
+
198
+ @property
199
+ def _parts_normcase(self):
200
+ # Cached parts with normalized case, for comparisons.
201
+ try:
202
+ return self._parts_normcase_cached
203
+ except AttributeError:
204
+ self._parts_normcase_cached = self._str_normcase.split(self.parser.sep)
205
+ return self._parts_normcase_cached
206
+
207
+ def __lt__(self, other):
208
+ if not isinstance(other, PurePath) or self.parser is not other.parser:
209
+ return NotImplemented
210
+ return self._parts_normcase < other._parts_normcase
211
+
212
+ def __le__(self, other):
213
+ if not isinstance(other, PurePath) or self.parser is not other.parser:
214
+ return NotImplemented
215
+ return self._parts_normcase <= other._parts_normcase
216
+
217
+ def __gt__(self, other):
218
+ if not isinstance(other, PurePath) or self.parser is not other.parser:
219
+ return NotImplemented
220
+ return self._parts_normcase > other._parts_normcase
221
+
222
+ def __ge__(self, other):
223
+ if not isinstance(other, PurePath) or self.parser is not other.parser:
224
+ return NotImplemented
225
+ return self._parts_normcase >= other._parts_normcase
226
+
227
+ def __str__(self):
228
+ """Return the string representation of the path, suitable for
229
+ passing to system calls."""
230
+ try:
231
+ return self._str
232
+ except AttributeError:
233
+ self._str = self._format_parsed_parts(self.drive, self.root,
234
+ self._tail) or '.'
235
+ return self._str
236
+
237
+ @classmethod
238
+ def _format_parsed_parts(cls, drv, root, tail):
239
+ if drv or root:
240
+ return drv + root + cls.parser.sep.join(tail)
241
+ elif tail and cls.parser.splitdrive(tail[0])[0]:
242
+ tail = ['.'] + tail
243
+ return cls.parser.sep.join(tail)
244
+
245
+ def _from_parsed_parts(self, drv, root, tail):
246
+ path = self._from_parsed_string(self._format_parsed_parts(drv, root, tail))
247
+ path._drv = drv
248
+ path._root = root
249
+ path._tail_cached = tail
250
+ return path
251
+
252
+ def _from_parsed_string(self, path_str):
253
+ path = self.with_segments(path_str)
254
+ path._str = path_str or '.'
255
+ return path
256
+
257
+ @classmethod
258
+ def _parse_path(cls, path):
259
+ if not path:
260
+ return '', '', []
261
+ sep = cls.parser.sep
262
+ altsep = cls.parser.altsep
263
+ if altsep:
264
+ path = path.replace(altsep, sep)
265
+ drv, root, rel = cls.parser.splitroot(path)
266
+ if not root and drv.startswith(sep) and not drv.endswith(sep):
267
+ drv_parts = drv.split(sep)
268
+ if len(drv_parts) == 4 and drv_parts[2] not in '?.':
269
+ # e.g. //server/share
270
+ root = sep
271
+ elif len(drv_parts) == 6:
272
+ # e.g. //?/unc/server/share
273
+ root = sep
274
+ parsed = [sys.intern(str(x)) for x in rel.split(sep) if x and x != '.']
275
+ return drv, root, parsed
276
+
277
+ @property
278
+ def _raw_path(self):
279
+ """The joined but unnormalized path."""
280
+ paths = self._raw_paths
281
+ if len(paths) == 0:
282
+ path = ''
283
+ elif len(paths) == 1:
284
+ path = paths[0]
285
+ else:
286
+ path = self.parser.join(*paths)
287
+ return path
288
+
289
+ @property
290
+ def drive(self):
291
+ """The drive prefix (letter or UNC path), if any."""
292
+ try:
293
+ return self._drv
294
+ except AttributeError:
295
+ self._drv, self._root, self._tail_cached = self._parse_path(self._raw_path)
296
+ return self._drv
297
+
298
+ @property
299
+ def root(self):
300
+ """The root of the path, if any."""
301
+ try:
302
+ return self._root
303
+ except AttributeError:
304
+ self._drv, self._root, self._tail_cached = self._parse_path(self._raw_path)
305
+ return self._root
306
+
307
+ @property
308
+ def _tail(self):
309
+ try:
310
+ return self._tail_cached
311
+ except AttributeError:
312
+ self._drv, self._root, self._tail_cached = self._parse_path(self._raw_path)
313
+ return self._tail_cached
314
+
315
+ @property
316
+ def anchor(self):
317
+ """The concatenation of the drive and root, or ''."""
318
+ return self.drive + self.root
319
+
320
+ @property
321
+ def parts(self):
322
+ """An object providing sequence-like access to the
323
+ components in the filesystem path."""
324
+ if self.drive or self.root:
325
+ return (self.drive + self.root,) + tuple(self._tail)
326
+ else:
327
+ return tuple(self._tail)
328
+
329
+ @property
330
+ def parent(self):
331
+ """The logical parent of the path."""
332
+ drv = self.drive
333
+ root = self.root
334
+ tail = self._tail
335
+ if not tail:
336
+ return self
337
+ return self._from_parsed_parts(drv, root, tail[:-1])
338
+
339
+ @property
340
+ def parents(self):
341
+ """A sequence of this path's logical parents."""
342
+ # The value of this property should not be cached on the path object,
343
+ # as doing so would introduce a reference cycle.
344
+ return _PathParents(self)
345
+
346
+ @property
347
+ def name(self):
348
+ """The final path component, if any."""
349
+ tail = self._tail
350
+ if not tail:
351
+ return ''
352
+ return tail[-1]
353
+
354
+ def with_name(self, name):
355
+ """Return a new path with the file name changed."""
356
+ p = self.parser
357
+ if not name or p.sep in name or (p.altsep and p.altsep in name) or name == '.':
358
+ raise ValueError(f"Invalid name {name!r}")
359
+ tail = self._tail.copy()
360
+ if not tail:
361
+ raise ValueError(f"{self!r} has an empty name")
362
+ tail[-1] = name
363
+ return self._from_parsed_parts(self.drive, self.root, tail)
364
+
365
+ def relative_to(self, other, /, *_deprecated, walk_up=False):
366
+ """Return the relative path to another path identified by the passed
367
+ arguments. If the operation is not possible (because this is not
368
+ related to the other path), raise ValueError.
369
+
370
+ The *walk_up* parameter controls whether `..` may be used to resolve
371
+ the path.
372
+ """
373
+ if _deprecated:
374
+ msg = ("support for supplying more than one positional argument "
375
+ "to pathlib.PurePath.relative_to() is deprecated and "
376
+ "scheduled for removal in Python 3.14")
377
+ warnings.warn(msg, DeprecationWarning, stacklevel=2)
378
+ other = self.with_segments(other, *_deprecated)
379
+ elif not isinstance(other, PurePath):
380
+ other = self.with_segments(other)
381
+ for step, path in enumerate(chain([other], other.parents)):
382
+ if path == self or path in self.parents:
383
+ break
384
+ elif not walk_up:
385
+ raise ValueError(f"{str(self)!r} is not in the subpath of {str(other)!r}")
386
+ elif path.name == '..':
387
+ raise ValueError(f"'..' segment in {str(other)!r} cannot be walked")
388
+ else:
389
+ raise ValueError(f"{str(self)!r} and {str(other)!r} have different anchors")
390
+ parts = ['..'] * step + self._tail[len(path._tail):]
391
+ return self._from_parsed_parts('', '', parts)
392
+
393
+ def is_relative_to(self, other, /, *_deprecated):
394
+ """Return True if the path is relative to another path or False.
395
+ """
396
+ if _deprecated:
397
+ msg = ("support for supplying more than one argument to "
398
+ "pathlib.PurePath.is_relative_to() is deprecated and "
399
+ "scheduled for removal in Python 3.14")
400
+ warnings.warn(msg, DeprecationWarning, stacklevel=2)
401
+ other = self.with_segments(other, *_deprecated)
402
+ elif not isinstance(other, PurePath):
403
+ other = self.with_segments(other)
404
+ return other == self or other in self.parents
405
+
406
+ def is_absolute(self):
407
+ """True if the path is absolute (has both a root and, if applicable,
408
+ a drive)."""
409
+ if self.parser is posixpath:
410
+ # Optimization: work with raw paths on POSIX.
411
+ for path in self._raw_paths:
412
+ if path.startswith('/'):
413
+ return True
414
+ return False
415
+ return self.parser.isabs(self)
416
+
417
+ def is_reserved(self):
418
+ """Return True if the path contains one of the special names reserved
419
+ by the system, if any."""
420
+ msg = ("pathlib.PurePath.is_reserved() is deprecated and scheduled "
421
+ "for removal in Python 3.15. Use os.path.isreserved() to "
422
+ "detect reserved paths on Windows.")
423
+ warnings.warn(msg, DeprecationWarning, stacklevel=2)
424
+ if self.parser is ntpath:
425
+ return self.parser.isreserved(self)
426
+ return False
427
+
428
+ def as_uri(self):
429
+ """Return the path as a URI."""
430
+ if not self.is_absolute():
431
+ raise ValueError("relative path can't be expressed as a file URI")
432
+
433
+ drive = self.drive
434
+ if len(drive) == 2 and drive[1] == ':':
435
+ # It's a path on a local drive => 'file:///c:/a/b'
436
+ prefix = 'file:///' + drive
437
+ path = self.as_posix()[2:]
438
+ elif drive:
439
+ # It's a path on a network drive => 'file://host/share/a/b'
440
+ prefix = 'file:'
441
+ path = self.as_posix()
442
+ else:
443
+ # It's a posix path => 'file:///etc/hosts'
444
+ prefix = 'file://'
445
+ path = str(self)
446
+ from urllib.parse import quote_from_bytes
447
+ return prefix + quote_from_bytes(os.fsencode(path))
448
+
449
+ @property
450
+ def _pattern_str(self):
451
+ """The path expressed as a string, for use in pattern-matching."""
452
+ # The string representation of an empty path is a single dot ('.'). Empty
453
+ # paths shouldn't match wildcards, so we change it to the empty string.
454
+ path_str = str(self)
455
+ return '' if path_str == '.' else path_str
456
+
457
+ # Subclassing os.PathLike makes isinstance() checks slower,
458
+ # which in turn makes Path construction slower. Register instead!
459
+ os.PathLike.register(PurePath)
460
+
461
+
462
+ class PurePosixPath(PurePath):
463
+ """PurePath subclass for non-Windows systems.
464
+
465
+ On a POSIX system, instantiating a PurePath should return this object.
466
+ However, you can also instantiate it directly on any system.
467
+ """
468
+ parser = posixpath
469
+ __slots__ = ()
470
+
471
+
472
+ class PureWindowsPath(PurePath):
473
+ """PurePath subclass for Windows systems.
474
+
475
+ On a Windows system, instantiating a PurePath should return this object.
476
+ However, you can also instantiate it directly on any system.
477
+ """
478
+ parser = ntpath
479
+ __slots__ = ()
480
+
481
+
482
+ class Path(PathBase, PurePath):
483
+ """PurePath subclass that can make system calls.
484
+
485
+ Path represents a filesystem path but unlike PurePath, also offers
486
+ methods to do system calls on path objects. Depending on your system,
487
+ instantiating a Path will return either a PosixPath or a WindowsPath
488
+ object. You can also instantiate a PosixPath or WindowsPath directly,
489
+ but cannot instantiate a WindowsPath on a POSIX system or vice versa.
490
+ """
491
+ __slots__ = ()
492
+ as_uri = PurePath.as_uri
493
+
494
+ @classmethod
495
+ def _unsupported_msg(cls, attribute):
496
+ return f"{cls.__name__}.{attribute} is unsupported on this system"
497
+
498
+ def __init__(self, *args, **kwargs):
499
+ if kwargs:
500
+ msg = ("support for supplying keyword arguments to pathlib.PurePath "
501
+ "is deprecated and scheduled for removal in Python {remove}")
502
+ warnings._deprecated("pathlib.PurePath(**kwargs)", msg, remove=(3, 14))
503
+ super().__init__(*args)
504
+
505
+ def __new__(cls, *args, **kwargs):
506
+ if cls is Path:
507
+ cls = WindowsPath if os.name == 'nt' else PosixPath
508
+ return object.__new__(cls)
509
+
510
+ def stat(self, *, follow_symlinks=True):
511
+ """
512
+ Return the result of the stat() system call on this path, like
513
+ os.stat() does.
514
+ """
515
+ return os.stat(self, follow_symlinks=follow_symlinks)
516
+
517
+ def is_mount(self):
518
+ """
519
+ Check if this path is a mount point
520
+ """
521
+ return os.path.ismount(self)
522
+
523
+ def is_junction(self):
524
+ """
525
+ Whether this path is a junction.
526
+ """
527
+ return os.path.isjunction(self)
528
+
529
+ def open(self, mode='r', buffering=-1, encoding=None,
530
+ errors=None, newline=None):
531
+ """
532
+ Open the file pointed to by this path and return a file object, as
533
+ the built-in open() function does.
534
+ """
535
+ if "b" not in mode:
536
+ encoding = io.text_encoding(encoding)
537
+ return io.open(self, mode, buffering, encoding, errors, newline)
538
+
539
+ def read_text(self, encoding=None, errors=None, newline=None):
540
+ """
541
+ Open the file in text mode, read it, and close the file.
542
+ """
543
+ # Call io.text_encoding() here to ensure any warning is raised at an
544
+ # appropriate stack level.
545
+ encoding = io.text_encoding(encoding)
546
+ return PathBase.read_text(self, encoding, errors, newline)
547
+
548
+ def write_text(self, data, encoding=None, errors=None, newline=None):
549
+ """
550
+ Open the file in text mode, write to it, and close the file.
551
+ """
552
+ # Call io.text_encoding() here to ensure any warning is raised at an
553
+ # appropriate stack level.
554
+ encoding = io.text_encoding(encoding)
555
+ return PathBase.write_text(self, data, encoding, errors, newline)
556
+
557
+ _remove_leading_dot = operator.itemgetter(slice(2, None))
558
+ _remove_trailing_slash = operator.itemgetter(slice(-1))
559
+
560
+ def _filter_trailing_slash(self, paths):
561
+ sep = self.parser.sep
562
+ anchor_len = len(self.anchor)
563
+ for path_str in paths:
564
+ if len(path_str) > anchor_len and path_str[-1] == sep:
565
+ path_str = path_str[:-1]
566
+ yield path_str
567
+
568
+ def iterdir(self):
569
+ """Yield path objects of the directory contents.
570
+
571
+ The children are yielded in arbitrary order, and the
572
+ special entries '.' and '..' are not included.
573
+ """
574
+ root_dir = str(self)
575
+ with os.scandir(root_dir) as scandir_it:
576
+ paths = [entry.path for entry in scandir_it]
577
+ if root_dir == '.':
578
+ paths = map(self._remove_leading_dot, paths)
579
+ return map(self._from_parsed_string, paths)
580
+
581
+ def glob(self, pattern, *, case_sensitive=None, recurse_symlinks=False):
582
+ """Iterate over this subtree and yield all existing files (of any
583
+ kind, including directories) matching the given relative pattern.
584
+ """
585
+ sys.audit("pathlib.Path.glob", self, pattern)
586
+ if not isinstance(pattern, PurePath):
587
+ pattern = self.with_segments(pattern)
588
+ if pattern.anchor:
589
+ raise NotImplementedError("Non-relative patterns are unsupported")
590
+ parts = pattern._tail.copy()
591
+ if not parts:
592
+ raise ValueError("Unacceptable pattern: {!r}".format(pattern))
593
+ raw = pattern._raw_path
594
+ if raw[-1] in (self.parser.sep, self.parser.altsep):
595
+ # GH-65238: pathlib doesn't preserve trailing slash. Add it back.
596
+ parts.append('')
597
+ select = self._glob_selector(parts[::-1], case_sensitive, recurse_symlinks)
598
+ root = str(self)
599
+ paths = select(root)
600
+
601
+ # Normalize results
602
+ if root == '.':
603
+ paths = map(self._remove_leading_dot, paths)
604
+ if parts[-1] == '':
605
+ paths = map(self._remove_trailing_slash, paths)
606
+ elif parts[-1] == '**':
607
+ paths = self._filter_trailing_slash(paths)
608
+ paths = map(self._from_parsed_string, paths)
609
+ return paths
610
+
611
+ def rglob(self, pattern, *, case_sensitive=None, recurse_symlinks=False):
612
+ """Recursively yield all existing files (of any kind, including
613
+ directories) matching the given relative pattern, anywhere in
614
+ this subtree.
615
+ """
616
+ sys.audit("pathlib.Path.rglob", self, pattern)
617
+ if not isinstance(pattern, PurePath):
618
+ pattern = self.with_segments(pattern)
619
+ pattern = '**' / pattern
620
+ return self.glob(pattern, case_sensitive=case_sensitive, recurse_symlinks=recurse_symlinks)
621
+
622
+ def walk(self, top_down=True, on_error=None, follow_symlinks=False):
623
+ """Walk the directory tree from this directory, similar to os.walk()."""
624
+ sys.audit("pathlib.Path.walk", self, on_error, follow_symlinks)
625
+ root_dir = str(self)
626
+ if not follow_symlinks:
627
+ follow_symlinks = os._walk_symlinks_as_files
628
+ results = os.walk(root_dir, top_down, on_error, follow_symlinks)
629
+ for path_str, dirnames, filenames in results:
630
+ if root_dir == '.':
631
+ path_str = path_str[2:]
632
+ yield self._from_parsed_string(path_str), dirnames, filenames
633
+
634
+ def absolute(self):
635
+ """Return an absolute version of this path
636
+ No normalization or symlink resolution is performed.
637
+
638
+ Use resolve() to resolve symlinks and remove '..' segments.
639
+ """
640
+ if self.is_absolute():
641
+ return self
642
+ if self.root:
643
+ drive = os.path.splitroot(os.getcwd())[0]
644
+ return self._from_parsed_parts(drive, self.root, self._tail)
645
+ if self.drive:
646
+ # There is a CWD on each drive-letter drive.
647
+ cwd = os.path.abspath(self.drive)
648
+ else:
649
+ cwd = os.getcwd()
650
+ if not self._tail:
651
+ # Fast path for "empty" paths, e.g. Path("."), Path("") or Path().
652
+ # We pass only one argument to with_segments() to avoid the cost
653
+ # of joining, and we exploit the fact that getcwd() returns a
654
+ # fully-normalized string by storing it in _str. This is used to
655
+ # implement Path.cwd().
656
+ return self._from_parsed_string(cwd)
657
+ drive, root, rel = os.path.splitroot(cwd)
658
+ if not rel:
659
+ return self._from_parsed_parts(drive, root, self._tail)
660
+ tail = rel.split(self.parser.sep)
661
+ tail.extend(self._tail)
662
+ return self._from_parsed_parts(drive, root, tail)
663
+
664
+ def resolve(self, strict=False):
665
+ """
666
+ Make the path absolute, resolving all symlinks on the way and also
667
+ normalizing it.
668
+ """
669
+
670
+ return self.with_segments(os.path.realpath(self, strict=strict))
671
+
672
+ if pwd:
673
+ def owner(self, *, follow_symlinks=True):
674
+ """
675
+ Return the login name of the file owner.
676
+ """
677
+ uid = self.stat(follow_symlinks=follow_symlinks).st_uid
678
+ return pwd.getpwuid(uid).pw_name
679
+
680
+ if grp:
681
+ def group(self, *, follow_symlinks=True):
682
+ """
683
+ Return the group name of the file gid.
684
+ """
685
+ gid = self.stat(follow_symlinks=follow_symlinks).st_gid
686
+ return grp.getgrgid(gid).gr_name
687
+
688
+ if hasattr(os, "readlink"):
689
+ def readlink(self):
690
+ """
691
+ Return the path to which the symbolic link points.
692
+ """
693
+ return self.with_segments(os.readlink(self))
694
+
695
+ def touch(self, mode=0o666, exist_ok=True):
696
+ """
697
+ Create this file with the given access mode, if it doesn't exist.
698
+ """
699
+
700
+ if exist_ok:
701
+ # First try to bump modification time
702
+ # Implementation note: GNU touch uses the UTIME_NOW option of
703
+ # the utimensat() / futimens() functions.
704
+ try:
705
+ os.utime(self, None)
706
+ except OSError:
707
+ # Avoid exception chaining
708
+ pass
709
+ else:
710
+ return
711
+ flags = os.O_CREAT | os.O_WRONLY
712
+ if not exist_ok:
713
+ flags |= os.O_EXCL
714
+ fd = os.open(self, flags, mode)
715
+ os.close(fd)
716
+
717
+ def mkdir(self, mode=0o777, parents=False, exist_ok=False):
718
+ """
719
+ Create a new directory at this given path.
720
+ """
721
+ try:
722
+ os.mkdir(self, mode)
723
+ except FileNotFoundError:
724
+ if not parents or self.parent == self:
725
+ raise
726
+ self.parent.mkdir(parents=True, exist_ok=True)
727
+ self.mkdir(mode, parents=False, exist_ok=exist_ok)
728
+ except OSError:
729
+ # Cannot rely on checking for EEXIST, since the operating system
730
+ # could give priority to other errors like EACCES or EROFS
731
+ if not exist_ok or not self.is_dir():
732
+ raise
733
+
734
+ def chmod(self, mode, *, follow_symlinks=True):
735
+ """
736
+ Change the permissions of the path, like os.chmod().
737
+ """
738
+ os.chmod(self, mode, follow_symlinks=follow_symlinks)
739
+
740
+ def unlink(self, missing_ok=False):
741
+ """
742
+ Remove this file or link.
743
+ If the path is a directory, use rmdir() instead.
744
+ """
745
+ try:
746
+ os.unlink(self)
747
+ except FileNotFoundError:
748
+ if not missing_ok:
749
+ raise
750
+
751
+ def rmdir(self):
752
+ """
753
+ Remove this directory. The directory must be empty.
754
+ """
755
+ os.rmdir(self)
756
+
757
+ def rename(self, target):
758
+ """
759
+ Rename this path to the target path.
760
+
761
+ The target path may be absolute or relative. Relative paths are
762
+ interpreted relative to the current working directory, *not* the
763
+ directory of the Path object.
764
+
765
+ Returns the new Path instance pointing to the target path.
766
+ """
767
+ os.rename(self, target)
768
+ return self.with_segments(target)
769
+
770
+ def replace(self, target):
771
+ """
772
+ Rename this path to the target path, overwriting if that path exists.
773
+
774
+ The target path may be absolute or relative. Relative paths are
775
+ interpreted relative to the current working directory, *not* the
776
+ directory of the Path object.
777
+
778
+ Returns the new Path instance pointing to the target path.
779
+ """
780
+ os.replace(self, target)
781
+ return self.with_segments(target)
782
+
783
+ if hasattr(os, "symlink"):
784
+ def symlink_to(self, target, target_is_directory=False):
785
+ """
786
+ Make this path a symlink pointing to the target path.
787
+ Note the order of arguments (link, target) is the reverse of os.symlink.
788
+ """
789
+ os.symlink(target, self, target_is_directory)
790
+
791
+ if hasattr(os, "link"):
792
+ def hardlink_to(self, target):
793
+ """
794
+ Make this path a hard link pointing to the same file as *target*.
795
+
796
+ Note the order of arguments (self, target) is the reverse of os.link's.
797
+ """
798
+ os.link(target, self)
799
+
800
+ def expanduser(self):
801
+ """ Return a new path with expanded ~ and ~user constructs
802
+ (as returned by os.path.expanduser)
803
+ """
804
+ if (not (self.drive or self.root) and
805
+ self._tail and self._tail[0][:1] == '~'):
806
+ homedir = os.path.expanduser(self._tail[0])
807
+ if homedir[:1] == "~":
808
+ raise RuntimeError("Could not determine home directory.")
809
+ drv, root, tail = self._parse_path(homedir)
810
+ return self._from_parsed_parts(drv, root, tail + self._tail[1:])
811
+
812
+ return self
813
+
814
+ @classmethod
815
+ def from_uri(cls, uri):
816
+ """Return a new path from the given 'file' URI."""
817
+ if not uri.startswith('file:'):
818
+ raise ValueError(f"URI does not start with 'file:': {uri!r}")
819
+ path = uri[5:]
820
+ if path[:3] == '///':
821
+ # Remove empty authority
822
+ path = path[2:]
823
+ elif path[:12] == '//localhost/':
824
+ # Remove 'localhost' authority
825
+ path = path[11:]
826
+ if path[:3] == '///' or (path[:1] == '/' and path[2:3] in ':|'):
827
+ # Remove slash before DOS device/UNC path
828
+ path = path[1:]
829
+ if path[1:2] == '|':
830
+ # Replace bar with colon in DOS drive
831
+ path = path[:1] + ':' + path[2:]
832
+ from urllib.parse import unquote_to_bytes
833
+ path = cls(os.fsdecode(unquote_to_bytes(path)))
834
+ if not path.is_absolute():
835
+ raise ValueError(f"URI is not absolute: {uri!r}")
836
+ return path
837
+
838
+
839
+ class PosixPath(Path, PurePosixPath):
840
+ """Path subclass for non-Windows systems.
841
+
842
+ On a POSIX system, instantiating a Path should return this object.
843
+ """
844
+ __slots__ = ()
845
+
846
+ if os.name == 'nt':
847
+ def __new__(cls, *args, **kwargs):
848
+ raise UnsupportedOperation(
849
+ f"cannot instantiate {cls.__name__!r} on your system")
850
+
851
+ class WindowsPath(Path, PureWindowsPath):
852
+ """Path subclass for Windows systems.
853
+
854
+ On a Windows system, instantiating a Path should return this object.
855
+ """
856
+ __slots__ = ()
857
+
858
+ if os.name != 'nt':
859
+ def __new__(cls, *args, **kwargs):
860
+ raise UnsupportedOperation(
861
+ f"cannot instantiate {cls.__name__!r} on your system")