@scrypted/arlo 0.11.26 → 0.11.28

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 (1312) hide show
  1. package/dist/plugin.zip +0 -0
  2. package/package.json +1 -1
  3. package/venv/bin/Activate.ps1 +0 -247
  4. package/venv/bin/activate +0 -69
  5. package/venv/bin/activate.csh +0 -26
  6. package/venv/bin/activate.fish +0 -69
  7. package/venv/bin/normalizer +0 -8
  8. package/venv/bin/pip +0 -8
  9. package/venv/bin/pip3 +0 -8
  10. package/venv/bin/pip3.10 +0 -8
  11. package/venv/lib/python3.10/site-packages/_cffi_backend.cpython-310-x86_64-linux-gnu.so +0 -0
  12. package/venv/lib/python3.10/site-packages/_distutils_hack/__init__.py +0 -132
  13. package/venv/lib/python3.10/site-packages/_distutils_hack/override.py +0 -1
  14. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/__init__.py +0 -13
  15. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/_staggered.py +0 -202
  16. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/impl.py +0 -210
  17. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/py.typed +0 -0
  18. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/types.py +0 -12
  19. package/venv/lib/python3.10/site-packages/aiohappyeyeballs/utils.py +0 -97
  20. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/INSTALLER +0 -1
  21. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/LICENSE +0 -279
  22. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/METADATA +0 -123
  23. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/RECORD +0 -16
  24. package/venv/lib/python3.10/site-packages/aiohappyeyeballs-2.4.6.dist-info/WHEEL +0 -4
  25. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_cparser.pxd.hash +0 -1
  26. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_find_header.pxd.hash +0 -1
  27. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_http_parser.pyx.hash +0 -1
  28. package/venv/lib/python3.10/site-packages/aiohttp/.hash/_http_writer.pyx.hash +0 -1
  29. package/venv/lib/python3.10/site-packages/aiohttp/.hash/hdrs.py.hash +0 -1
  30. package/venv/lib/python3.10/site-packages/aiohttp/__init__.py +0 -264
  31. package/venv/lib/python3.10/site-packages/aiohttp/_cparser.pxd +0 -158
  32. package/venv/lib/python3.10/site-packages/aiohttp/_find_header.pxd +0 -2
  33. package/venv/lib/python3.10/site-packages/aiohttp/_headers.pxi +0 -83
  34. package/venv/lib/python3.10/site-packages/aiohttp/_http_parser.cpython-310-x86_64-linux-gnu.so +0 -0
  35. package/venv/lib/python3.10/site-packages/aiohttp/_http_parser.pyx +0 -837
  36. package/venv/lib/python3.10/site-packages/aiohttp/_http_writer.cpython-310-x86_64-linux-gnu.so +0 -0
  37. package/venv/lib/python3.10/site-packages/aiohttp/_http_writer.pyx +0 -162
  38. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/.hash/mask.pxd.hash +0 -1
  39. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/.hash/mask.pyx.hash +0 -1
  40. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/.hash/reader_c.pxd.hash +0 -1
  41. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/__init__.py +0 -1
  42. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/helpers.py +0 -147
  43. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/mask.cpython-310-x86_64-linux-gnu.so +0 -0
  44. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/mask.pxd +0 -3
  45. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/mask.pyx +0 -48
  46. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/models.py +0 -84
  47. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader.py +0 -31
  48. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_c.cpython-310-x86_64-linux-gnu.so +0 -0
  49. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_c.pxd +0 -102
  50. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_c.py +0 -468
  51. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/reader_py.py +0 -468
  52. package/venv/lib/python3.10/site-packages/aiohttp/_websocket/writer.py +0 -177
  53. package/venv/lib/python3.10/site-packages/aiohttp/abc.py +0 -253
  54. package/venv/lib/python3.10/site-packages/aiohttp/base_protocol.py +0 -100
  55. package/venv/lib/python3.10/site-packages/aiohttp/client.py +0 -1550
  56. package/venv/lib/python3.10/site-packages/aiohttp/client_exceptions.py +0 -421
  57. package/venv/lib/python3.10/site-packages/aiohttp/client_proto.py +0 -307
  58. package/venv/lib/python3.10/site-packages/aiohttp/client_reqrep.py +0 -1315
  59. package/venv/lib/python3.10/site-packages/aiohttp/client_ws.py +0 -426
  60. package/venv/lib/python3.10/site-packages/aiohttp/compression_utils.py +0 -173
  61. package/venv/lib/python3.10/site-packages/aiohttp/connector.py +0 -1652
  62. package/venv/lib/python3.10/site-packages/aiohttp/cookiejar.py +0 -495
  63. package/venv/lib/python3.10/site-packages/aiohttp/formdata.py +0 -182
  64. package/venv/lib/python3.10/site-packages/aiohttp/hdrs.py +0 -121
  65. package/venv/lib/python3.10/site-packages/aiohttp/helpers.py +0 -944
  66. package/venv/lib/python3.10/site-packages/aiohttp/http.py +0 -72
  67. package/venv/lib/python3.10/site-packages/aiohttp/http_exceptions.py +0 -112
  68. package/venv/lib/python3.10/site-packages/aiohttp/http_parser.py +0 -1046
  69. package/venv/lib/python3.10/site-packages/aiohttp/http_websocket.py +0 -36
  70. package/venv/lib/python3.10/site-packages/aiohttp/http_writer.py +0 -249
  71. package/venv/lib/python3.10/site-packages/aiohttp/log.py +0 -8
  72. package/venv/lib/python3.10/site-packages/aiohttp/multipart.py +0 -1071
  73. package/venv/lib/python3.10/site-packages/aiohttp/payload.py +0 -519
  74. package/venv/lib/python3.10/site-packages/aiohttp/payload_streamer.py +0 -78
  75. package/venv/lib/python3.10/site-packages/aiohttp/py.typed +0 -1
  76. package/venv/lib/python3.10/site-packages/aiohttp/pytest_plugin.py +0 -436
  77. package/venv/lib/python3.10/site-packages/aiohttp/resolver.py +0 -187
  78. package/venv/lib/python3.10/site-packages/aiohttp/streams.py +0 -727
  79. package/venv/lib/python3.10/site-packages/aiohttp/tcp_helpers.py +0 -37
  80. package/venv/lib/python3.10/site-packages/aiohttp/test_utils.py +0 -770
  81. package/venv/lib/python3.10/site-packages/aiohttp/tracing.py +0 -470
  82. package/venv/lib/python3.10/site-packages/aiohttp/typedefs.py +0 -69
  83. package/venv/lib/python3.10/site-packages/aiohttp/web.py +0 -605
  84. package/venv/lib/python3.10/site-packages/aiohttp/web_app.py +0 -620
  85. package/venv/lib/python3.10/site-packages/aiohttp/web_exceptions.py +0 -452
  86. package/venv/lib/python3.10/site-packages/aiohttp/web_fileresponse.py +0 -418
  87. package/venv/lib/python3.10/site-packages/aiohttp/web_log.py +0 -216
  88. package/venv/lib/python3.10/site-packages/aiohttp/web_middlewares.py +0 -121
  89. package/venv/lib/python3.10/site-packages/aiohttp/web_protocol.py +0 -750
  90. package/venv/lib/python3.10/site-packages/aiohttp/web_request.py +0 -916
  91. package/venv/lib/python3.10/site-packages/aiohttp/web_response.py +0 -840
  92. package/venv/lib/python3.10/site-packages/aiohttp/web_routedef.py +0 -214
  93. package/venv/lib/python3.10/site-packages/aiohttp/web_runner.py +0 -399
  94. package/venv/lib/python3.10/site-packages/aiohttp/web_server.py +0 -84
  95. package/venv/lib/python3.10/site-packages/aiohttp/web_urldispatcher.py +0 -1301
  96. package/venv/lib/python3.10/site-packages/aiohttp/web_ws.py +0 -622
  97. package/venv/lib/python3.10/site-packages/aiohttp/worker.py +0 -252
  98. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/INSTALLER +0 -1
  99. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/LICENSE.txt +0 -13
  100. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/METADATA +0 -250
  101. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/RECORD +0 -132
  102. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/REQUESTED +0 -0
  103. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/WHEEL +0 -6
  104. package/venv/lib/python3.10/site-packages/aiohttp-3.11.12.dist-info/top_level.txt +0 -1
  105. package/venv/lib/python3.10/site-packages/aiosignal/__init__.py +0 -36
  106. package/venv/lib/python3.10/site-packages/aiosignal/__init__.pyi +0 -12
  107. package/venv/lib/python3.10/site-packages/aiosignal/py.typed +0 -0
  108. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/INSTALLER +0 -1
  109. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/LICENSE +0 -201
  110. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/METADATA +0 -123
  111. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/RECORD +0 -10
  112. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/WHEEL +0 -6
  113. package/venv/lib/python3.10/site-packages/aiosignal-1.3.2.dist-info/top_level.txt +0 -1
  114. package/venv/lib/python3.10/site-packages/async_timeout/__init__.py +0 -276
  115. package/venv/lib/python3.10/site-packages/async_timeout/py.typed +0 -1
  116. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/INSTALLER +0 -1
  117. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/LICENSE +0 -13
  118. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/METADATA +0 -163
  119. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/RECORD +0 -11
  120. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/REQUESTED +0 -0
  121. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/WHEEL +0 -5
  122. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/top_level.txt +0 -1
  123. package/venv/lib/python3.10/site-packages/async_timeout-5.0.1.dist-info/zip-safe +0 -1
  124. package/venv/lib/python3.10/site-packages/attr/__init__.py +0 -104
  125. package/venv/lib/python3.10/site-packages/attr/__init__.pyi +0 -389
  126. package/venv/lib/python3.10/site-packages/attr/_cmp.py +0 -160
  127. package/venv/lib/python3.10/site-packages/attr/_cmp.pyi +0 -13
  128. package/venv/lib/python3.10/site-packages/attr/_compat.py +0 -94
  129. package/venv/lib/python3.10/site-packages/attr/_config.py +0 -31
  130. package/venv/lib/python3.10/site-packages/attr/_funcs.py +0 -468
  131. package/venv/lib/python3.10/site-packages/attr/_make.py +0 -3055
  132. package/venv/lib/python3.10/site-packages/attr/_next_gen.py +0 -623
  133. package/venv/lib/python3.10/site-packages/attr/_typing_compat.pyi +0 -15
  134. package/venv/lib/python3.10/site-packages/attr/_version_info.py +0 -86
  135. package/venv/lib/python3.10/site-packages/attr/_version_info.pyi +0 -9
  136. package/venv/lib/python3.10/site-packages/attr/converters.py +0 -162
  137. package/venv/lib/python3.10/site-packages/attr/converters.pyi +0 -19
  138. package/venv/lib/python3.10/site-packages/attr/exceptions.py +0 -95
  139. package/venv/lib/python3.10/site-packages/attr/exceptions.pyi +0 -17
  140. package/venv/lib/python3.10/site-packages/attr/filters.py +0 -72
  141. package/venv/lib/python3.10/site-packages/attr/filters.pyi +0 -6
  142. package/venv/lib/python3.10/site-packages/attr/py.typed +0 -0
  143. package/venv/lib/python3.10/site-packages/attr/setters.py +0 -79
  144. package/venv/lib/python3.10/site-packages/attr/setters.pyi +0 -20
  145. package/venv/lib/python3.10/site-packages/attr/validators.py +0 -710
  146. package/venv/lib/python3.10/site-packages/attr/validators.pyi +0 -86
  147. package/venv/lib/python3.10/site-packages/attrs/__init__.py +0 -69
  148. package/venv/lib/python3.10/site-packages/attrs/__init__.pyi +0 -263
  149. package/venv/lib/python3.10/site-packages/attrs/converters.py +0 -3
  150. package/venv/lib/python3.10/site-packages/attrs/exceptions.py +0 -3
  151. package/venv/lib/python3.10/site-packages/attrs/filters.py +0 -3
  152. package/venv/lib/python3.10/site-packages/attrs/py.typed +0 -0
  153. package/venv/lib/python3.10/site-packages/attrs/setters.py +0 -3
  154. package/venv/lib/python3.10/site-packages/attrs/validators.py +0 -3
  155. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/INSTALLER +0 -1
  156. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/METADATA +0 -232
  157. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/RECORD +0 -55
  158. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/WHEEL +0 -4
  159. package/venv/lib/python3.10/site-packages/attrs-25.1.0.dist-info/licenses/LICENSE +0 -21
  160. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/INSTALLER +0 -1
  161. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/METADATA +0 -123
  162. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/RECORD +0 -90
  163. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/REQUESTED +0 -0
  164. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/WHEEL +0 -4
  165. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/licenses/AUTHORS +0 -49
  166. package/venv/lib/python3.10/site-packages/beautifulsoup4-4.13.3.dist-info/licenses/LICENSE +0 -31
  167. package/venv/lib/python3.10/site-packages/bs4/__init__.py +0 -1170
  168. package/venv/lib/python3.10/site-packages/bs4/_deprecation.py +0 -80
  169. package/venv/lib/python3.10/site-packages/bs4/_typing.py +0 -196
  170. package/venv/lib/python3.10/site-packages/bs4/_warnings.py +0 -98
  171. package/venv/lib/python3.10/site-packages/bs4/builder/__init__.py +0 -848
  172. package/venv/lib/python3.10/site-packages/bs4/builder/_html5lib.py +0 -594
  173. package/venv/lib/python3.10/site-packages/bs4/builder/_htmlparser.py +0 -474
  174. package/venv/lib/python3.10/site-packages/bs4/builder/_lxml.py +0 -490
  175. package/venv/lib/python3.10/site-packages/bs4/css.py +0 -338
  176. package/venv/lib/python3.10/site-packages/bs4/dammit.py +0 -1408
  177. package/venv/lib/python3.10/site-packages/bs4/diagnose.py +0 -268
  178. package/venv/lib/python3.10/site-packages/bs4/element.py +0 -2886
  179. package/venv/lib/python3.10/site-packages/bs4/exceptions.py +0 -28
  180. package/venv/lib/python3.10/site-packages/bs4/filter.py +0 -755
  181. package/venv/lib/python3.10/site-packages/bs4/formatter.py +0 -276
  182. package/venv/lib/python3.10/site-packages/bs4/py.typed +0 -0
  183. package/venv/lib/python3.10/site-packages/bs4/tests/__init__.py +0 -1305
  184. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase +0 -1
  185. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4818336571064320.testcase +0 -1
  186. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4999465949331456.testcase +0 -1
  187. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase +0 -0
  188. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase +0 -0
  189. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase +0 -0
  190. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase +0 -1
  191. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase +0 -0
  192. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase +0 -2
  193. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5843991618256896.testcase +0 -1
  194. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5984173902397440.testcase +0 -0
  195. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6124268085182464.testcase +0 -1
  196. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6241471367348224.testcase +0 -1
  197. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6306874195312640.testcase +0 -1
  198. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase +0 -0
  199. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase +0 -0
  200. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase +0 -0
  201. package/venv/lib/python3.10/site-packages/bs4/tests/fuzz/crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase +0 -0
  202. package/venv/lib/python3.10/site-packages/bs4/tests/test_builder.py +0 -28
  203. package/venv/lib/python3.10/site-packages/bs4/tests/test_builder_registry.py +0 -139
  204. package/venv/lib/python3.10/site-packages/bs4/tests/test_css.py +0 -536
  205. package/venv/lib/python3.10/site-packages/bs4/tests/test_dammit.py +0 -433
  206. package/venv/lib/python3.10/site-packages/bs4/tests/test_element.py +0 -138
  207. package/venv/lib/python3.10/site-packages/bs4/tests/test_filter.py +0 -674
  208. package/venv/lib/python3.10/site-packages/bs4/tests/test_formatter.py +0 -170
  209. package/venv/lib/python3.10/site-packages/bs4/tests/test_fuzz.py +0 -181
  210. package/venv/lib/python3.10/site-packages/bs4/tests/test_html5lib.py +0 -264
  211. package/venv/lib/python3.10/site-packages/bs4/tests/test_htmlparser.py +0 -161
  212. package/venv/lib/python3.10/site-packages/bs4/tests/test_lxml.py +0 -196
  213. package/venv/lib/python3.10/site-packages/bs4/tests/test_navigablestring.py +0 -144
  214. package/venv/lib/python3.10/site-packages/bs4/tests/test_pageelement.py +0 -437
  215. package/venv/lib/python3.10/site-packages/bs4/tests/test_soup.py +0 -602
  216. package/venv/lib/python3.10/site-packages/bs4/tests/test_tag.py +0 -241
  217. package/venv/lib/python3.10/site-packages/bs4/tests/test_tree.py +0 -1452
  218. package/venv/lib/python3.10/site-packages/cachetools/__init__.py +0 -859
  219. package/venv/lib/python3.10/site-packages/cachetools/func.py +0 -121
  220. package/venv/lib/python3.10/site-packages/cachetools/keys.py +0 -62
  221. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/INSTALLER +0 -1
  222. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/LICENSE +0 -20
  223. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/METADATA +0 -151
  224. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/RECORD +0 -13
  225. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/REQUESTED +0 -0
  226. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/WHEEL +0 -5
  227. package/venv/lib/python3.10/site-packages/cachetools-5.5.1.dist-info/top_level.txt +0 -1
  228. package/venv/lib/python3.10/site-packages/certifi/__init__.py +0 -4
  229. package/venv/lib/python3.10/site-packages/certifi/__main__.py +0 -12
  230. package/venv/lib/python3.10/site-packages/certifi/cacert.pem +0 -4897
  231. package/venv/lib/python3.10/site-packages/certifi/core.py +0 -114
  232. package/venv/lib/python3.10/site-packages/certifi/py.typed +0 -0
  233. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/INSTALLER +0 -1
  234. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/LICENSE +0 -20
  235. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/METADATA +0 -77
  236. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/RECORD +0 -14
  237. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/WHEEL +0 -5
  238. package/venv/lib/python3.10/site-packages/certifi-2025.1.31.dist-info/top_level.txt +0 -1
  239. package/venv/lib/python3.10/site-packages/cffi/__init__.py +0 -14
  240. package/venv/lib/python3.10/site-packages/cffi/_cffi_errors.h +0 -149
  241. package/venv/lib/python3.10/site-packages/cffi/_cffi_include.h +0 -389
  242. package/venv/lib/python3.10/site-packages/cffi/_embedding.h +0 -550
  243. package/venv/lib/python3.10/site-packages/cffi/_imp_emulation.py +0 -83
  244. package/venv/lib/python3.10/site-packages/cffi/_shimmed_dist_utils.py +0 -45
  245. package/venv/lib/python3.10/site-packages/cffi/api.py +0 -967
  246. package/venv/lib/python3.10/site-packages/cffi/backend_ctypes.py +0 -1121
  247. package/venv/lib/python3.10/site-packages/cffi/cffi_opcode.py +0 -187
  248. package/venv/lib/python3.10/site-packages/cffi/commontypes.py +0 -82
  249. package/venv/lib/python3.10/site-packages/cffi/cparser.py +0 -1015
  250. package/venv/lib/python3.10/site-packages/cffi/error.py +0 -31
  251. package/venv/lib/python3.10/site-packages/cffi/ffiplatform.py +0 -113
  252. package/venv/lib/python3.10/site-packages/cffi/lock.py +0 -30
  253. package/venv/lib/python3.10/site-packages/cffi/model.py +0 -618
  254. package/venv/lib/python3.10/site-packages/cffi/parse_c_type.h +0 -181
  255. package/venv/lib/python3.10/site-packages/cffi/pkgconfig.py +0 -121
  256. package/venv/lib/python3.10/site-packages/cffi/recompiler.py +0 -1598
  257. package/venv/lib/python3.10/site-packages/cffi/setuptools_ext.py +0 -216
  258. package/venv/lib/python3.10/site-packages/cffi/vengine_cpy.py +0 -1084
  259. package/venv/lib/python3.10/site-packages/cffi/vengine_gen.py +0 -679
  260. package/venv/lib/python3.10/site-packages/cffi/verifier.py +0 -306
  261. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/INSTALLER +0 -1
  262. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/LICENSE +0 -26
  263. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/METADATA +0 -40
  264. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/RECORD +0 -48
  265. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/WHEEL +0 -6
  266. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/entry_points.txt +0 -2
  267. package/venv/lib/python3.10/site-packages/cffi-1.17.1.dist-info/top_level.txt +0 -2
  268. package/venv/lib/python3.10/site-packages/charset_normalizer/__init__.py +0 -48
  269. package/venv/lib/python3.10/site-packages/charset_normalizer/__main__.py +0 -6
  270. package/venv/lib/python3.10/site-packages/charset_normalizer/api.py +0 -668
  271. package/venv/lib/python3.10/site-packages/charset_normalizer/cd.py +0 -395
  272. package/venv/lib/python3.10/site-packages/charset_normalizer/cli/__init__.py +0 -8
  273. package/venv/lib/python3.10/site-packages/charset_normalizer/cli/__main__.py +0 -321
  274. package/venv/lib/python3.10/site-packages/charset_normalizer/constant.py +0 -1998
  275. package/venv/lib/python3.10/site-packages/charset_normalizer/legacy.py +0 -66
  276. package/venv/lib/python3.10/site-packages/charset_normalizer/md.cpython-310-x86_64-linux-gnu.so +0 -0
  277. package/venv/lib/python3.10/site-packages/charset_normalizer/md.py +0 -630
  278. package/venv/lib/python3.10/site-packages/charset_normalizer/md__mypyc.cpython-310-x86_64-linux-gnu.so +0 -0
  279. package/venv/lib/python3.10/site-packages/charset_normalizer/models.py +0 -360
  280. package/venv/lib/python3.10/site-packages/charset_normalizer/py.typed +0 -0
  281. package/venv/lib/python3.10/site-packages/charset_normalizer/utils.py +0 -408
  282. package/venv/lib/python3.10/site-packages/charset_normalizer/version.py +0 -8
  283. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/INSTALLER +0 -1
  284. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/LICENSE +0 -21
  285. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/METADATA +0 -721
  286. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/RECORD +0 -35
  287. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/WHEEL +0 -6
  288. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/entry_points.txt +0 -2
  289. package/venv/lib/python3.10/site-packages/charset_normalizer-3.4.1.dist-info/top_level.txt +0 -1
  290. package/venv/lib/python3.10/site-packages/cloudscraper/__init__.py +0 -407
  291. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/2captcha.py +0 -258
  292. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/9kw.py +0 -214
  293. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/__init__.py +0 -47
  294. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/anticaptcha.py +0 -199
  295. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/capmonster.py +0 -199
  296. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/capsolver.py +0 -188
  297. package/venv/lib/python3.10/site-packages/cloudscraper/captcha/deathbycaptcha.py +0 -276
  298. package/venv/lib/python3.10/site-packages/cloudscraper/cloudflare.py +0 -490
  299. package/venv/lib/python3.10/site-packages/cloudscraper/exceptions.py +0 -111
  300. package/venv/lib/python3.10/site-packages/cloudscraper/help.py +0 -72
  301. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/__init__.py +0 -56
  302. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/chakracore.py +0 -103
  303. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/encapsulated.py +0 -62
  304. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/js2py.py +0 -44
  305. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/jsunfuck.py +0 -97
  306. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/native.py +0 -233
  307. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/nodejs.py +0 -49
  308. package/venv/lib/python3.10/site-packages/cloudscraper/interpreters/v8.py +0 -33
  309. package/venv/lib/python3.10/site-packages/cloudscraper/user_agent/__init__.py +0 -124
  310. package/venv/lib/python3.10/site-packages/cloudscraper/user_agent/browsers.json +0 -7913
  311. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/INSTALLER +0 -1
  312. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/LICENSE +0 -22
  313. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/METADATA +0 -674
  314. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/RECORD +0 -48
  315. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/REQUESTED +0 -0
  316. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/WHEEL +0 -6
  317. package/venv/lib/python3.10/site-packages/cloudscraper-1.2.71.dist-info/top_level.txt +0 -1
  318. package/venv/lib/python3.10/site-packages/curl_cffi/__init__.py +0 -37
  319. package/venv/lib/python3.10/site-packages/curl_cffi/__version__.py +0 -8
  320. package/venv/lib/python3.10/site-packages/curl_cffi/_asyncio_selector.py +0 -344
  321. package/venv/lib/python3.10/site-packages/curl_cffi/_wrapper.abi3.so +0 -0
  322. package/venv/lib/python3.10/site-packages/curl_cffi/aio.py +0 -257
  323. package/venv/lib/python3.10/site-packages/curl_cffi/const.py +0 -581
  324. package/venv/lib/python3.10/site-packages/curl_cffi/curl.py +0 -548
  325. package/venv/lib/python3.10/site-packages/curl_cffi/py.typed +0 -1
  326. package/venv/lib/python3.10/site-packages/curl_cffi/requests/__init__.py +0 -146
  327. package/venv/lib/python3.10/site-packages/curl_cffi/requests/cookies.py +0 -355
  328. package/venv/lib/python3.10/site-packages/curl_cffi/requests/errors.py +0 -7
  329. package/venv/lib/python3.10/site-packages/curl_cffi/requests/exceptions.py +0 -219
  330. package/venv/lib/python3.10/site-packages/curl_cffi/requests/headers.py +0 -348
  331. package/venv/lib/python3.10/site-packages/curl_cffi/requests/impersonate.py +0 -360
  332. package/venv/lib/python3.10/site-packages/curl_cffi/requests/models.py +0 -292
  333. package/venv/lib/python3.10/site-packages/curl_cffi/requests/session.py +0 -1021
  334. package/venv/lib/python3.10/site-packages/curl_cffi/requests/utils.py +0 -663
  335. package/venv/lib/python3.10/site-packages/curl_cffi/requests/websockets.py +0 -711
  336. package/venv/lib/python3.10/site-packages/curl_cffi/utils.py +0 -13
  337. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/INSTALLER +0 -1
  338. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/LICENSE +0 -21
  339. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/METADATA +0 -333
  340. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/RECORD +0 -43
  341. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/REQUESTED +0 -0
  342. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/WHEEL +0 -6
  343. package/venv/lib/python3.10/site-packages/curl_cffi-0.9.0.dist-info/top_level.txt +0 -1
  344. package/venv/lib/python3.10/site-packages/distutils-precedence.pth +0 -1
  345. package/venv/lib/python3.10/site-packages/frozenlist/__init__.py +0 -98
  346. package/venv/lib/python3.10/site-packages/frozenlist/__init__.pyi +0 -47
  347. package/venv/lib/python3.10/site-packages/frozenlist/_frozenlist.cpython-310-x86_64-linux-gnu.so +0 -0
  348. package/venv/lib/python3.10/site-packages/frozenlist/_frozenlist.pyx +0 -123
  349. package/venv/lib/python3.10/site-packages/frozenlist/py.typed +0 -1
  350. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/INSTALLER +0 -1
  351. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/LICENSE +0 -201
  352. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/METADATA +0 -477
  353. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/RECORD +0 -12
  354. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/WHEEL +0 -8
  355. package/venv/lib/python3.10/site-packages/frozenlist-1.5.0.dist-info/top_level.txt +0 -1
  356. package/venv/lib/python3.10/site-packages/idna/__init__.py +0 -45
  357. package/venv/lib/python3.10/site-packages/idna/codec.py +0 -122
  358. package/venv/lib/python3.10/site-packages/idna/compat.py +0 -15
  359. package/venv/lib/python3.10/site-packages/idna/core.py +0 -437
  360. package/venv/lib/python3.10/site-packages/idna/idnadata.py +0 -4243
  361. package/venv/lib/python3.10/site-packages/idna/intranges.py +0 -57
  362. package/venv/lib/python3.10/site-packages/idna/package_data.py +0 -1
  363. package/venv/lib/python3.10/site-packages/idna/py.typed +0 -0
  364. package/venv/lib/python3.10/site-packages/idna/uts46data.py +0 -8681
  365. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/INSTALLER +0 -1
  366. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/LICENSE.md +0 -31
  367. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/METADATA +0 -250
  368. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/RECORD +0 -22
  369. package/venv/lib/python3.10/site-packages/idna-3.10.dist-info/WHEEL +0 -4
  370. package/venv/lib/python3.10/site-packages/multidict/__init__.py +0 -48
  371. package/venv/lib/python3.10/site-packages/multidict/__init__.pyi +0 -152
  372. package/venv/lib/python3.10/site-packages/multidict/_abc.py +0 -48
  373. package/venv/lib/python3.10/site-packages/multidict/_compat.py +0 -14
  374. package/venv/lib/python3.10/site-packages/multidict/_multidict.cpython-310-x86_64-linux-gnu.so +0 -0
  375. package/venv/lib/python3.10/site-packages/multidict/_multidict_base.py +0 -152
  376. package/venv/lib/python3.10/site-packages/multidict/_multidict_py.py +0 -527
  377. package/venv/lib/python3.10/site-packages/multidict/py.typed +0 -1
  378. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/INSTALLER +0 -1
  379. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/LICENSE +0 -13
  380. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/METADATA +0 -140
  381. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/RECORD +0 -19
  382. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/WHEEL +0 -6
  383. package/venv/lib/python3.10/site-packages/multidict-6.1.0.dist-info/top_level.txt +0 -1
  384. package/venv/lib/python3.10/site-packages/paho/__init__.py +0 -0
  385. package/venv/lib/python3.10/site-packages/paho/mqtt/__init__.py +0 -5
  386. package/venv/lib/python3.10/site-packages/paho/mqtt/client.py +0 -5004
  387. package/venv/lib/python3.10/site-packages/paho/mqtt/enums.py +0 -113
  388. package/venv/lib/python3.10/site-packages/paho/mqtt/matcher.py +0 -78
  389. package/venv/lib/python3.10/site-packages/paho/mqtt/packettypes.py +0 -43
  390. package/venv/lib/python3.10/site-packages/paho/mqtt/properties.py +0 -421
  391. package/venv/lib/python3.10/site-packages/paho/mqtt/publish.py +0 -306
  392. package/venv/lib/python3.10/site-packages/paho/mqtt/py.typed +0 -0
  393. package/venv/lib/python3.10/site-packages/paho/mqtt/reasoncodes.py +0 -223
  394. package/venv/lib/python3.10/site-packages/paho/mqtt/subscribe.py +0 -281
  395. package/venv/lib/python3.10/site-packages/paho/mqtt/subscribeoptions.py +0 -113
  396. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/INSTALLER +0 -1
  397. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/METADATA +0 -635
  398. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/RECORD +0 -29
  399. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/REQUESTED +0 -0
  400. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/WHEEL +0 -4
  401. package/venv/lib/python3.10/site-packages/paho_mqtt-2.1.0.dist-info/licenses/LICENSE.txt +0 -3
  402. package/venv/lib/python3.10/site-packages/pip/__init__.py +0 -13
  403. package/venv/lib/python3.10/site-packages/pip/__main__.py +0 -31
  404. package/venv/lib/python3.10/site-packages/pip/_internal/__init__.py +0 -19
  405. package/venv/lib/python3.10/site-packages/pip/_internal/build_env.py +0 -296
  406. package/venv/lib/python3.10/site-packages/pip/_internal/cache.py +0 -264
  407. package/venv/lib/python3.10/site-packages/pip/_internal/cli/__init__.py +0 -4
  408. package/venv/lib/python3.10/site-packages/pip/_internal/cli/autocompletion.py +0 -171
  409. package/venv/lib/python3.10/site-packages/pip/_internal/cli/base_command.py +0 -220
  410. package/venv/lib/python3.10/site-packages/pip/_internal/cli/cmdoptions.py +0 -1018
  411. package/venv/lib/python3.10/site-packages/pip/_internal/cli/command_context.py +0 -27
  412. package/venv/lib/python3.10/site-packages/pip/_internal/cli/main.py +0 -70
  413. package/venv/lib/python3.10/site-packages/pip/_internal/cli/main_parser.py +0 -87
  414. package/venv/lib/python3.10/site-packages/pip/_internal/cli/parser.py +0 -292
  415. package/venv/lib/python3.10/site-packages/pip/_internal/cli/progress_bars.py +0 -321
  416. package/venv/lib/python3.10/site-packages/pip/_internal/cli/req_command.py +0 -506
  417. package/venv/lib/python3.10/site-packages/pip/_internal/cli/spinners.py +0 -157
  418. package/venv/lib/python3.10/site-packages/pip/_internal/cli/status_codes.py +0 -6
  419. package/venv/lib/python3.10/site-packages/pip/_internal/commands/__init__.py +0 -127
  420. package/venv/lib/python3.10/site-packages/pip/_internal/commands/cache.py +0 -223
  421. package/venv/lib/python3.10/site-packages/pip/_internal/commands/check.py +0 -53
  422. package/venv/lib/python3.10/site-packages/pip/_internal/commands/completion.py +0 -96
  423. package/venv/lib/python3.10/site-packages/pip/_internal/commands/configuration.py +0 -266
  424. package/venv/lib/python3.10/site-packages/pip/_internal/commands/debug.py +0 -202
  425. package/venv/lib/python3.10/site-packages/pip/_internal/commands/download.py +0 -140
  426. package/venv/lib/python3.10/site-packages/pip/_internal/commands/freeze.py +0 -97
  427. package/venv/lib/python3.10/site-packages/pip/_internal/commands/hash.py +0 -59
  428. package/venv/lib/python3.10/site-packages/pip/_internal/commands/help.py +0 -41
  429. package/venv/lib/python3.10/site-packages/pip/_internal/commands/index.py +0 -139
  430. package/venv/lib/python3.10/site-packages/pip/_internal/commands/install.py +0 -771
  431. package/venv/lib/python3.10/site-packages/pip/_internal/commands/list.py +0 -363
  432. package/venv/lib/python3.10/site-packages/pip/_internal/commands/search.py +0 -174
  433. package/venv/lib/python3.10/site-packages/pip/_internal/commands/show.py +0 -178
  434. package/venv/lib/python3.10/site-packages/pip/_internal/commands/uninstall.py +0 -105
  435. package/venv/lib/python3.10/site-packages/pip/_internal/commands/wheel.py +0 -178
  436. package/venv/lib/python3.10/site-packages/pip/_internal/configuration.py +0 -366
  437. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/__init__.py +0 -21
  438. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/base.py +0 -36
  439. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/installed.py +0 -20
  440. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/sdist.py +0 -127
  441. package/venv/lib/python3.10/site-packages/pip/_internal/distributions/wheel.py +0 -31
  442. package/venv/lib/python3.10/site-packages/pip/_internal/exceptions.py +0 -658
  443. package/venv/lib/python3.10/site-packages/pip/_internal/index/__init__.py +0 -2
  444. package/venv/lib/python3.10/site-packages/pip/_internal/index/collector.py +0 -648
  445. package/venv/lib/python3.10/site-packages/pip/_internal/index/package_finder.py +0 -1004
  446. package/venv/lib/python3.10/site-packages/pip/_internal/index/sources.py +0 -224
  447. package/venv/lib/python3.10/site-packages/pip/_internal/locations/__init__.py +0 -520
  448. package/venv/lib/python3.10/site-packages/pip/_internal/locations/_distutils.py +0 -169
  449. package/venv/lib/python3.10/site-packages/pip/_internal/locations/_sysconfig.py +0 -219
  450. package/venv/lib/python3.10/site-packages/pip/_internal/locations/base.py +0 -52
  451. package/venv/lib/python3.10/site-packages/pip/_internal/main.py +0 -12
  452. package/venv/lib/python3.10/site-packages/pip/_internal/metadata/__init__.py +0 -62
  453. package/venv/lib/python3.10/site-packages/pip/_internal/metadata/base.py +0 -546
  454. package/venv/lib/python3.10/site-packages/pip/_internal/metadata/pkg_resources.py +0 -256
  455. package/venv/lib/python3.10/site-packages/pip/_internal/models/__init__.py +0 -2
  456. package/venv/lib/python3.10/site-packages/pip/_internal/models/candidate.py +0 -34
  457. package/venv/lib/python3.10/site-packages/pip/_internal/models/direct_url.py +0 -220
  458. package/venv/lib/python3.10/site-packages/pip/_internal/models/format_control.py +0 -80
  459. package/venv/lib/python3.10/site-packages/pip/_internal/models/index.py +0 -28
  460. package/venv/lib/python3.10/site-packages/pip/_internal/models/link.py +0 -288
  461. package/venv/lib/python3.10/site-packages/pip/_internal/models/scheme.py +0 -31
  462. package/venv/lib/python3.10/site-packages/pip/_internal/models/search_scope.py +0 -129
  463. package/venv/lib/python3.10/site-packages/pip/_internal/models/selection_prefs.py +0 -51
  464. package/venv/lib/python3.10/site-packages/pip/_internal/models/target_python.py +0 -110
  465. package/venv/lib/python3.10/site-packages/pip/_internal/models/wheel.py +0 -89
  466. package/venv/lib/python3.10/site-packages/pip/_internal/network/__init__.py +0 -2
  467. package/venv/lib/python3.10/site-packages/pip/_internal/network/auth.py +0 -323
  468. package/venv/lib/python3.10/site-packages/pip/_internal/network/cache.py +0 -69
  469. package/venv/lib/python3.10/site-packages/pip/_internal/network/download.py +0 -185
  470. package/venv/lib/python3.10/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  471. package/venv/lib/python3.10/site-packages/pip/_internal/network/session.py +0 -454
  472. package/venv/lib/python3.10/site-packages/pip/_internal/network/utils.py +0 -96
  473. package/venv/lib/python3.10/site-packages/pip/_internal/network/xmlrpc.py +0 -60
  474. package/venv/lib/python3.10/site-packages/pip/_internal/operations/__init__.py +0 -0
  475. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  476. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/metadata.py +0 -39
  477. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  478. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  479. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  480. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  481. package/venv/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -102
  482. package/venv/lib/python3.10/site-packages/pip/_internal/operations/check.py +0 -149
  483. package/venv/lib/python3.10/site-packages/pip/_internal/operations/freeze.py +0 -254
  484. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  485. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  486. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/legacy.py +0 -120
  487. package/venv/lib/python3.10/site-packages/pip/_internal/operations/install/wheel.py +0 -738
  488. package/venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py +0 -642
  489. package/venv/lib/python3.10/site-packages/pip/_internal/pyproject.py +0 -168
  490. package/venv/lib/python3.10/site-packages/pip/_internal/req/__init__.py +0 -94
  491. package/venv/lib/python3.10/site-packages/pip/_internal/req/constructors.py +0 -490
  492. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_file.py +0 -536
  493. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_install.py +0 -858
  494. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_set.py +0 -189
  495. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_tracker.py +0 -124
  496. package/venv/lib/python3.10/site-packages/pip/_internal/req/req_uninstall.py +0 -633
  497. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/__init__.py +0 -0
  498. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/base.py +0 -20
  499. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  500. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -467
  501. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  502. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -141
  503. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -547
  504. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -739
  505. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -155
  506. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -248
  507. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -68
  508. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  509. package/venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -292
  510. package/venv/lib/python3.10/site-packages/pip/_internal/self_outdated_check.py +0 -189
  511. package/venv/lib/python3.10/site-packages/pip/_internal/utils/__init__.py +0 -0
  512. package/venv/lib/python3.10/site-packages/pip/_internal/utils/_log.py +0 -38
  513. package/venv/lib/python3.10/site-packages/pip/_internal/utils/appdirs.py +0 -52
  514. package/venv/lib/python3.10/site-packages/pip/_internal/utils/compat.py +0 -63
  515. package/venv/lib/python3.10/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  516. package/venv/lib/python3.10/site-packages/pip/_internal/utils/datetime.py +0 -11
  517. package/venv/lib/python3.10/site-packages/pip/_internal/utils/deprecation.py +0 -120
  518. package/venv/lib/python3.10/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  519. package/venv/lib/python3.10/site-packages/pip/_internal/utils/distutils_args.py +0 -42
  520. package/venv/lib/python3.10/site-packages/pip/_internal/utils/egg_link.py +0 -75
  521. package/venv/lib/python3.10/site-packages/pip/_internal/utils/encoding.py +0 -36
  522. package/venv/lib/python3.10/site-packages/pip/_internal/utils/entrypoints.py +0 -27
  523. package/venv/lib/python3.10/site-packages/pip/_internal/utils/filesystem.py +0 -182
  524. package/venv/lib/python3.10/site-packages/pip/_internal/utils/filetypes.py +0 -27
  525. package/venv/lib/python3.10/site-packages/pip/_internal/utils/glibc.py +0 -88
  526. package/venv/lib/python3.10/site-packages/pip/_internal/utils/hashes.py +0 -144
  527. package/venv/lib/python3.10/site-packages/pip/_internal/utils/inject_securetransport.py +0 -35
  528. package/venv/lib/python3.10/site-packages/pip/_internal/utils/logging.py +0 -343
  529. package/venv/lib/python3.10/site-packages/pip/_internal/utils/misc.py +0 -653
  530. package/venv/lib/python3.10/site-packages/pip/_internal/utils/models.py +0 -39
  531. package/venv/lib/python3.10/site-packages/pip/_internal/utils/packaging.py +0 -57
  532. package/venv/lib/python3.10/site-packages/pip/_internal/utils/setuptools_build.py +0 -195
  533. package/venv/lib/python3.10/site-packages/pip/_internal/utils/subprocess.py +0 -260
  534. package/venv/lib/python3.10/site-packages/pip/_internal/utils/temp_dir.py +0 -246
  535. package/venv/lib/python3.10/site-packages/pip/_internal/utils/unpacking.py +0 -258
  536. package/venv/lib/python3.10/site-packages/pip/_internal/utils/urls.py +0 -62
  537. package/venv/lib/python3.10/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  538. package/venv/lib/python3.10/site-packages/pip/_internal/utils/wheel.py +0 -136
  539. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/__init__.py +0 -15
  540. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/bazaar.py +0 -101
  541. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/git.py +0 -526
  542. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/mercurial.py +0 -163
  543. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/subversion.py +0 -324
  544. package/venv/lib/python3.10/site-packages/pip/_internal/vcs/versioncontrol.py +0 -705
  545. package/venv/lib/python3.10/site-packages/pip/_internal/wheel_builder.py +0 -377
  546. package/venv/lib/python3.10/site-packages/pip/_vendor/__init__.py +0 -111
  547. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -18
  548. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -61
  549. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -137
  550. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/cache.py +0 -43
  551. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -6
  552. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -150
  553. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -37
  554. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/compat.py +0 -32
  555. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/controller.py +0 -415
  556. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -111
  557. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -139
  558. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -186
  559. package/venv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -33
  560. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/__init__.py +0 -3
  561. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  562. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/cacert.pem +0 -4362
  563. package/venv/lib/python3.10/site-packages/pip/_vendor/certifi/core.py +0 -76
  564. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/__init__.py +0 -83
  565. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  566. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  567. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/chardistribution.py +0 -233
  568. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -107
  569. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/charsetprober.py +0 -145
  570. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -1
  571. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -84
  572. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -88
  573. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/compat.py +0 -36
  574. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  575. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/enums.py +0 -76
  576. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/escprober.py +0 -101
  577. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/escsm.py +0 -246
  578. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -92
  579. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -195
  580. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  581. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -387
  582. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/euctwprober.py +0 -46
  583. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -283
  584. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -46
  585. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -292
  586. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  587. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/jpcntx.py +0 -233
  588. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4650
  589. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4398
  590. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4383
  591. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4650
  592. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5718
  593. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4383
  594. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4383
  595. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/latin1prober.py +0 -145
  596. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -91
  597. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -54
  598. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/mbcssm.py +0 -572
  599. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  600. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -310
  601. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -145
  602. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -83
  603. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/sjisprober.py +0 -92
  604. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/universaldetector.py +0 -286
  605. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  606. package/venv/lib/python3.10/site-packages/pip/_vendor/chardet/version.py +0 -9
  607. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/__init__.py +0 -6
  608. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  609. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -258
  610. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/initialise.py +0 -80
  611. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/win32.py +0 -152
  612. package/venv/lib/python3.10/site-packages/pip/_vendor/colorama/winterm.py +0 -169
  613. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/__init__.py +0 -23
  614. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/compat.py +0 -1116
  615. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/database.py +0 -1345
  616. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/index.py +0 -509
  617. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/locators.py +0 -1300
  618. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/manifest.py +0 -393
  619. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/markers.py +0 -152
  620. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/metadata.py +0 -1058
  621. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/resources.py +0 -358
  622. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/scripts.py +0 -429
  623. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/util.py +0 -1932
  624. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/version.py +0 -739
  625. package/venv/lib/python3.10/site-packages/pip/_vendor/distlib/wheel.py +0 -1053
  626. package/venv/lib/python3.10/site-packages/pip/_vendor/distro.py +0 -1386
  627. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/__init__.py +0 -35
  628. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_ihatexml.py +0 -289
  629. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_inputstream.py +0 -918
  630. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_tokenizer.py +0 -1735
  631. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_trie/__init__.py +0 -5
  632. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_trie/_base.py +0 -40
  633. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_trie/py.py +0 -67
  634. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/_utils.py +0 -159
  635. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/constants.py +0 -2946
  636. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  637. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +0 -29
  638. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/base.py +0 -12
  639. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +0 -73
  640. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/lint.py +0 -93
  641. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +0 -207
  642. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +0 -916
  643. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/filters/whitespace.py +0 -38
  644. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/html5parser.py +0 -2795
  645. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/serializer.py +0 -409
  646. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +0 -30
  647. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +0 -54
  648. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +0 -50
  649. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +0 -88
  650. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/base.py +0 -417
  651. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +0 -239
  652. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +0 -343
  653. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +0 -392
  654. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +0 -154
  655. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/base.py +0 -252
  656. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +0 -43
  657. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +0 -131
  658. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +0 -215
  659. package/venv/lib/python3.10/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +0 -69
  660. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/__init__.py +0 -44
  661. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/codec.py +0 -112
  662. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/compat.py +0 -13
  663. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/core.py +0 -397
  664. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/idnadata.py +0 -2137
  665. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/intranges.py +0 -54
  666. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/package_data.py +0 -2
  667. package/venv/lib/python3.10/site-packages/pip/_vendor/idna/uts46data.py +0 -8512
  668. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/__init__.py +0 -54
  669. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/_version.py +0 -1
  670. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  671. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  672. package/venv/lib/python3.10/site-packages/pip/_vendor/msgpack/fallback.py +0 -1012
  673. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  674. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  675. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  676. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  677. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  678. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/markers.py +0 -304
  679. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  680. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/specifiers.py +0 -802
  681. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/tags.py +0 -487
  682. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/utils.py +0 -136
  683. package/venv/lib/python3.10/site-packages/pip/_vendor/packaging/version.py +0 -504
  684. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/__init__.py +0 -6
  685. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/build.py +0 -127
  686. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/check.py +0 -207
  687. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/colorlog.py +0 -115
  688. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/compat.py +0 -51
  689. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/dirtools.py +0 -44
  690. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/envbuild.py +0 -171
  691. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/__init__.py +0 -17
  692. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py +0 -363
  693. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/meta.py +0 -92
  694. package/venv/lib/python3.10/site-packages/pip/_vendor/pep517/wrappers.py +0 -375
  695. package/venv/lib/python3.10/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3296
  696. package/venv/lib/python3.10/site-packages/pip/_vendor/pkg_resources/py31compat.py +0 -23
  697. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/__init__.py +0 -331
  698. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/__main__.py +0 -46
  699. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/android.py +0 -119
  700. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/api.py +0 -156
  701. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/macos.py +0 -64
  702. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/unix.py +0 -181
  703. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/version.py +0 -4
  704. package/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/windows.py +0 -182
  705. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/__init__.py +0 -189
  706. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/bar.py +0 -93
  707. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/colors.py +0 -79
  708. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/counter.py +0 -47
  709. package/venv/lib/python3.10/site-packages/pip/_vendor/progress/spinner.py +0 -45
  710. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/__init__.py +0 -83
  711. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  712. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/cmdline.py +0 -663
  713. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/console.py +0 -70
  714. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/filter.py +0 -71
  715. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -937
  716. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatter.py +0 -94
  717. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -153
  718. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -84
  719. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -108
  720. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -168
  721. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/html.py +0 -983
  722. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/img.py +0 -641
  723. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -179
  724. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -511
  725. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/other.py +0 -161
  726. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -83
  727. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -146
  728. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -188
  729. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -127
  730. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -338
  731. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexer.py +0 -879
  732. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -341
  733. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -580
  734. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1188
  735. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  736. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/plugin.py +0 -69
  737. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  738. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  739. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/sphinxext.py +0 -155
  740. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/style.py +0 -197
  741. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -93
  742. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/token.py +0 -212
  743. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  744. package/venv/lib/python3.10/site-packages/pip/_vendor/pygments/util.py +0 -308
  745. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/__init__.py +0 -328
  746. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/actions.py +0 -207
  747. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/common.py +0 -424
  748. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/core.py +0 -5789
  749. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -593
  750. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -267
  751. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/helpers.py +0 -1069
  752. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/results.py +0 -760
  753. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/testing.py +0 -331
  754. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/unicode.py +0 -332
  755. package/venv/lib/python3.10/site-packages/pip/_vendor/pyparsing/util.py +0 -235
  756. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/__init__.py +0 -154
  757. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/__version__.py +0 -14
  758. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/_internal_utils.py +0 -42
  759. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/adapters.py +0 -538
  760. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/api.py +0 -159
  761. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/auth.py +0 -305
  762. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/certs.py +0 -18
  763. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/compat.py +0 -77
  764. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/cookies.py +0 -549
  765. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/exceptions.py +0 -133
  766. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/help.py +0 -132
  767. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/hooks.py +0 -34
  768. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/models.py +0 -973
  769. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/packages.py +0 -16
  770. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/sessions.py +0 -771
  771. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/status_codes.py +0 -123
  772. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/structures.py +0 -105
  773. package/venv/lib/python3.10/site-packages/pip/_vendor/requests/utils.py +0 -1060
  774. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  775. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  776. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  777. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  778. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/reporters.py +0 -43
  779. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -482
  780. package/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py +0 -165
  781. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/__init__.py +0 -172
  782. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/__main__.py +0 -280
  783. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_cell_widths.py +0 -451
  784. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  785. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  786. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_extension.py +0 -10
  787. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_inspect.py +0 -210
  788. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  789. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_loop.py +0 -43
  790. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_lru_cache.py +0 -34
  791. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  792. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_pick.py +0 -17
  793. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_ratio.py +0 -160
  794. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_spinners.py +0 -848
  795. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_stack.py +0 -16
  796. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_timer.py +0 -19
  797. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_windows.py +0 -72
  798. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/_wrap.py +0 -55
  799. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/abc.py +0 -33
  800. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/align.py +0 -312
  801. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/ansi.py +0 -228
  802. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/bar.py +0 -94
  803. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/box.py +0 -483
  804. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/cells.py +0 -147
  805. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/color.py +0 -581
  806. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  807. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/columns.py +0 -187
  808. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/console.py +0 -2211
  809. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/constrain.py +0 -37
  810. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/containers.py +0 -167
  811. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/control.py +0 -175
  812. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/default_styles.py +0 -183
  813. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/diagnose.py +0 -6
  814. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/emoji.py +0 -96
  815. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/errors.py +0 -34
  816. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/file_proxy.py +0 -54
  817. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/filesize.py +0 -89
  818. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/highlighter.py +0 -147
  819. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/json.py +0 -140
  820. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/jupyter.py +0 -92
  821. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/layout.py +0 -444
  822. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/live.py +0 -365
  823. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/live_render.py +0 -113
  824. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/logging.py +0 -268
  825. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/markup.py +0 -244
  826. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/measure.py +0 -149
  827. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/padding.py +0 -141
  828. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/pager.py +0 -34
  829. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/palette.py +0 -100
  830. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/panel.py +0 -250
  831. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/pretty.py +0 -903
  832. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/progress.py +0 -1036
  833. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/progress_bar.py +0 -216
  834. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/prompt.py +0 -376
  835. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/protocol.py +0 -42
  836. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/region.py +0 -10
  837. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/repr.py +0 -151
  838. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/rule.py +0 -115
  839. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/scope.py +0 -86
  840. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/screen.py +0 -54
  841. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/segment.py +0 -720
  842. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/spinner.py +0 -134
  843. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/status.py +0 -132
  844. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/style.py +0 -785
  845. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/styled.py +0 -42
  846. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/syntax.py +0 -735
  847. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/table.py +0 -968
  848. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/tabulate.py +0 -51
  849. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/terminal_theme.py +0 -55
  850. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/text.py +0 -1282
  851. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/theme.py +0 -112
  852. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/themes.py +0 -5
  853. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/traceback.py +0 -678
  854. package/venv/lib/python3.10/site-packages/pip/_vendor/rich/tree.py +0 -249
  855. package/venv/lib/python3.10/site-packages/pip/_vendor/six.py +0 -998
  856. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/__init__.py +0 -517
  857. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -92
  858. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/_utils.py +0 -68
  859. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/after.py +0 -46
  860. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/before.py +0 -41
  861. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -58
  862. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  863. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/retry.py +0 -213
  864. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/stop.py +0 -96
  865. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  866. package/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/wait.py +0 -191
  867. package/venv/lib/python3.10/site-packages/pip/_vendor/tomli/__init__.py +0 -6
  868. package/venv/lib/python3.10/site-packages/pip/_vendor/tomli/_parser.py +0 -703
  869. package/venv/lib/python3.10/site-packages/pip/_vendor/tomli/_re.py +0 -83
  870. package/venv/lib/python3.10/site-packages/pip/_vendor/typing_extensions.py +0 -2296
  871. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/__init__.py +0 -85
  872. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  873. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  874. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/connection.py +0 -569
  875. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1113
  876. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  877. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  878. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  879. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  880. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  881. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  882. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  883. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -511
  884. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -922
  885. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  886. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  887. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  888. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  889. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  890. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  891. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  892. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1077
  893. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -539
  894. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/request.py +0 -170
  895. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py +0 -821
  896. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  897. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  898. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  899. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  900. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/request.py +0 -143
  901. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  902. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/retry.py +0 -622
  903. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  904. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -161
  905. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  906. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -268
  907. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/url.py +0 -432
  908. package/venv/lib/python3.10/site-packages/pip/_vendor/urllib3/util/wait.py +0 -153
  909. package/venv/lib/python3.10/site-packages/pip/_vendor/vendor.txt +0 -25
  910. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  911. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  912. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  913. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  914. package/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  915. package/venv/lib/python3.10/site-packages/pip/py.typed +0 -4
  916. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/INSTALLER +0 -1
  917. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/LICENSE.txt +0 -20
  918. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/METADATA +0 -92
  919. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/RECORD +0 -1037
  920. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/REQUESTED +0 -0
  921. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/WHEEL +0 -5
  922. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/entry_points.txt +0 -5
  923. package/venv/lib/python3.10/site-packages/pip-22.0.2.dist-info/top_level.txt +0 -1
  924. package/venv/lib/python3.10/site-packages/pkg_resources/__init__.py +0 -3303
  925. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  926. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/appdirs.py +0 -608
  927. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__about__.py +0 -26
  928. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/__init__.py +0 -25
  929. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_manylinux.py +0 -301
  930. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_musllinux.py +0 -136
  931. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/_structures.py +0 -67
  932. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/markers.py +0 -304
  933. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/requirements.py +0 -146
  934. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/specifiers.py +0 -828
  935. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/tags.py +0 -484
  936. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/utils.py +0 -136
  937. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/version.py +0 -504
  938. package/venv/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing.py +0 -5742
  939. package/venv/lib/python3.10/site-packages/pkg_resources/extern/__init__.py +0 -73
  940. package/venv/lib/python3.10/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -6
  941. package/venv/lib/python3.10/site-packages/propcache/__init__.py +0 -32
  942. package/venv/lib/python3.10/site-packages/propcache/_helpers.py +0 -39
  943. package/venv/lib/python3.10/site-packages/propcache/_helpers_c.cpython-310-x86_64-linux-gnu.so +0 -0
  944. package/venv/lib/python3.10/site-packages/propcache/_helpers_c.pyx +0 -84
  945. package/venv/lib/python3.10/site-packages/propcache/_helpers_py.py +0 -56
  946. package/venv/lib/python3.10/site-packages/propcache/api.py +0 -8
  947. package/venv/lib/python3.10/site-packages/propcache/py.typed +0 -1
  948. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/INSTALLER +0 -1
  949. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/LICENSE +0 -202
  950. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/METADATA +0 -275
  951. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/NOTICE +0 -13
  952. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/RECORD +0 -18
  953. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/WHEEL +0 -6
  954. package/venv/lib/python3.10/site-packages/propcache-0.2.1.dist-info/top_level.txt +0 -1
  955. package/venv/lib/python3.10/site-packages/pycparser/__init__.py +0 -93
  956. package/venv/lib/python3.10/site-packages/pycparser/_ast_gen.py +0 -336
  957. package/venv/lib/python3.10/site-packages/pycparser/_build_tables.py +0 -40
  958. package/venv/lib/python3.10/site-packages/pycparser/_c_ast.cfg +0 -195
  959. package/venv/lib/python3.10/site-packages/pycparser/ast_transforms.py +0 -164
  960. package/venv/lib/python3.10/site-packages/pycparser/c_ast.py +0 -1125
  961. package/venv/lib/python3.10/site-packages/pycparser/c_generator.py +0 -502
  962. package/venv/lib/python3.10/site-packages/pycparser/c_lexer.py +0 -555
  963. package/venv/lib/python3.10/site-packages/pycparser/c_parser.py +0 -1950
  964. package/venv/lib/python3.10/site-packages/pycparser/lextab.py +0 -10
  965. package/venv/lib/python3.10/site-packages/pycparser/ply/__init__.py +0 -5
  966. package/venv/lib/python3.10/site-packages/pycparser/ply/cpp.py +0 -905
  967. package/venv/lib/python3.10/site-packages/pycparser/ply/ctokens.py +0 -133
  968. package/venv/lib/python3.10/site-packages/pycparser/ply/lex.py +0 -1099
  969. package/venv/lib/python3.10/site-packages/pycparser/ply/yacc.py +0 -3494
  970. package/venv/lib/python3.10/site-packages/pycparser/ply/ygen.py +0 -74
  971. package/venv/lib/python3.10/site-packages/pycparser/plyparser.py +0 -133
  972. package/venv/lib/python3.10/site-packages/pycparser/yacctab.py +0 -369
  973. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/INSTALLER +0 -1
  974. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/LICENSE +0 -27
  975. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/METADATA +0 -28
  976. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/RECORD +0 -41
  977. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/WHEEL +0 -5
  978. package/venv/lib/python3.10/site-packages/pycparser-2.22.dist-info/top_level.txt +0 -1
  979. package/venv/lib/python3.10/site-packages/pyparsing/__init__.py +0 -326
  980. package/venv/lib/python3.10/site-packages/pyparsing/actions.py +0 -219
  981. package/venv/lib/python3.10/site-packages/pyparsing/common.py +0 -434
  982. package/venv/lib/python3.10/site-packages/pyparsing/core.py +0 -6226
  983. package/venv/lib/python3.10/site-packages/pyparsing/diagram/__init__.py +0 -744
  984. package/venv/lib/python3.10/site-packages/pyparsing/exceptions.py +0 -314
  985. package/venv/lib/python3.10/site-packages/pyparsing/helpers.py +0 -1102
  986. package/venv/lib/python3.10/site-packages/pyparsing/py.typed +0 -0
  987. package/venv/lib/python3.10/site-packages/pyparsing/results.py +0 -816
  988. package/venv/lib/python3.10/site-packages/pyparsing/testing.py +0 -362
  989. package/venv/lib/python3.10/site-packages/pyparsing/unicode.py +0 -356
  990. package/venv/lib/python3.10/site-packages/pyparsing/util.py +0 -398
  991. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/INSTALLER +0 -1
  992. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/LICENSE +0 -18
  993. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/METADATA +0 -124
  994. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/RECORD +0 -28
  995. package/venv/lib/python3.10/site-packages/pyparsing-3.2.1.dist-info/WHEEL +0 -4
  996. package/venv/lib/python3.10/site-packages/requests/__init__.py +0 -184
  997. package/venv/lib/python3.10/site-packages/requests/__version__.py +0 -14
  998. package/venv/lib/python3.10/site-packages/requests/_internal_utils.py +0 -50
  999. package/venv/lib/python3.10/site-packages/requests/adapters.py +0 -719
  1000. package/venv/lib/python3.10/site-packages/requests/api.py +0 -157
  1001. package/venv/lib/python3.10/site-packages/requests/auth.py +0 -314
  1002. package/venv/lib/python3.10/site-packages/requests/certs.py +0 -17
  1003. package/venv/lib/python3.10/site-packages/requests/compat.py +0 -94
  1004. package/venv/lib/python3.10/site-packages/requests/cookies.py +0 -561
  1005. package/venv/lib/python3.10/site-packages/requests/exceptions.py +0 -151
  1006. package/venv/lib/python3.10/site-packages/requests/help.py +0 -134
  1007. package/venv/lib/python3.10/site-packages/requests/hooks.py +0 -33
  1008. package/venv/lib/python3.10/site-packages/requests/models.py +0 -1037
  1009. package/venv/lib/python3.10/site-packages/requests/packages.py +0 -23
  1010. package/venv/lib/python3.10/site-packages/requests/sessions.py +0 -831
  1011. package/venv/lib/python3.10/site-packages/requests/status_codes.py +0 -128
  1012. package/venv/lib/python3.10/site-packages/requests/structures.py +0 -99
  1013. package/venv/lib/python3.10/site-packages/requests/utils.py +0 -1096
  1014. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/INSTALLER +0 -1
  1015. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/LICENSE +0 -175
  1016. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/METADATA +0 -119
  1017. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/RECORD +0 -43
  1018. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/REQUESTED +0 -0
  1019. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/WHEEL +0 -5
  1020. package/venv/lib/python3.10/site-packages/requests-2.32.3.dist-info/top_level.txt +0 -1
  1021. package/venv/lib/python3.10/site-packages/requests_toolbelt/__init__.py +0 -34
  1022. package/venv/lib/python3.10/site-packages/requests_toolbelt/_compat.py +0 -302
  1023. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/__init__.py +0 -15
  1024. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/appengine.py +0 -206
  1025. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/fingerprint.py +0 -48
  1026. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/host_header_ssl.py +0 -43
  1027. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/socket_options.py +0 -129
  1028. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/source.py +0 -67
  1029. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/ssl.py +0 -66
  1030. package/venv/lib/python3.10/site-packages/requests_toolbelt/adapters/x509.py +0 -196
  1031. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/__init__.py +0 -0
  1032. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/_digest_auth_compat.py +0 -29
  1033. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/guess.py +0 -146
  1034. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/handler.py +0 -142
  1035. package/venv/lib/python3.10/site-packages/requests_toolbelt/auth/http_proxy_digest.py +0 -103
  1036. package/venv/lib/python3.10/site-packages/requests_toolbelt/cookies/__init__.py +0 -0
  1037. package/venv/lib/python3.10/site-packages/requests_toolbelt/cookies/forgetful.py +0 -7
  1038. package/venv/lib/python3.10/site-packages/requests_toolbelt/downloadutils/__init__.py +0 -0
  1039. package/venv/lib/python3.10/site-packages/requests_toolbelt/downloadutils/stream.py +0 -176
  1040. package/venv/lib/python3.10/site-packages/requests_toolbelt/downloadutils/tee.py +0 -123
  1041. package/venv/lib/python3.10/site-packages/requests_toolbelt/exceptions.py +0 -25
  1042. package/venv/lib/python3.10/site-packages/requests_toolbelt/multipart/__init__.py +0 -31
  1043. package/venv/lib/python3.10/site-packages/requests_toolbelt/multipart/decoder.py +0 -156
  1044. package/venv/lib/python3.10/site-packages/requests_toolbelt/multipart/encoder.py +0 -655
  1045. package/venv/lib/python3.10/site-packages/requests_toolbelt/sessions.py +0 -89
  1046. package/venv/lib/python3.10/site-packages/requests_toolbelt/streaming_iterator.py +0 -116
  1047. package/venv/lib/python3.10/site-packages/requests_toolbelt/threaded/__init__.py +0 -97
  1048. package/venv/lib/python3.10/site-packages/requests_toolbelt/threaded/pool.py +0 -211
  1049. package/venv/lib/python3.10/site-packages/requests_toolbelt/threaded/thread.py +0 -53
  1050. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/__init__.py +0 -0
  1051. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/deprecated.py +0 -91
  1052. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/dump.py +0 -198
  1053. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/formdata.py +0 -108
  1054. package/venv/lib/python3.10/site-packages/requests_toolbelt/utils/user_agent.py +0 -143
  1055. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/AUTHORS.rst +0 -57
  1056. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/INSTALLER +0 -1
  1057. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/LICENSE +0 -13
  1058. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/METADATA +0 -521
  1059. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/RECORD +0 -75
  1060. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/WHEEL +0 -6
  1061. package/venv/lib/python3.10/site-packages/requests_toolbelt-1.0.0.dist-info/top_level.txt +0 -1
  1062. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/__init__.py +0 -1
  1063. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/_scrypted_arlo_go.cpython-310-x86_64-linux-gnu.h +0 -555
  1064. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/_scrypted_arlo_go.cpython-310-x86_64-linux-gnu.so +0 -0
  1065. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/build.py +0 -344
  1066. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/go.py +0 -2215
  1067. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go.c +0 -6019
  1068. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go.go +0 -3612
  1069. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go.py +0 -1910
  1070. package/venv/lib/python3.10/site-packages/scrypted_arlo_go/scrypted_arlo_go_go.h +0 -555
  1071. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/INSTALLER +0 -1
  1072. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/METADATA +0 -11
  1073. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/RECORD +0 -19
  1074. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/REQUESTED +0 -0
  1075. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/WHEEL +0 -8
  1076. package/venv/lib/python3.10/site-packages/scrypted_arlo_go-0.7.6.dist-info/top_level.txt +0 -1
  1077. package/venv/lib/python3.10/site-packages/setuptools/__init__.py +0 -242
  1078. package/venv/lib/python3.10/site-packages/setuptools/_deprecation_warning.py +0 -7
  1079. package/venv/lib/python3.10/site-packages/setuptools/_distutils/__init__.py +0 -24
  1080. package/venv/lib/python3.10/site-packages/setuptools/_distutils/_msvccompiler.py +0 -561
  1081. package/venv/lib/python3.10/site-packages/setuptools/_distutils/archive_util.py +0 -256
  1082. package/venv/lib/python3.10/site-packages/setuptools/_distutils/bcppcompiler.py +0 -393
  1083. package/venv/lib/python3.10/site-packages/setuptools/_distutils/ccompiler.py +0 -1123
  1084. package/venv/lib/python3.10/site-packages/setuptools/_distutils/cmd.py +0 -403
  1085. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/__init__.py +0 -31
  1086. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist.py +0 -143
  1087. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -123
  1088. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_msi.py +0 -749
  1089. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -579
  1090. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist_wininst.py +0 -377
  1091. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build.py +0 -157
  1092. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_clib.py +0 -209
  1093. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py +0 -755
  1094. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_py.py +0 -392
  1095. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/build_scripts.py +0 -152
  1096. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/check.py +0 -148
  1097. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1098. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/config.py +0 -344
  1099. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install.py +0 -721
  1100. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_data.py +0 -79
  1101. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -84
  1102. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_headers.py +0 -47
  1103. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_lib.py +0 -217
  1104. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/install_scripts.py +0 -60
  1105. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/py37compat.py +0 -30
  1106. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/register.py +0 -304
  1107. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py +0 -494
  1108. package/venv/lib/python3.10/site-packages/setuptools/_distutils/command/upload.py +0 -214
  1109. package/venv/lib/python3.10/site-packages/setuptools/_distutils/config.py +0 -130
  1110. package/venv/lib/python3.10/site-packages/setuptools/_distutils/core.py +0 -249
  1111. package/venv/lib/python3.10/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -425
  1112. package/venv/lib/python3.10/site-packages/setuptools/_distutils/debug.py +0 -5
  1113. package/venv/lib/python3.10/site-packages/setuptools/_distutils/dep_util.py +0 -92
  1114. package/venv/lib/python3.10/site-packages/setuptools/_distutils/dir_util.py +0 -210
  1115. package/venv/lib/python3.10/site-packages/setuptools/_distutils/dist.py +0 -1257
  1116. package/venv/lib/python3.10/site-packages/setuptools/_distutils/errors.py +0 -97
  1117. package/venv/lib/python3.10/site-packages/setuptools/_distutils/extension.py +0 -240
  1118. package/venv/lib/python3.10/site-packages/setuptools/_distutils/fancy_getopt.py +0 -457
  1119. package/venv/lib/python3.10/site-packages/setuptools/_distutils/file_util.py +0 -238
  1120. package/venv/lib/python3.10/site-packages/setuptools/_distutils/filelist.py +0 -355
  1121. package/venv/lib/python3.10/site-packages/setuptools/_distutils/log.py +0 -77
  1122. package/venv/lib/python3.10/site-packages/setuptools/_distutils/msvc9compiler.py +0 -788
  1123. package/venv/lib/python3.10/site-packages/setuptools/_distutils/msvccompiler.py +0 -643
  1124. package/venv/lib/python3.10/site-packages/setuptools/_distutils/py35compat.py +0 -19
  1125. package/venv/lib/python3.10/site-packages/setuptools/_distutils/py38compat.py +0 -7
  1126. package/venv/lib/python3.10/site-packages/setuptools/_distutils/spawn.py +0 -106
  1127. package/venv/lib/python3.10/site-packages/setuptools/_distutils/sysconfig.py +0 -601
  1128. package/venv/lib/python3.10/site-packages/setuptools/_distutils/text_file.py +0 -286
  1129. package/venv/lib/python3.10/site-packages/setuptools/_distutils/unixccompiler.py +0 -325
  1130. package/venv/lib/python3.10/site-packages/setuptools/_distutils/util.py +0 -548
  1131. package/venv/lib/python3.10/site-packages/setuptools/_distutils/version.py +0 -363
  1132. package/venv/lib/python3.10/site-packages/setuptools/_distutils/versionpredicate.py +0 -169
  1133. package/venv/lib/python3.10/site-packages/setuptools/_imp.py +0 -82
  1134. package/venv/lib/python3.10/site-packages/setuptools/_vendor/__init__.py +0 -0
  1135. package/venv/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -4
  1136. package/venv/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/more.py +0 -3825
  1137. package/venv/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -620
  1138. package/venv/lib/python3.10/site-packages/setuptools/_vendor/ordered_set.py +0 -488
  1139. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/__about__.py +0 -26
  1140. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/__init__.py +0 -25
  1141. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -301
  1142. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -136
  1143. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/_structures.py +0 -67
  1144. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/markers.py +0 -304
  1145. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/requirements.py +0 -146
  1146. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -828
  1147. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/tags.py +0 -484
  1148. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/utils.py +0 -136
  1149. package/venv/lib/python3.10/site-packages/setuptools/_vendor/packaging/version.py +0 -504
  1150. package/venv/lib/python3.10/site-packages/setuptools/_vendor/pyparsing.py +0 -5742
  1151. package/venv/lib/python3.10/site-packages/setuptools/archive_util.py +0 -205
  1152. package/venv/lib/python3.10/site-packages/setuptools/build_meta.py +0 -290
  1153. package/venv/lib/python3.10/site-packages/setuptools/cli-32.exe +0 -0
  1154. package/venv/lib/python3.10/site-packages/setuptools/cli-64.exe +0 -0
  1155. package/venv/lib/python3.10/site-packages/setuptools/cli-arm64.exe +0 -0
  1156. package/venv/lib/python3.10/site-packages/setuptools/cli.exe +0 -0
  1157. package/venv/lib/python3.10/site-packages/setuptools/command/__init__.py +0 -8
  1158. package/venv/lib/python3.10/site-packages/setuptools/command/alias.py +0 -78
  1159. package/venv/lib/python3.10/site-packages/setuptools/command/bdist_egg.py +0 -456
  1160. package/venv/lib/python3.10/site-packages/setuptools/command/bdist_rpm.py +0 -40
  1161. package/venv/lib/python3.10/site-packages/setuptools/command/build_clib.py +0 -101
  1162. package/venv/lib/python3.10/site-packages/setuptools/command/build_ext.py +0 -328
  1163. package/venv/lib/python3.10/site-packages/setuptools/command/build_py.py +0 -242
  1164. package/venv/lib/python3.10/site-packages/setuptools/command/develop.py +0 -193
  1165. package/venv/lib/python3.10/site-packages/setuptools/command/dist_info.py +0 -36
  1166. package/venv/lib/python3.10/site-packages/setuptools/command/easy_install.py +0 -2354
  1167. package/venv/lib/python3.10/site-packages/setuptools/command/egg_info.py +0 -755
  1168. package/venv/lib/python3.10/site-packages/setuptools/command/install.py +0 -132
  1169. package/venv/lib/python3.10/site-packages/setuptools/command/install_egg_info.py +0 -82
  1170. package/venv/lib/python3.10/site-packages/setuptools/command/install_lib.py +0 -148
  1171. package/venv/lib/python3.10/site-packages/setuptools/command/install_scripts.py +0 -69
  1172. package/venv/lib/python3.10/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1173. package/venv/lib/python3.10/site-packages/setuptools/command/py36compat.py +0 -134
  1174. package/venv/lib/python3.10/site-packages/setuptools/command/register.py +0 -18
  1175. package/venv/lib/python3.10/site-packages/setuptools/command/rotate.py +0 -64
  1176. package/venv/lib/python3.10/site-packages/setuptools/command/saveopts.py +0 -22
  1177. package/venv/lib/python3.10/site-packages/setuptools/command/sdist.py +0 -196
  1178. package/venv/lib/python3.10/site-packages/setuptools/command/setopt.py +0 -149
  1179. package/venv/lib/python3.10/site-packages/setuptools/command/test.py +0 -252
  1180. package/venv/lib/python3.10/site-packages/setuptools/command/upload.py +0 -17
  1181. package/venv/lib/python3.10/site-packages/setuptools/command/upload_docs.py +0 -202
  1182. package/venv/lib/python3.10/site-packages/setuptools/config.py +0 -751
  1183. package/venv/lib/python3.10/site-packages/setuptools/dep_util.py +0 -25
  1184. package/venv/lib/python3.10/site-packages/setuptools/depends.py +0 -176
  1185. package/venv/lib/python3.10/site-packages/setuptools/dist.py +0 -1156
  1186. package/venv/lib/python3.10/site-packages/setuptools/errors.py +0 -40
  1187. package/venv/lib/python3.10/site-packages/setuptools/extension.py +0 -55
  1188. package/venv/lib/python3.10/site-packages/setuptools/extern/__init__.py +0 -73
  1189. package/venv/lib/python3.10/site-packages/setuptools/glob.py +0 -167
  1190. package/venv/lib/python3.10/site-packages/setuptools/gui-32.exe +0 -0
  1191. package/venv/lib/python3.10/site-packages/setuptools/gui-64.exe +0 -0
  1192. package/venv/lib/python3.10/site-packages/setuptools/gui-arm64.exe +0 -0
  1193. package/venv/lib/python3.10/site-packages/setuptools/gui.exe +0 -0
  1194. package/venv/lib/python3.10/site-packages/setuptools/installer.py +0 -104
  1195. package/venv/lib/python3.10/site-packages/setuptools/launch.py +0 -36
  1196. package/venv/lib/python3.10/site-packages/setuptools/monkey.py +0 -177
  1197. package/venv/lib/python3.10/site-packages/setuptools/msvc.py +0 -1805
  1198. package/venv/lib/python3.10/site-packages/setuptools/namespaces.py +0 -107
  1199. package/venv/lib/python3.10/site-packages/setuptools/package_index.py +0 -1150
  1200. package/venv/lib/python3.10/site-packages/setuptools/py34compat.py +0 -13
  1201. package/venv/lib/python3.10/site-packages/setuptools/sandbox.py +0 -530
  1202. package/venv/lib/python3.10/site-packages/setuptools/script (dev).tmpl +0 -6
  1203. package/venv/lib/python3.10/site-packages/setuptools/script.tmpl +0 -3
  1204. package/venv/lib/python3.10/site-packages/setuptools/unicode_utils.py +0 -42
  1205. package/venv/lib/python3.10/site-packages/setuptools/version.py +0 -6
  1206. package/venv/lib/python3.10/site-packages/setuptools/wheel.py +0 -213
  1207. package/venv/lib/python3.10/site-packages/setuptools/windows_support.py +0 -29
  1208. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/INSTALLER +0 -1
  1209. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/LICENSE +0 -19
  1210. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/METADATA +0 -125
  1211. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/RECORD +0 -298
  1212. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/REQUESTED +0 -0
  1213. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/WHEEL +0 -5
  1214. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/entry_points.txt +0 -56
  1215. package/venv/lib/python3.10/site-packages/setuptools-59.6.0.dist-info/top_level.txt +0 -4
  1216. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/INSTALLER +0 -1
  1217. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/LICENSE +0 -18
  1218. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/METADATA +0 -43
  1219. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/RECORD +0 -8
  1220. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/WHEEL +0 -6
  1221. package/venv/lib/python3.10/site-packages/six-1.17.0.dist-info/top_level.txt +0 -1
  1222. package/venv/lib/python3.10/site-packages/six.py +0 -1003
  1223. package/venv/lib/python3.10/site-packages/soupsieve/__init__.py +0 -168
  1224. package/venv/lib/python3.10/site-packages/soupsieve/__meta__.py +0 -197
  1225. package/venv/lib/python3.10/site-packages/soupsieve/css_match.py +0 -1582
  1226. package/venv/lib/python3.10/site-packages/soupsieve/css_parser.py +0 -1289
  1227. package/venv/lib/python3.10/site-packages/soupsieve/css_types.py +0 -407
  1228. package/venv/lib/python3.10/site-packages/soupsieve/pretty.py +0 -139
  1229. package/venv/lib/python3.10/site-packages/soupsieve/py.typed +0 -0
  1230. package/venv/lib/python3.10/site-packages/soupsieve/util.py +0 -117
  1231. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/INSTALLER +0 -1
  1232. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/METADATA +0 -114
  1233. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/RECORD +0 -20
  1234. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/WHEEL +0 -4
  1235. package/venv/lib/python3.10/site-packages/soupsieve-2.6.dist-info/licenses/LICENSE.md +0 -21
  1236. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/PKG-INFO +0 -98
  1237. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/SOURCES.txt +0 -12
  1238. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/dependency_links.txt +0 -1
  1239. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/installed-files.txt +0 -7
  1240. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/requires.txt +0 -2
  1241. package/venv/lib/python3.10/site-packages/sseclient-0.0.22.egg-info/top_level.txt +0 -1
  1242. package/venv/lib/python3.10/site-packages/sseclient.py +0 -165
  1243. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/INSTALLER +0 -1
  1244. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1245. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1246. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/RECORD +0 -7
  1247. package/venv/lib/python3.10/site-packages/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1248. package/venv/lib/python3.10/site-packages/typing_extensions.py +0 -3641
  1249. package/venv/lib/python3.10/site-packages/urllib3/__init__.py +0 -211
  1250. package/venv/lib/python3.10/site-packages/urllib3/_base_connection.py +0 -165
  1251. package/venv/lib/python3.10/site-packages/urllib3/_collections.py +0 -479
  1252. package/venv/lib/python3.10/site-packages/urllib3/_request_methods.py +0 -278
  1253. package/venv/lib/python3.10/site-packages/urllib3/_version.py +0 -16
  1254. package/venv/lib/python3.10/site-packages/urllib3/connection.py +0 -1044
  1255. package/venv/lib/python3.10/site-packages/urllib3/connectionpool.py +0 -1178
  1256. package/venv/lib/python3.10/site-packages/urllib3/contrib/__init__.py +0 -0
  1257. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/__init__.py +0 -16
  1258. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/connection.py +0 -255
  1259. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/emscripten_fetch_worker.js +0 -110
  1260. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/fetch.py +0 -708
  1261. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/request.py +0 -22
  1262. package/venv/lib/python3.10/site-packages/urllib3/contrib/emscripten/response.py +0 -285
  1263. package/venv/lib/python3.10/site-packages/urllib3/contrib/pyopenssl.py +0 -554
  1264. package/venv/lib/python3.10/site-packages/urllib3/contrib/socks.py +0 -228
  1265. package/venv/lib/python3.10/site-packages/urllib3/exceptions.py +0 -327
  1266. package/venv/lib/python3.10/site-packages/urllib3/fields.py +0 -341
  1267. package/venv/lib/python3.10/site-packages/urllib3/filepost.py +0 -89
  1268. package/venv/lib/python3.10/site-packages/urllib3/http2/__init__.py +0 -53
  1269. package/venv/lib/python3.10/site-packages/urllib3/http2/connection.py +0 -356
  1270. package/venv/lib/python3.10/site-packages/urllib3/http2/probe.py +0 -87
  1271. package/venv/lib/python3.10/site-packages/urllib3/poolmanager.py +0 -637
  1272. package/venv/lib/python3.10/site-packages/urllib3/py.typed +0 -2
  1273. package/venv/lib/python3.10/site-packages/urllib3/response.py +0 -1278
  1274. package/venv/lib/python3.10/site-packages/urllib3/util/__init__.py +0 -42
  1275. package/venv/lib/python3.10/site-packages/urllib3/util/connection.py +0 -137
  1276. package/venv/lib/python3.10/site-packages/urllib3/util/proxy.py +0 -43
  1277. package/venv/lib/python3.10/site-packages/urllib3/util/request.py +0 -258
  1278. package/venv/lib/python3.10/site-packages/urllib3/util/response.py +0 -101
  1279. package/venv/lib/python3.10/site-packages/urllib3/util/retry.py +0 -533
  1280. package/venv/lib/python3.10/site-packages/urllib3/util/ssl_.py +0 -504
  1281. package/venv/lib/python3.10/site-packages/urllib3/util/ssl_match_hostname.py +0 -159
  1282. package/venv/lib/python3.10/site-packages/urllib3/util/ssltransport.py +0 -271
  1283. package/venv/lib/python3.10/site-packages/urllib3/util/timeout.py +0 -275
  1284. package/venv/lib/python3.10/site-packages/urllib3/util/url.py +0 -469
  1285. package/venv/lib/python3.10/site-packages/urllib3/util/util.py +0 -42
  1286. package/venv/lib/python3.10/site-packages/urllib3/util/wait.py +0 -124
  1287. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/INSTALLER +0 -1
  1288. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/METADATA +0 -154
  1289. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/RECORD +0 -80
  1290. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/REQUESTED +0 -0
  1291. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/WHEEL +0 -4
  1292. package/venv/lib/python3.10/site-packages/urllib3-2.3.0.dist-info/licenses/LICENSE.txt +0 -21
  1293. package/venv/lib/python3.10/site-packages/yarl/__init__.py +0 -14
  1294. package/venv/lib/python3.10/site-packages/yarl/_parse.py +0 -189
  1295. package/venv/lib/python3.10/site-packages/yarl/_path.py +0 -41
  1296. package/venv/lib/python3.10/site-packages/yarl/_query.py +0 -118
  1297. package/venv/lib/python3.10/site-packages/yarl/_quoters.py +0 -32
  1298. package/venv/lib/python3.10/site-packages/yarl/_quoting.py +0 -18
  1299. package/venv/lib/python3.10/site-packages/yarl/_quoting_c.cpython-310-x86_64-linux-gnu.so +0 -0
  1300. package/venv/lib/python3.10/site-packages/yarl/_quoting_c.pyi +0 -16
  1301. package/venv/lib/python3.10/site-packages/yarl/_quoting_c.pyx +0 -423
  1302. package/venv/lib/python3.10/site-packages/yarl/_quoting_py.py +0 -197
  1303. package/venv/lib/python3.10/site-packages/yarl/_url.py +0 -1584
  1304. package/venv/lib/python3.10/site-packages/yarl/py.typed +0 -1
  1305. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/INSTALLER +0 -1
  1306. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/LICENSE +0 -202
  1307. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/METADATA +0 -2279
  1308. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/NOTICE +0 -13
  1309. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/RECORD +0 -27
  1310. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/WHEEL +0 -6
  1311. package/venv/lib/python3.10/site-packages/yarl-1.18.3.dist-info/top_level.txt +0 -1
  1312. package/venv/pyvenv.cfg +0 -3
@@ -1,2296 +0,0 @@
1
- import abc
2
- import collections
3
- import collections.abc
4
- import operator
5
- import sys
6
- import typing
7
-
8
- # After PEP 560, internal typing API was substantially reworked.
9
- # This is especially important for Protocol class which uses internal APIs
10
- # quite extensively.
11
- PEP_560 = sys.version_info[:3] >= (3, 7, 0)
12
-
13
- if PEP_560:
14
- GenericMeta = type
15
- else:
16
- # 3.6
17
- from typing import GenericMeta, _type_vars # noqa
18
-
19
- # The two functions below are copies of typing internal helpers.
20
- # They are needed by _ProtocolMeta
21
-
22
-
23
- def _no_slots_copy(dct):
24
- dict_copy = dict(dct)
25
- if '__slots__' in dict_copy:
26
- for slot in dict_copy['__slots__']:
27
- dict_copy.pop(slot, None)
28
- return dict_copy
29
-
30
-
31
- def _check_generic(cls, parameters):
32
- if not cls.__parameters__:
33
- raise TypeError(f"{cls} is not a generic class")
34
- alen = len(parameters)
35
- elen = len(cls.__parameters__)
36
- if alen != elen:
37
- raise TypeError(f"Too {'many' if alen > elen else 'few'} arguments for {cls};"
38
- f" actual {alen}, expected {elen}")
39
-
40
-
41
- # Please keep __all__ alphabetized within each category.
42
- __all__ = [
43
- # Super-special typing primitives.
44
- 'ClassVar',
45
- 'Concatenate',
46
- 'Final',
47
- 'ParamSpec',
48
- 'Self',
49
- 'Type',
50
-
51
- # ABCs (from collections.abc).
52
- 'Awaitable',
53
- 'AsyncIterator',
54
- 'AsyncIterable',
55
- 'Coroutine',
56
- 'AsyncGenerator',
57
- 'AsyncContextManager',
58
- 'ChainMap',
59
-
60
- # Concrete collection types.
61
- 'ContextManager',
62
- 'Counter',
63
- 'Deque',
64
- 'DefaultDict',
65
- 'OrderedDict',
66
- 'TypedDict',
67
-
68
- # Structural checks, a.k.a. protocols.
69
- 'SupportsIndex',
70
-
71
- # One-off things.
72
- 'Annotated',
73
- 'final',
74
- 'IntVar',
75
- 'Literal',
76
- 'NewType',
77
- 'overload',
78
- 'Protocol',
79
- 'runtime',
80
- 'runtime_checkable',
81
- 'Text',
82
- 'TypeAlias',
83
- 'TypeGuard',
84
- 'TYPE_CHECKING',
85
- ]
86
-
87
- if PEP_560:
88
- __all__.extend(["get_args", "get_origin", "get_type_hints"])
89
-
90
- # 3.6.2+
91
- if hasattr(typing, 'NoReturn'):
92
- NoReturn = typing.NoReturn
93
- # 3.6.0-3.6.1
94
- else:
95
- class _NoReturn(typing._FinalTypingBase, _root=True):
96
- """Special type indicating functions that never return.
97
- Example::
98
-
99
- from typing import NoReturn
100
-
101
- def stop() -> NoReturn:
102
- raise Exception('no way')
103
-
104
- This type is invalid in other positions, e.g., ``List[NoReturn]``
105
- will fail in static type checkers.
106
- """
107
- __slots__ = ()
108
-
109
- def __instancecheck__(self, obj):
110
- raise TypeError("NoReturn cannot be used with isinstance().")
111
-
112
- def __subclasscheck__(self, cls):
113
- raise TypeError("NoReturn cannot be used with issubclass().")
114
-
115
- NoReturn = _NoReturn(_root=True)
116
-
117
- # Some unconstrained type variables. These are used by the container types.
118
- # (These are not for export.)
119
- T = typing.TypeVar('T') # Any type.
120
- KT = typing.TypeVar('KT') # Key type.
121
- VT = typing.TypeVar('VT') # Value type.
122
- T_co = typing.TypeVar('T_co', covariant=True) # Any type covariant containers.
123
- T_contra = typing.TypeVar('T_contra', contravariant=True) # Ditto contravariant.
124
-
125
- ClassVar = typing.ClassVar
126
-
127
- # On older versions of typing there is an internal class named "Final".
128
- # 3.8+
129
- if hasattr(typing, 'Final') and sys.version_info[:2] >= (3, 7):
130
- Final = typing.Final
131
- # 3.7
132
- elif sys.version_info[:2] >= (3, 7):
133
- class _FinalForm(typing._SpecialForm, _root=True):
134
-
135
- def __repr__(self):
136
- return 'typing_extensions.' + self._name
137
-
138
- def __getitem__(self, parameters):
139
- item = typing._type_check(parameters,
140
- f'{self._name} accepts only single type')
141
- return typing._GenericAlias(self, (item,))
142
-
143
- Final = _FinalForm('Final',
144
- doc="""A special typing construct to indicate that a name
145
- cannot be re-assigned or overridden in a subclass.
146
- For example:
147
-
148
- MAX_SIZE: Final = 9000
149
- MAX_SIZE += 1 # Error reported by type checker
150
-
151
- class Connection:
152
- TIMEOUT: Final[int] = 10
153
- class FastConnector(Connection):
154
- TIMEOUT = 1 # Error reported by type checker
155
-
156
- There is no runtime checking of these properties.""")
157
- # 3.6
158
- else:
159
- class _Final(typing._FinalTypingBase, _root=True):
160
- """A special typing construct to indicate that a name
161
- cannot be re-assigned or overridden in a subclass.
162
- For example:
163
-
164
- MAX_SIZE: Final = 9000
165
- MAX_SIZE += 1 # Error reported by type checker
166
-
167
- class Connection:
168
- TIMEOUT: Final[int] = 10
169
- class FastConnector(Connection):
170
- TIMEOUT = 1 # Error reported by type checker
171
-
172
- There is no runtime checking of these properties.
173
- """
174
-
175
- __slots__ = ('__type__',)
176
-
177
- def __init__(self, tp=None, **kwds):
178
- self.__type__ = tp
179
-
180
- def __getitem__(self, item):
181
- cls = type(self)
182
- if self.__type__ is None:
183
- return cls(typing._type_check(item,
184
- f'{cls.__name__[1:]} accepts only single type.'),
185
- _root=True)
186
- raise TypeError(f'{cls.__name__[1:]} cannot be further subscripted')
187
-
188
- def _eval_type(self, globalns, localns):
189
- new_tp = typing._eval_type(self.__type__, globalns, localns)
190
- if new_tp == self.__type__:
191
- return self
192
- return type(self)(new_tp, _root=True)
193
-
194
- def __repr__(self):
195
- r = super().__repr__()
196
- if self.__type__ is not None:
197
- r += f'[{typing._type_repr(self.__type__)}]'
198
- return r
199
-
200
- def __hash__(self):
201
- return hash((type(self).__name__, self.__type__))
202
-
203
- def __eq__(self, other):
204
- if not isinstance(other, _Final):
205
- return NotImplemented
206
- if self.__type__ is not None:
207
- return self.__type__ == other.__type__
208
- return self is other
209
-
210
- Final = _Final(_root=True)
211
-
212
-
213
- # 3.8+
214
- if hasattr(typing, 'final'):
215
- final = typing.final
216
- # 3.6-3.7
217
- else:
218
- def final(f):
219
- """This decorator can be used to indicate to type checkers that
220
- the decorated method cannot be overridden, and decorated class
221
- cannot be subclassed. For example:
222
-
223
- class Base:
224
- @final
225
- def done(self) -> None:
226
- ...
227
- class Sub(Base):
228
- def done(self) -> None: # Error reported by type checker
229
- ...
230
- @final
231
- class Leaf:
232
- ...
233
- class Other(Leaf): # Error reported by type checker
234
- ...
235
-
236
- There is no runtime checking of these properties.
237
- """
238
- return f
239
-
240
-
241
- def IntVar(name):
242
- return typing.TypeVar(name)
243
-
244
-
245
- # 3.8+:
246
- if hasattr(typing, 'Literal'):
247
- Literal = typing.Literal
248
- # 3.7:
249
- elif sys.version_info[:2] >= (3, 7):
250
- class _LiteralForm(typing._SpecialForm, _root=True):
251
-
252
- def __repr__(self):
253
- return 'typing_extensions.' + self._name
254
-
255
- def __getitem__(self, parameters):
256
- return typing._GenericAlias(self, parameters)
257
-
258
- Literal = _LiteralForm('Literal',
259
- doc="""A type that can be used to indicate to type checkers
260
- that the corresponding value has a value literally equivalent
261
- to the provided parameter. For example:
262
-
263
- var: Literal[4] = 4
264
-
265
- The type checker understands that 'var' is literally equal to
266
- the value 4 and no other value.
267
-
268
- Literal[...] cannot be subclassed. There is no runtime
269
- checking verifying that the parameter is actually a value
270
- instead of a type.""")
271
- # 3.6:
272
- else:
273
- class _Literal(typing._FinalTypingBase, _root=True):
274
- """A type that can be used to indicate to type checkers that the
275
- corresponding value has a value literally equivalent to the
276
- provided parameter. For example:
277
-
278
- var: Literal[4] = 4
279
-
280
- The type checker understands that 'var' is literally equal to the
281
- value 4 and no other value.
282
-
283
- Literal[...] cannot be subclassed. There is no runtime checking
284
- verifying that the parameter is actually a value instead of a type.
285
- """
286
-
287
- __slots__ = ('__values__',)
288
-
289
- def __init__(self, values=None, **kwds):
290
- self.__values__ = values
291
-
292
- def __getitem__(self, values):
293
- cls = type(self)
294
- if self.__values__ is None:
295
- if not isinstance(values, tuple):
296
- values = (values,)
297
- return cls(values, _root=True)
298
- raise TypeError(f'{cls.__name__[1:]} cannot be further subscripted')
299
-
300
- def _eval_type(self, globalns, localns):
301
- return self
302
-
303
- def __repr__(self):
304
- r = super().__repr__()
305
- if self.__values__ is not None:
306
- r += f'[{", ".join(map(typing._type_repr, self.__values__))}]'
307
- return r
308
-
309
- def __hash__(self):
310
- return hash((type(self).__name__, self.__values__))
311
-
312
- def __eq__(self, other):
313
- if not isinstance(other, _Literal):
314
- return NotImplemented
315
- if self.__values__ is not None:
316
- return self.__values__ == other.__values__
317
- return self is other
318
-
319
- Literal = _Literal(_root=True)
320
-
321
-
322
- _overload_dummy = typing._overload_dummy # noqa
323
- overload = typing.overload
324
-
325
-
326
- # This is not a real generic class. Don't use outside annotations.
327
- Type = typing.Type
328
-
329
- # Various ABCs mimicking those in collections.abc.
330
- # A few are simply re-exported for completeness.
331
-
332
-
333
- class _ExtensionsGenericMeta(GenericMeta):
334
- def __subclasscheck__(self, subclass):
335
- """This mimics a more modern GenericMeta.__subclasscheck__() logic
336
- (that does not have problems with recursion) to work around interactions
337
- between collections, typing, and typing_extensions on older
338
- versions of Python, see https://github.com/python/typing/issues/501.
339
- """
340
- if self.__origin__ is not None:
341
- if sys._getframe(1).f_globals['__name__'] not in ['abc', 'functools']:
342
- raise TypeError("Parameterized generics cannot be used with class "
343
- "or instance checks")
344
- return False
345
- if not self.__extra__:
346
- return super().__subclasscheck__(subclass)
347
- res = self.__extra__.__subclasshook__(subclass)
348
- if res is not NotImplemented:
349
- return res
350
- if self.__extra__ in subclass.__mro__:
351
- return True
352
- for scls in self.__extra__.__subclasses__():
353
- if isinstance(scls, GenericMeta):
354
- continue
355
- if issubclass(subclass, scls):
356
- return True
357
- return False
358
-
359
-
360
- Awaitable = typing.Awaitable
361
- Coroutine = typing.Coroutine
362
- AsyncIterable = typing.AsyncIterable
363
- AsyncIterator = typing.AsyncIterator
364
-
365
- # 3.6.1+
366
- if hasattr(typing, 'Deque'):
367
- Deque = typing.Deque
368
- # 3.6.0
369
- else:
370
- class Deque(collections.deque, typing.MutableSequence[T],
371
- metaclass=_ExtensionsGenericMeta,
372
- extra=collections.deque):
373
- __slots__ = ()
374
-
375
- def __new__(cls, *args, **kwds):
376
- if cls._gorg is Deque:
377
- return collections.deque(*args, **kwds)
378
- return typing._generic_new(collections.deque, cls, *args, **kwds)
379
-
380
- ContextManager = typing.ContextManager
381
- # 3.6.2+
382
- if hasattr(typing, 'AsyncContextManager'):
383
- AsyncContextManager = typing.AsyncContextManager
384
- # 3.6.0-3.6.1
385
- else:
386
- from _collections_abc import _check_methods as _check_methods_in_mro # noqa
387
-
388
- class AsyncContextManager(typing.Generic[T_co]):
389
- __slots__ = ()
390
-
391
- async def __aenter__(self):
392
- return self
393
-
394
- @abc.abstractmethod
395
- async def __aexit__(self, exc_type, exc_value, traceback):
396
- return None
397
-
398
- @classmethod
399
- def __subclasshook__(cls, C):
400
- if cls is AsyncContextManager:
401
- return _check_methods_in_mro(C, "__aenter__", "__aexit__")
402
- return NotImplemented
403
-
404
- DefaultDict = typing.DefaultDict
405
-
406
- # 3.7.2+
407
- if hasattr(typing, 'OrderedDict'):
408
- OrderedDict = typing.OrderedDict
409
- # 3.7.0-3.7.2
410
- elif (3, 7, 0) <= sys.version_info[:3] < (3, 7, 2):
411
- OrderedDict = typing._alias(collections.OrderedDict, (KT, VT))
412
- # 3.6
413
- else:
414
- class OrderedDict(collections.OrderedDict, typing.MutableMapping[KT, VT],
415
- metaclass=_ExtensionsGenericMeta,
416
- extra=collections.OrderedDict):
417
-
418
- __slots__ = ()
419
-
420
- def __new__(cls, *args, **kwds):
421
- if cls._gorg is OrderedDict:
422
- return collections.OrderedDict(*args, **kwds)
423
- return typing._generic_new(collections.OrderedDict, cls, *args, **kwds)
424
-
425
- # 3.6.2+
426
- if hasattr(typing, 'Counter'):
427
- Counter = typing.Counter
428
- # 3.6.0-3.6.1
429
- else:
430
- class Counter(collections.Counter,
431
- typing.Dict[T, int],
432
- metaclass=_ExtensionsGenericMeta, extra=collections.Counter):
433
-
434
- __slots__ = ()
435
-
436
- def __new__(cls, *args, **kwds):
437
- if cls._gorg is Counter:
438
- return collections.Counter(*args, **kwds)
439
- return typing._generic_new(collections.Counter, cls, *args, **kwds)
440
-
441
- # 3.6.1+
442
- if hasattr(typing, 'ChainMap'):
443
- ChainMap = typing.ChainMap
444
- elif hasattr(collections, 'ChainMap'):
445
- class ChainMap(collections.ChainMap, typing.MutableMapping[KT, VT],
446
- metaclass=_ExtensionsGenericMeta,
447
- extra=collections.ChainMap):
448
-
449
- __slots__ = ()
450
-
451
- def __new__(cls, *args, **kwds):
452
- if cls._gorg is ChainMap:
453
- return collections.ChainMap(*args, **kwds)
454
- return typing._generic_new(collections.ChainMap, cls, *args, **kwds)
455
-
456
- # 3.6.1+
457
- if hasattr(typing, 'AsyncGenerator'):
458
- AsyncGenerator = typing.AsyncGenerator
459
- # 3.6.0
460
- else:
461
- class AsyncGenerator(AsyncIterator[T_co], typing.Generic[T_co, T_contra],
462
- metaclass=_ExtensionsGenericMeta,
463
- extra=collections.abc.AsyncGenerator):
464
- __slots__ = ()
465
-
466
- NewType = typing.NewType
467
- Text = typing.Text
468
- TYPE_CHECKING = typing.TYPE_CHECKING
469
-
470
-
471
- def _gorg(cls):
472
- """This function exists for compatibility with old typing versions."""
473
- assert isinstance(cls, GenericMeta)
474
- if hasattr(cls, '_gorg'):
475
- return cls._gorg
476
- while cls.__origin__ is not None:
477
- cls = cls.__origin__
478
- return cls
479
-
480
-
481
- _PROTO_WHITELIST = ['Callable', 'Awaitable',
482
- 'Iterable', 'Iterator', 'AsyncIterable', 'AsyncIterator',
483
- 'Hashable', 'Sized', 'Container', 'Collection', 'Reversible',
484
- 'ContextManager', 'AsyncContextManager']
485
-
486
-
487
- def _get_protocol_attrs(cls):
488
- attrs = set()
489
- for base in cls.__mro__[:-1]: # without object
490
- if base.__name__ in ('Protocol', 'Generic'):
491
- continue
492
- annotations = getattr(base, '__annotations__', {})
493
- for attr in list(base.__dict__.keys()) + list(annotations.keys()):
494
- if (not attr.startswith('_abc_') and attr not in (
495
- '__abstractmethods__', '__annotations__', '__weakref__',
496
- '_is_protocol', '_is_runtime_protocol', '__dict__',
497
- '__args__', '__slots__',
498
- '__next_in_mro__', '__parameters__', '__origin__',
499
- '__orig_bases__', '__extra__', '__tree_hash__',
500
- '__doc__', '__subclasshook__', '__init__', '__new__',
501
- '__module__', '_MutableMapping__marker', '_gorg')):
502
- attrs.add(attr)
503
- return attrs
504
-
505
-
506
- def _is_callable_members_only(cls):
507
- return all(callable(getattr(cls, attr, None)) for attr in _get_protocol_attrs(cls))
508
-
509
-
510
- # 3.8+
511
- if hasattr(typing, 'Protocol'):
512
- Protocol = typing.Protocol
513
- # 3.7
514
- elif PEP_560:
515
- from typing import _collect_type_vars # noqa
516
-
517
- def _no_init(self, *args, **kwargs):
518
- if type(self)._is_protocol:
519
- raise TypeError('Protocols cannot be instantiated')
520
-
521
- class _ProtocolMeta(abc.ABCMeta):
522
- # This metaclass is a bit unfortunate and exists only because of the lack
523
- # of __instancehook__.
524
- def __instancecheck__(cls, instance):
525
- # We need this method for situations where attributes are
526
- # assigned in __init__.
527
- if ((not getattr(cls, '_is_protocol', False) or
528
- _is_callable_members_only(cls)) and
529
- issubclass(instance.__class__, cls)):
530
- return True
531
- if cls._is_protocol:
532
- if all(hasattr(instance, attr) and
533
- (not callable(getattr(cls, attr, None)) or
534
- getattr(instance, attr) is not None)
535
- for attr in _get_protocol_attrs(cls)):
536
- return True
537
- return super().__instancecheck__(instance)
538
-
539
- class Protocol(metaclass=_ProtocolMeta):
540
- # There is quite a lot of overlapping code with typing.Generic.
541
- # Unfortunately it is hard to avoid this while these live in two different
542
- # modules. The duplicated code will be removed when Protocol is moved to typing.
543
- """Base class for protocol classes. Protocol classes are defined as::
544
-
545
- class Proto(Protocol):
546
- def meth(self) -> int:
547
- ...
548
-
549
- Such classes are primarily used with static type checkers that recognize
550
- structural subtyping (static duck-typing), for example::
551
-
552
- class C:
553
- def meth(self) -> int:
554
- return 0
555
-
556
- def func(x: Proto) -> int:
557
- return x.meth()
558
-
559
- func(C()) # Passes static type check
560
-
561
- See PEP 544 for details. Protocol classes decorated with
562
- @typing_extensions.runtime act as simple-minded runtime protocol that checks
563
- only the presence of given attributes, ignoring their type signatures.
564
-
565
- Protocol classes can be generic, they are defined as::
566
-
567
- class GenProto(Protocol[T]):
568
- def meth(self) -> T:
569
- ...
570
- """
571
- __slots__ = ()
572
- _is_protocol = True
573
-
574
- def __new__(cls, *args, **kwds):
575
- if cls is Protocol:
576
- raise TypeError("Type Protocol cannot be instantiated; "
577
- "it can only be used as a base class")
578
- return super().__new__(cls)
579
-
580
- @typing._tp_cache
581
- def __class_getitem__(cls, params):
582
- if not isinstance(params, tuple):
583
- params = (params,)
584
- if not params and cls is not typing.Tuple:
585
- raise TypeError(
586
- f"Parameter list to {cls.__qualname__}[...] cannot be empty")
587
- msg = "Parameters to generic types must be types."
588
- params = tuple(typing._type_check(p, msg) for p in params) # noqa
589
- if cls is Protocol:
590
- # Generic can only be subscripted with unique type variables.
591
- if not all(isinstance(p, typing.TypeVar) for p in params):
592
- i = 0
593
- while isinstance(params[i], typing.TypeVar):
594
- i += 1
595
- raise TypeError(
596
- "Parameters to Protocol[...] must all be type variables."
597
- f" Parameter {i + 1} is {params[i]}")
598
- if len(set(params)) != len(params):
599
- raise TypeError(
600
- "Parameters to Protocol[...] must all be unique")
601
- else:
602
- # Subscripting a regular Generic subclass.
603
- _check_generic(cls, params)
604
- return typing._GenericAlias(cls, params)
605
-
606
- def __init_subclass__(cls, *args, **kwargs):
607
- tvars = []
608
- if '__orig_bases__' in cls.__dict__:
609
- error = typing.Generic in cls.__orig_bases__
610
- else:
611
- error = typing.Generic in cls.__bases__
612
- if error:
613
- raise TypeError("Cannot inherit from plain Generic")
614
- if '__orig_bases__' in cls.__dict__:
615
- tvars = _collect_type_vars(cls.__orig_bases__)
616
- # Look for Generic[T1, ..., Tn] or Protocol[T1, ..., Tn].
617
- # If found, tvars must be a subset of it.
618
- # If not found, tvars is it.
619
- # Also check for and reject plain Generic,
620
- # and reject multiple Generic[...] and/or Protocol[...].
621
- gvars = None
622
- for base in cls.__orig_bases__:
623
- if (isinstance(base, typing._GenericAlias) and
624
- base.__origin__ in (typing.Generic, Protocol)):
625
- # for error messages
626
- the_base = base.__origin__.__name__
627
- if gvars is not None:
628
- raise TypeError(
629
- "Cannot inherit from Generic[...]"
630
- " and/or Protocol[...] multiple types.")
631
- gvars = base.__parameters__
632
- if gvars is None:
633
- gvars = tvars
634
- else:
635
- tvarset = set(tvars)
636
- gvarset = set(gvars)
637
- if not tvarset <= gvarset:
638
- s_vars = ', '.join(str(t) for t in tvars if t not in gvarset)
639
- s_args = ', '.join(str(g) for g in gvars)
640
- raise TypeError(f"Some type variables ({s_vars}) are"
641
- f" not listed in {the_base}[{s_args}]")
642
- tvars = gvars
643
- cls.__parameters__ = tuple(tvars)
644
-
645
- # Determine if this is a protocol or a concrete subclass.
646
- if not cls.__dict__.get('_is_protocol', None):
647
- cls._is_protocol = any(b is Protocol for b in cls.__bases__)
648
-
649
- # Set (or override) the protocol subclass hook.
650
- def _proto_hook(other):
651
- if not cls.__dict__.get('_is_protocol', None):
652
- return NotImplemented
653
- if not getattr(cls, '_is_runtime_protocol', False):
654
- if sys._getframe(2).f_globals['__name__'] in ['abc', 'functools']:
655
- return NotImplemented
656
- raise TypeError("Instance and class checks can only be used with"
657
- " @runtime protocols")
658
- if not _is_callable_members_only(cls):
659
- if sys._getframe(2).f_globals['__name__'] in ['abc', 'functools']:
660
- return NotImplemented
661
- raise TypeError("Protocols with non-method members"
662
- " don't support issubclass()")
663
- if not isinstance(other, type):
664
- # Same error as for issubclass(1, int)
665
- raise TypeError('issubclass() arg 1 must be a class')
666
- for attr in _get_protocol_attrs(cls):
667
- for base in other.__mro__:
668
- if attr in base.__dict__:
669
- if base.__dict__[attr] is None:
670
- return NotImplemented
671
- break
672
- annotations = getattr(base, '__annotations__', {})
673
- if (isinstance(annotations, typing.Mapping) and
674
- attr in annotations and
675
- isinstance(other, _ProtocolMeta) and
676
- other._is_protocol):
677
- break
678
- else:
679
- return NotImplemented
680
- return True
681
- if '__subclasshook__' not in cls.__dict__:
682
- cls.__subclasshook__ = _proto_hook
683
-
684
- # We have nothing more to do for non-protocols.
685
- if not cls._is_protocol:
686
- return
687
-
688
- # Check consistency of bases.
689
- for base in cls.__bases__:
690
- if not (base in (object, typing.Generic) or
691
- base.__module__ == 'collections.abc' and
692
- base.__name__ in _PROTO_WHITELIST or
693
- isinstance(base, _ProtocolMeta) and base._is_protocol):
694
- raise TypeError('Protocols can only inherit from other'
695
- f' protocols, got {repr(base)}')
696
- cls.__init__ = _no_init
697
- # 3.6
698
- else:
699
- from typing import _next_in_mro, _type_check # noqa
700
-
701
- def _no_init(self, *args, **kwargs):
702
- if type(self)._is_protocol:
703
- raise TypeError('Protocols cannot be instantiated')
704
-
705
- class _ProtocolMeta(GenericMeta):
706
- """Internal metaclass for Protocol.
707
-
708
- This exists so Protocol classes can be generic without deriving
709
- from Generic.
710
- """
711
- def __new__(cls, name, bases, namespace,
712
- tvars=None, args=None, origin=None, extra=None, orig_bases=None):
713
- # This is just a version copied from GenericMeta.__new__ that
714
- # includes "Protocol" special treatment. (Comments removed for brevity.)
715
- assert extra is None # Protocols should not have extra
716
- if tvars is not None:
717
- assert origin is not None
718
- assert all(isinstance(t, typing.TypeVar) for t in tvars), tvars
719
- else:
720
- tvars = _type_vars(bases)
721
- gvars = None
722
- for base in bases:
723
- if base is typing.Generic:
724
- raise TypeError("Cannot inherit from plain Generic")
725
- if (isinstance(base, GenericMeta) and
726
- base.__origin__ in (typing.Generic, Protocol)):
727
- if gvars is not None:
728
- raise TypeError(
729
- "Cannot inherit from Generic[...] or"
730
- " Protocol[...] multiple times.")
731
- gvars = base.__parameters__
732
- if gvars is None:
733
- gvars = tvars
734
- else:
735
- tvarset = set(tvars)
736
- gvarset = set(gvars)
737
- if not tvarset <= gvarset:
738
- s_vars = ", ".join(str(t) for t in tvars if t not in gvarset)
739
- s_args = ", ".join(str(g) for g in gvars)
740
- cls_name = "Generic" if any(b.__origin__ is typing.Generic
741
- for b in bases) else "Protocol"
742
- raise TypeError(f"Some type variables ({s_vars}) are"
743
- f" not listed in {cls_name}[{s_args}]")
744
- tvars = gvars
745
-
746
- initial_bases = bases
747
- if (extra is not None and type(extra) is abc.ABCMeta and
748
- extra not in bases):
749
- bases = (extra,) + bases
750
- bases = tuple(_gorg(b) if isinstance(b, GenericMeta) else b
751
- for b in bases)
752
- if any(isinstance(b, GenericMeta) and b is not typing.Generic for b in bases):
753
- bases = tuple(b for b in bases if b is not typing.Generic)
754
- namespace.update({'__origin__': origin, '__extra__': extra})
755
- self = super(GenericMeta, cls).__new__(cls, name, bases, namespace,
756
- _root=True)
757
- super(GenericMeta, self).__setattr__('_gorg',
758
- self if not origin else
759
- _gorg(origin))
760
- self.__parameters__ = tvars
761
- self.__args__ = tuple(... if a is typing._TypingEllipsis else
762
- () if a is typing._TypingEmpty else
763
- a for a in args) if args else None
764
- self.__next_in_mro__ = _next_in_mro(self)
765
- if orig_bases is None:
766
- self.__orig_bases__ = initial_bases
767
- elif origin is not None:
768
- self._abc_registry = origin._abc_registry
769
- self._abc_cache = origin._abc_cache
770
- if hasattr(self, '_subs_tree'):
771
- self.__tree_hash__ = (hash(self._subs_tree()) if origin else
772
- super(GenericMeta, self).__hash__())
773
- return self
774
-
775
- def __init__(cls, *args, **kwargs):
776
- super().__init__(*args, **kwargs)
777
- if not cls.__dict__.get('_is_protocol', None):
778
- cls._is_protocol = any(b is Protocol or
779
- isinstance(b, _ProtocolMeta) and
780
- b.__origin__ is Protocol
781
- for b in cls.__bases__)
782
- if cls._is_protocol:
783
- for base in cls.__mro__[1:]:
784
- if not (base in (object, typing.Generic) or
785
- base.__module__ == 'collections.abc' and
786
- base.__name__ in _PROTO_WHITELIST or
787
- isinstance(base, typing.TypingMeta) and base._is_protocol or
788
- isinstance(base, GenericMeta) and
789
- base.__origin__ is typing.Generic):
790
- raise TypeError(f'Protocols can only inherit from other'
791
- f' protocols, got {repr(base)}')
792
-
793
- cls.__init__ = _no_init
794
-
795
- def _proto_hook(other):
796
- if not cls.__dict__.get('_is_protocol', None):
797
- return NotImplemented
798
- if not isinstance(other, type):
799
- # Same error as for issubclass(1, int)
800
- raise TypeError('issubclass() arg 1 must be a class')
801
- for attr in _get_protocol_attrs(cls):
802
- for base in other.__mro__:
803
- if attr in base.__dict__:
804
- if base.__dict__[attr] is None:
805
- return NotImplemented
806
- break
807
- annotations = getattr(base, '__annotations__', {})
808
- if (isinstance(annotations, typing.Mapping) and
809
- attr in annotations and
810
- isinstance(other, _ProtocolMeta) and
811
- other._is_protocol):
812
- break
813
- else:
814
- return NotImplemented
815
- return True
816
- if '__subclasshook__' not in cls.__dict__:
817
- cls.__subclasshook__ = _proto_hook
818
-
819
- def __instancecheck__(self, instance):
820
- # We need this method for situations where attributes are
821
- # assigned in __init__.
822
- if ((not getattr(self, '_is_protocol', False) or
823
- _is_callable_members_only(self)) and
824
- issubclass(instance.__class__, self)):
825
- return True
826
- if self._is_protocol:
827
- if all(hasattr(instance, attr) and
828
- (not callable(getattr(self, attr, None)) or
829
- getattr(instance, attr) is not None)
830
- for attr in _get_protocol_attrs(self)):
831
- return True
832
- return super(GenericMeta, self).__instancecheck__(instance)
833
-
834
- def __subclasscheck__(self, cls):
835
- if self.__origin__ is not None:
836
- if sys._getframe(1).f_globals['__name__'] not in ['abc', 'functools']:
837
- raise TypeError("Parameterized generics cannot be used with class "
838
- "or instance checks")
839
- return False
840
- if (self.__dict__.get('_is_protocol', None) and
841
- not self.__dict__.get('_is_runtime_protocol', None)):
842
- if sys._getframe(1).f_globals['__name__'] in ['abc',
843
- 'functools',
844
- 'typing']:
845
- return False
846
- raise TypeError("Instance and class checks can only be used with"
847
- " @runtime protocols")
848
- if (self.__dict__.get('_is_runtime_protocol', None) and
849
- not _is_callable_members_only(self)):
850
- if sys._getframe(1).f_globals['__name__'] in ['abc',
851
- 'functools',
852
- 'typing']:
853
- return super(GenericMeta, self).__subclasscheck__(cls)
854
- raise TypeError("Protocols with non-method members"
855
- " don't support issubclass()")
856
- return super(GenericMeta, self).__subclasscheck__(cls)
857
-
858
- @typing._tp_cache
859
- def __getitem__(self, params):
860
- # We also need to copy this from GenericMeta.__getitem__ to get
861
- # special treatment of "Protocol". (Comments removed for brevity.)
862
- if not isinstance(params, tuple):
863
- params = (params,)
864
- if not params and _gorg(self) is not typing.Tuple:
865
- raise TypeError(
866
- f"Parameter list to {self.__qualname__}[...] cannot be empty")
867
- msg = "Parameters to generic types must be types."
868
- params = tuple(_type_check(p, msg) for p in params)
869
- if self in (typing.Generic, Protocol):
870
- if not all(isinstance(p, typing.TypeVar) for p in params):
871
- raise TypeError(
872
- f"Parameters to {repr(self)}[...] must all be type variables")
873
- if len(set(params)) != len(params):
874
- raise TypeError(
875
- f"Parameters to {repr(self)}[...] must all be unique")
876
- tvars = params
877
- args = params
878
- elif self in (typing.Tuple, typing.Callable):
879
- tvars = _type_vars(params)
880
- args = params
881
- elif self.__origin__ in (typing.Generic, Protocol):
882
- raise TypeError(f"Cannot subscript already-subscripted {repr(self)}")
883
- else:
884
- _check_generic(self, params)
885
- tvars = _type_vars(params)
886
- args = params
887
-
888
- prepend = (self,) if self.__origin__ is None else ()
889
- return self.__class__(self.__name__,
890
- prepend + self.__bases__,
891
- _no_slots_copy(self.__dict__),
892
- tvars=tvars,
893
- args=args,
894
- origin=self,
895
- extra=self.__extra__,
896
- orig_bases=self.__orig_bases__)
897
-
898
- class Protocol(metaclass=_ProtocolMeta):
899
- """Base class for protocol classes. Protocol classes are defined as::
900
-
901
- class Proto(Protocol):
902
- def meth(self) -> int:
903
- ...
904
-
905
- Such classes are primarily used with static type checkers that recognize
906
- structural subtyping (static duck-typing), for example::
907
-
908
- class C:
909
- def meth(self) -> int:
910
- return 0
911
-
912
- def func(x: Proto) -> int:
913
- return x.meth()
914
-
915
- func(C()) # Passes static type check
916
-
917
- See PEP 544 for details. Protocol classes decorated with
918
- @typing_extensions.runtime act as simple-minded runtime protocol that checks
919
- only the presence of given attributes, ignoring their type signatures.
920
-
921
- Protocol classes can be generic, they are defined as::
922
-
923
- class GenProto(Protocol[T]):
924
- def meth(self) -> T:
925
- ...
926
- """
927
- __slots__ = ()
928
- _is_protocol = True
929
-
930
- def __new__(cls, *args, **kwds):
931
- if _gorg(cls) is Protocol:
932
- raise TypeError("Type Protocol cannot be instantiated; "
933
- "it can be used only as a base class")
934
- return typing._generic_new(cls.__next_in_mro__, cls, *args, **kwds)
935
-
936
-
937
- # 3.8+
938
- if hasattr(typing, 'runtime_checkable'):
939
- runtime_checkable = typing.runtime_checkable
940
- # 3.6-3.7
941
- else:
942
- def runtime_checkable(cls):
943
- """Mark a protocol class as a runtime protocol, so that it
944
- can be used with isinstance() and issubclass(). Raise TypeError
945
- if applied to a non-protocol class.
946
-
947
- This allows a simple-minded structural check very similar to the
948
- one-offs in collections.abc such as Hashable.
949
- """
950
- if not isinstance(cls, _ProtocolMeta) or not cls._is_protocol:
951
- raise TypeError('@runtime_checkable can be only applied to protocol classes,'
952
- f' got {cls!r}')
953
- cls._is_runtime_protocol = True
954
- return cls
955
-
956
-
957
- # Exists for backwards compatibility.
958
- runtime = runtime_checkable
959
-
960
-
961
- # 3.8+
962
- if hasattr(typing, 'SupportsIndex'):
963
- SupportsIndex = typing.SupportsIndex
964
- # 3.6-3.7
965
- else:
966
- @runtime_checkable
967
- class SupportsIndex(Protocol):
968
- __slots__ = ()
969
-
970
- @abc.abstractmethod
971
- def __index__(self) -> int:
972
- pass
973
-
974
-
975
- if sys.version_info >= (3, 9, 2):
976
- # The standard library TypedDict in Python 3.8 does not store runtime information
977
- # about which (if any) keys are optional. See https://bugs.python.org/issue38834
978
- # The standard library TypedDict in Python 3.9.0/1 does not honour the "total"
979
- # keyword with old-style TypedDict(). See https://bugs.python.org/issue42059
980
- TypedDict = typing.TypedDict
981
- else:
982
- def _check_fails(cls, other):
983
- try:
984
- if sys._getframe(1).f_globals['__name__'] not in ['abc',
985
- 'functools',
986
- 'typing']:
987
- # Typed dicts are only for static structural subtyping.
988
- raise TypeError('TypedDict does not support instance and class checks')
989
- except (AttributeError, ValueError):
990
- pass
991
- return False
992
-
993
- def _dict_new(*args, **kwargs):
994
- if not args:
995
- raise TypeError('TypedDict.__new__(): not enough arguments')
996
- _, args = args[0], args[1:] # allow the "cls" keyword be passed
997
- return dict(*args, **kwargs)
998
-
999
- _dict_new.__text_signature__ = '($cls, _typename, _fields=None, /, **kwargs)'
1000
-
1001
- def _typeddict_new(*args, total=True, **kwargs):
1002
- if not args:
1003
- raise TypeError('TypedDict.__new__(): not enough arguments')
1004
- _, args = args[0], args[1:] # allow the "cls" keyword be passed
1005
- if args:
1006
- typename, args = args[0], args[1:] # allow the "_typename" keyword be passed
1007
- elif '_typename' in kwargs:
1008
- typename = kwargs.pop('_typename')
1009
- import warnings
1010
- warnings.warn("Passing '_typename' as keyword argument is deprecated",
1011
- DeprecationWarning, stacklevel=2)
1012
- else:
1013
- raise TypeError("TypedDict.__new__() missing 1 required positional "
1014
- "argument: '_typename'")
1015
- if args:
1016
- try:
1017
- fields, = args # allow the "_fields" keyword be passed
1018
- except ValueError:
1019
- raise TypeError('TypedDict.__new__() takes from 2 to 3 '
1020
- f'positional arguments but {len(args) + 2} '
1021
- 'were given')
1022
- elif '_fields' in kwargs and len(kwargs) == 1:
1023
- fields = kwargs.pop('_fields')
1024
- import warnings
1025
- warnings.warn("Passing '_fields' as keyword argument is deprecated",
1026
- DeprecationWarning, stacklevel=2)
1027
- else:
1028
- fields = None
1029
-
1030
- if fields is None:
1031
- fields = kwargs
1032
- elif kwargs:
1033
- raise TypeError("TypedDict takes either a dict or keyword arguments,"
1034
- " but not both")
1035
-
1036
- ns = {'__annotations__': dict(fields)}
1037
- try:
1038
- # Setting correct module is necessary to make typed dict classes pickleable.
1039
- ns['__module__'] = sys._getframe(1).f_globals.get('__name__', '__main__')
1040
- except (AttributeError, ValueError):
1041
- pass
1042
-
1043
- return _TypedDictMeta(typename, (), ns, total=total)
1044
-
1045
- _typeddict_new.__text_signature__ = ('($cls, _typename, _fields=None,'
1046
- ' /, *, total=True, **kwargs)')
1047
-
1048
- class _TypedDictMeta(type):
1049
- def __init__(cls, name, bases, ns, total=True):
1050
- super().__init__(name, bases, ns)
1051
-
1052
- def __new__(cls, name, bases, ns, total=True):
1053
- # Create new typed dict class object.
1054
- # This method is called directly when TypedDict is subclassed,
1055
- # or via _typeddict_new when TypedDict is instantiated. This way
1056
- # TypedDict supports all three syntaxes described in its docstring.
1057
- # Subclasses and instances of TypedDict return actual dictionaries
1058
- # via _dict_new.
1059
- ns['__new__'] = _typeddict_new if name == 'TypedDict' else _dict_new
1060
- tp_dict = super().__new__(cls, name, (dict,), ns)
1061
-
1062
- annotations = {}
1063
- own_annotations = ns.get('__annotations__', {})
1064
- own_annotation_keys = set(own_annotations.keys())
1065
- msg = "TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a type"
1066
- own_annotations = {
1067
- n: typing._type_check(tp, msg) for n, tp in own_annotations.items()
1068
- }
1069
- required_keys = set()
1070
- optional_keys = set()
1071
-
1072
- for base in bases:
1073
- annotations.update(base.__dict__.get('__annotations__', {}))
1074
- required_keys.update(base.__dict__.get('__required_keys__', ()))
1075
- optional_keys.update(base.__dict__.get('__optional_keys__', ()))
1076
-
1077
- annotations.update(own_annotations)
1078
- if total:
1079
- required_keys.update(own_annotation_keys)
1080
- else:
1081
- optional_keys.update(own_annotation_keys)
1082
-
1083
- tp_dict.__annotations__ = annotations
1084
- tp_dict.__required_keys__ = frozenset(required_keys)
1085
- tp_dict.__optional_keys__ = frozenset(optional_keys)
1086
- if not hasattr(tp_dict, '__total__'):
1087
- tp_dict.__total__ = total
1088
- return tp_dict
1089
-
1090
- __instancecheck__ = __subclasscheck__ = _check_fails
1091
-
1092
- TypedDict = _TypedDictMeta('TypedDict', (dict,), {})
1093
- TypedDict.__module__ = __name__
1094
- TypedDict.__doc__ = \
1095
- """A simple typed name space. At runtime it is equivalent to a plain dict.
1096
-
1097
- TypedDict creates a dictionary type that expects all of its
1098
- instances to have a certain set of keys, with each key
1099
- associated with a value of a consistent type. This expectation
1100
- is not checked at runtime but is only enforced by type checkers.
1101
- Usage::
1102
-
1103
- class Point2D(TypedDict):
1104
- x: int
1105
- y: int
1106
- label: str
1107
-
1108
- a: Point2D = {'x': 1, 'y': 2, 'label': 'good'} # OK
1109
- b: Point2D = {'z': 3, 'label': 'bad'} # Fails type check
1110
-
1111
- assert Point2D(x=1, y=2, label='first') == dict(x=1, y=2, label='first')
1112
-
1113
- The type info can be accessed via the Point2D.__annotations__ dict, and
1114
- the Point2D.__required_keys__ and Point2D.__optional_keys__ frozensets.
1115
- TypedDict supports two additional equivalent forms::
1116
-
1117
- Point2D = TypedDict('Point2D', x=int, y=int, label=str)
1118
- Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})
1119
-
1120
- The class syntax is only supported in Python 3.6+, while two other
1121
- syntax forms work for Python 2.7 and 3.2+
1122
- """
1123
-
1124
-
1125
- # Python 3.9+ has PEP 593 (Annotated and modified get_type_hints)
1126
- if hasattr(typing, 'Annotated'):
1127
- Annotated = typing.Annotated
1128
- get_type_hints = typing.get_type_hints
1129
- # Not exported and not a public API, but needed for get_origin() and get_args()
1130
- # to work.
1131
- _AnnotatedAlias = typing._AnnotatedAlias
1132
- # 3.7-3.8
1133
- elif PEP_560:
1134
- class _AnnotatedAlias(typing._GenericAlias, _root=True):
1135
- """Runtime representation of an annotated type.
1136
-
1137
- At its core 'Annotated[t, dec1, dec2, ...]' is an alias for the type 't'
1138
- with extra annotations. The alias behaves like a normal typing alias,
1139
- instantiating is the same as instantiating the underlying type, binding
1140
- it to types is also the same.
1141
- """
1142
- def __init__(self, origin, metadata):
1143
- if isinstance(origin, _AnnotatedAlias):
1144
- metadata = origin.__metadata__ + metadata
1145
- origin = origin.__origin__
1146
- super().__init__(origin, origin)
1147
- self.__metadata__ = metadata
1148
-
1149
- def copy_with(self, params):
1150
- assert len(params) == 1
1151
- new_type = params[0]
1152
- return _AnnotatedAlias(new_type, self.__metadata__)
1153
-
1154
- def __repr__(self):
1155
- return (f"typing_extensions.Annotated[{typing._type_repr(self.__origin__)}, "
1156
- f"{', '.join(repr(a) for a in self.__metadata__)}]")
1157
-
1158
- def __reduce__(self):
1159
- return operator.getitem, (
1160
- Annotated, (self.__origin__,) + self.__metadata__
1161
- )
1162
-
1163
- def __eq__(self, other):
1164
- if not isinstance(other, _AnnotatedAlias):
1165
- return NotImplemented
1166
- if self.__origin__ != other.__origin__:
1167
- return False
1168
- return self.__metadata__ == other.__metadata__
1169
-
1170
- def __hash__(self):
1171
- return hash((self.__origin__, self.__metadata__))
1172
-
1173
- class Annotated:
1174
- """Add context specific metadata to a type.
1175
-
1176
- Example: Annotated[int, runtime_check.Unsigned] indicates to the
1177
- hypothetical runtime_check module that this type is an unsigned int.
1178
- Every other consumer of this type can ignore this metadata and treat
1179
- this type as int.
1180
-
1181
- The first argument to Annotated must be a valid type (and will be in
1182
- the __origin__ field), the remaining arguments are kept as a tuple in
1183
- the __extra__ field.
1184
-
1185
- Details:
1186
-
1187
- - It's an error to call `Annotated` with less than two arguments.
1188
- - Nested Annotated are flattened::
1189
-
1190
- Annotated[Annotated[T, Ann1, Ann2], Ann3] == Annotated[T, Ann1, Ann2, Ann3]
1191
-
1192
- - Instantiating an annotated type is equivalent to instantiating the
1193
- underlying type::
1194
-
1195
- Annotated[C, Ann1](5) == C(5)
1196
-
1197
- - Annotated can be used as a generic type alias::
1198
-
1199
- Optimized = Annotated[T, runtime.Optimize()]
1200
- Optimized[int] == Annotated[int, runtime.Optimize()]
1201
-
1202
- OptimizedList = Annotated[List[T], runtime.Optimize()]
1203
- OptimizedList[int] == Annotated[List[int], runtime.Optimize()]
1204
- """
1205
-
1206
- __slots__ = ()
1207
-
1208
- def __new__(cls, *args, **kwargs):
1209
- raise TypeError("Type Annotated cannot be instantiated.")
1210
-
1211
- @typing._tp_cache
1212
- def __class_getitem__(cls, params):
1213
- if not isinstance(params, tuple) or len(params) < 2:
1214
- raise TypeError("Annotated[...] should be used "
1215
- "with at least two arguments (a type and an "
1216
- "annotation).")
1217
- msg = "Annotated[t, ...]: t must be a type."
1218
- origin = typing._type_check(params[0], msg)
1219
- metadata = tuple(params[1:])
1220
- return _AnnotatedAlias(origin, metadata)
1221
-
1222
- def __init_subclass__(cls, *args, **kwargs):
1223
- raise TypeError(
1224
- f"Cannot subclass {cls.__module__}.Annotated"
1225
- )
1226
-
1227
- def _strip_annotations(t):
1228
- """Strips the annotations from a given type.
1229
- """
1230
- if isinstance(t, _AnnotatedAlias):
1231
- return _strip_annotations(t.__origin__)
1232
- if isinstance(t, typing._GenericAlias):
1233
- stripped_args = tuple(_strip_annotations(a) for a in t.__args__)
1234
- if stripped_args == t.__args__:
1235
- return t
1236
- res = t.copy_with(stripped_args)
1237
- res._special = t._special
1238
- return res
1239
- return t
1240
-
1241
- def get_type_hints(obj, globalns=None, localns=None, include_extras=False):
1242
- """Return type hints for an object.
1243
-
1244
- This is often the same as obj.__annotations__, but it handles
1245
- forward references encoded as string literals, adds Optional[t] if a
1246
- default value equal to None is set and recursively replaces all
1247
- 'Annotated[T, ...]' with 'T' (unless 'include_extras=True').
1248
-
1249
- The argument may be a module, class, method, or function. The annotations
1250
- are returned as a dictionary. For classes, annotations include also
1251
- inherited members.
1252
-
1253
- TypeError is raised if the argument is not of a type that can contain
1254
- annotations, and an empty dictionary is returned if no annotations are
1255
- present.
1256
-
1257
- BEWARE -- the behavior of globalns and localns is counterintuitive
1258
- (unless you are familiar with how eval() and exec() work). The
1259
- search order is locals first, then globals.
1260
-
1261
- - If no dict arguments are passed, an attempt is made to use the
1262
- globals from obj (or the respective module's globals for classes),
1263
- and these are also used as the locals. If the object does not appear
1264
- to have globals, an empty dictionary is used.
1265
-
1266
- - If one dict argument is passed, it is used for both globals and
1267
- locals.
1268
-
1269
- - If two dict arguments are passed, they specify globals and
1270
- locals, respectively.
1271
- """
1272
- hint = typing.get_type_hints(obj, globalns=globalns, localns=localns)
1273
- if include_extras:
1274
- return hint
1275
- return {k: _strip_annotations(t) for k, t in hint.items()}
1276
- # 3.6
1277
- else:
1278
-
1279
- def _is_dunder(name):
1280
- """Returns True if name is a __dunder_variable_name__."""
1281
- return len(name) > 4 and name.startswith('__') and name.endswith('__')
1282
-
1283
- # Prior to Python 3.7 types did not have `copy_with`. A lot of the equality
1284
- # checks, argument expansion etc. are done on the _subs_tre. As a result we
1285
- # can't provide a get_type_hints function that strips out annotations.
1286
-
1287
- class AnnotatedMeta(typing.GenericMeta):
1288
- """Metaclass for Annotated"""
1289
-
1290
- def __new__(cls, name, bases, namespace, **kwargs):
1291
- if any(b is not object for b in bases):
1292
- raise TypeError("Cannot subclass " + str(Annotated))
1293
- return super().__new__(cls, name, bases, namespace, **kwargs)
1294
-
1295
- @property
1296
- def __metadata__(self):
1297
- return self._subs_tree()[2]
1298
-
1299
- def _tree_repr(self, tree):
1300
- cls, origin, metadata = tree
1301
- if not isinstance(origin, tuple):
1302
- tp_repr = typing._type_repr(origin)
1303
- else:
1304
- tp_repr = origin[0]._tree_repr(origin)
1305
- metadata_reprs = ", ".join(repr(arg) for arg in metadata)
1306
- return f'{cls}[{tp_repr}, {metadata_reprs}]'
1307
-
1308
- def _subs_tree(self, tvars=None, args=None): # noqa
1309
- if self is Annotated:
1310
- return Annotated
1311
- res = super()._subs_tree(tvars=tvars, args=args)
1312
- # Flatten nested Annotated
1313
- if isinstance(res[1], tuple) and res[1][0] is Annotated:
1314
- sub_tp = res[1][1]
1315
- sub_annot = res[1][2]
1316
- return (Annotated, sub_tp, sub_annot + res[2])
1317
- return res
1318
-
1319
- def _get_cons(self):
1320
- """Return the class used to create instance of this type."""
1321
- if self.__origin__ is None:
1322
- raise TypeError("Cannot get the underlying type of a "
1323
- "non-specialized Annotated type.")
1324
- tree = self._subs_tree()
1325
- while isinstance(tree, tuple) and tree[0] is Annotated:
1326
- tree = tree[1]
1327
- if isinstance(tree, tuple):
1328
- return tree[0]
1329
- else:
1330
- return tree
1331
-
1332
- @typing._tp_cache
1333
- def __getitem__(self, params):
1334
- if not isinstance(params, tuple):
1335
- params = (params,)
1336
- if self.__origin__ is not None: # specializing an instantiated type
1337
- return super().__getitem__(params)
1338
- elif not isinstance(params, tuple) or len(params) < 2:
1339
- raise TypeError("Annotated[...] should be instantiated "
1340
- "with at least two arguments (a type and an "
1341
- "annotation).")
1342
- else:
1343
- msg = "Annotated[t, ...]: t must be a type."
1344
- tp = typing._type_check(params[0], msg)
1345
- metadata = tuple(params[1:])
1346
- return self.__class__(
1347
- self.__name__,
1348
- self.__bases__,
1349
- _no_slots_copy(self.__dict__),
1350
- tvars=_type_vars((tp,)),
1351
- # Metadata is a tuple so it won't be touched by _replace_args et al.
1352
- args=(tp, metadata),
1353
- origin=self,
1354
- )
1355
-
1356
- def __call__(self, *args, **kwargs):
1357
- cons = self._get_cons()
1358
- result = cons(*args, **kwargs)
1359
- try:
1360
- result.__orig_class__ = self
1361
- except AttributeError:
1362
- pass
1363
- return result
1364
-
1365
- def __getattr__(self, attr):
1366
- # For simplicity we just don't relay all dunder names
1367
- if self.__origin__ is not None and not _is_dunder(attr):
1368
- return getattr(self._get_cons(), attr)
1369
- raise AttributeError(attr)
1370
-
1371
- def __setattr__(self, attr, value):
1372
- if _is_dunder(attr) or attr.startswith('_abc_'):
1373
- super().__setattr__(attr, value)
1374
- elif self.__origin__ is None:
1375
- raise AttributeError(attr)
1376
- else:
1377
- setattr(self._get_cons(), attr, value)
1378
-
1379
- def __instancecheck__(self, obj):
1380
- raise TypeError("Annotated cannot be used with isinstance().")
1381
-
1382
- def __subclasscheck__(self, cls):
1383
- raise TypeError("Annotated cannot be used with issubclass().")
1384
-
1385
- class Annotated(metaclass=AnnotatedMeta):
1386
- """Add context specific metadata to a type.
1387
-
1388
- Example: Annotated[int, runtime_check.Unsigned] indicates to the
1389
- hypothetical runtime_check module that this type is an unsigned int.
1390
- Every other consumer of this type can ignore this metadata and treat
1391
- this type as int.
1392
-
1393
- The first argument to Annotated must be a valid type, the remaining
1394
- arguments are kept as a tuple in the __metadata__ field.
1395
-
1396
- Details:
1397
-
1398
- - It's an error to call `Annotated` with less than two arguments.
1399
- - Nested Annotated are flattened::
1400
-
1401
- Annotated[Annotated[T, Ann1, Ann2], Ann3] == Annotated[T, Ann1, Ann2, Ann3]
1402
-
1403
- - Instantiating an annotated type is equivalent to instantiating the
1404
- underlying type::
1405
-
1406
- Annotated[C, Ann1](5) == C(5)
1407
-
1408
- - Annotated can be used as a generic type alias::
1409
-
1410
- Optimized = Annotated[T, runtime.Optimize()]
1411
- Optimized[int] == Annotated[int, runtime.Optimize()]
1412
-
1413
- OptimizedList = Annotated[List[T], runtime.Optimize()]
1414
- OptimizedList[int] == Annotated[List[int], runtime.Optimize()]
1415
- """
1416
-
1417
- # Python 3.8 has get_origin() and get_args() but those implementations aren't
1418
- # Annotated-aware, so we can't use those. Python 3.9's versions don't support
1419
- # ParamSpecArgs and ParamSpecKwargs, so only Python 3.10's versions will do.
1420
- if sys.version_info[:2] >= (3, 10):
1421
- get_origin = typing.get_origin
1422
- get_args = typing.get_args
1423
- # 3.7-3.9
1424
- elif PEP_560:
1425
- try:
1426
- # 3.9+
1427
- from typing import _BaseGenericAlias
1428
- except ImportError:
1429
- _BaseGenericAlias = typing._GenericAlias
1430
- try:
1431
- # 3.9+
1432
- from typing import GenericAlias
1433
- except ImportError:
1434
- GenericAlias = typing._GenericAlias
1435
-
1436
- def get_origin(tp):
1437
- """Get the unsubscripted version of a type.
1438
-
1439
- This supports generic types, Callable, Tuple, Union, Literal, Final, ClassVar
1440
- and Annotated. Return None for unsupported types. Examples::
1441
-
1442
- get_origin(Literal[42]) is Literal
1443
- get_origin(int) is None
1444
- get_origin(ClassVar[int]) is ClassVar
1445
- get_origin(Generic) is Generic
1446
- get_origin(Generic[T]) is Generic
1447
- get_origin(Union[T, int]) is Union
1448
- get_origin(List[Tuple[T, T]][int]) == list
1449
- get_origin(P.args) is P
1450
- """
1451
- if isinstance(tp, _AnnotatedAlias):
1452
- return Annotated
1453
- if isinstance(tp, (typing._GenericAlias, GenericAlias, _BaseGenericAlias,
1454
- ParamSpecArgs, ParamSpecKwargs)):
1455
- return tp.__origin__
1456
- if tp is typing.Generic:
1457
- return typing.Generic
1458
- return None
1459
-
1460
- def get_args(tp):
1461
- """Get type arguments with all substitutions performed.
1462
-
1463
- For unions, basic simplifications used by Union constructor are performed.
1464
- Examples::
1465
- get_args(Dict[str, int]) == (str, int)
1466
- get_args(int) == ()
1467
- get_args(Union[int, Union[T, int], str][int]) == (int, str)
1468
- get_args(Union[int, Tuple[T, int]][str]) == (int, Tuple[str, int])
1469
- get_args(Callable[[], T][int]) == ([], int)
1470
- """
1471
- if isinstance(tp, _AnnotatedAlias):
1472
- return (tp.__origin__,) + tp.__metadata__
1473
- if isinstance(tp, (typing._GenericAlias, GenericAlias)):
1474
- if getattr(tp, "_special", False):
1475
- return ()
1476
- res = tp.__args__
1477
- if get_origin(tp) is collections.abc.Callable and res[0] is not Ellipsis:
1478
- res = (list(res[:-1]), res[-1])
1479
- return res
1480
- return ()
1481
-
1482
-
1483
- # 3.10+
1484
- if hasattr(typing, 'TypeAlias'):
1485
- TypeAlias = typing.TypeAlias
1486
- # 3.9
1487
- elif sys.version_info[:2] >= (3, 9):
1488
- class _TypeAliasForm(typing._SpecialForm, _root=True):
1489
- def __repr__(self):
1490
- return 'typing_extensions.' + self._name
1491
-
1492
- @_TypeAliasForm
1493
- def TypeAlias(self, parameters):
1494
- """Special marker indicating that an assignment should
1495
- be recognized as a proper type alias definition by type
1496
- checkers.
1497
-
1498
- For example::
1499
-
1500
- Predicate: TypeAlias = Callable[..., bool]
1501
-
1502
- It's invalid when used anywhere except as in the example above.
1503
- """
1504
- raise TypeError(f"{self} is not subscriptable")
1505
- # 3.7-3.8
1506
- elif sys.version_info[:2] >= (3, 7):
1507
- class _TypeAliasForm(typing._SpecialForm, _root=True):
1508
- def __repr__(self):
1509
- return 'typing_extensions.' + self._name
1510
-
1511
- TypeAlias = _TypeAliasForm('TypeAlias',
1512
- doc="""Special marker indicating that an assignment should
1513
- be recognized as a proper type alias definition by type
1514
- checkers.
1515
-
1516
- For example::
1517
-
1518
- Predicate: TypeAlias = Callable[..., bool]
1519
-
1520
- It's invalid when used anywhere except as in the example
1521
- above.""")
1522
- # 3.6
1523
- else:
1524
- class _TypeAliasMeta(typing.TypingMeta):
1525
- """Metaclass for TypeAlias"""
1526
-
1527
- def __repr__(self):
1528
- return 'typing_extensions.TypeAlias'
1529
-
1530
- class _TypeAliasBase(typing._FinalTypingBase, metaclass=_TypeAliasMeta, _root=True):
1531
- """Special marker indicating that an assignment should
1532
- be recognized as a proper type alias definition by type
1533
- checkers.
1534
-
1535
- For example::
1536
-
1537
- Predicate: TypeAlias = Callable[..., bool]
1538
-
1539
- It's invalid when used anywhere except as in the example above.
1540
- """
1541
- __slots__ = ()
1542
-
1543
- def __instancecheck__(self, obj):
1544
- raise TypeError("TypeAlias cannot be used with isinstance().")
1545
-
1546
- def __subclasscheck__(self, cls):
1547
- raise TypeError("TypeAlias cannot be used with issubclass().")
1548
-
1549
- def __repr__(self):
1550
- return 'typing_extensions.TypeAlias'
1551
-
1552
- TypeAlias = _TypeAliasBase(_root=True)
1553
-
1554
-
1555
- # Python 3.10+ has PEP 612
1556
- if hasattr(typing, 'ParamSpecArgs'):
1557
- ParamSpecArgs = typing.ParamSpecArgs
1558
- ParamSpecKwargs = typing.ParamSpecKwargs
1559
- # 3.6-3.9
1560
- else:
1561
- class _Immutable:
1562
- """Mixin to indicate that object should not be copied."""
1563
- __slots__ = ()
1564
-
1565
- def __copy__(self):
1566
- return self
1567
-
1568
- def __deepcopy__(self, memo):
1569
- return self
1570
-
1571
- class ParamSpecArgs(_Immutable):
1572
- """The args for a ParamSpec object.
1573
-
1574
- Given a ParamSpec object P, P.args is an instance of ParamSpecArgs.
1575
-
1576
- ParamSpecArgs objects have a reference back to their ParamSpec:
1577
-
1578
- P.args.__origin__ is P
1579
-
1580
- This type is meant for runtime introspection and has no special meaning to
1581
- static type checkers.
1582
- """
1583
- def __init__(self, origin):
1584
- self.__origin__ = origin
1585
-
1586
- def __repr__(self):
1587
- return f"{self.__origin__.__name__}.args"
1588
-
1589
- class ParamSpecKwargs(_Immutable):
1590
- """The kwargs for a ParamSpec object.
1591
-
1592
- Given a ParamSpec object P, P.kwargs is an instance of ParamSpecKwargs.
1593
-
1594
- ParamSpecKwargs objects have a reference back to their ParamSpec:
1595
-
1596
- P.kwargs.__origin__ is P
1597
-
1598
- This type is meant for runtime introspection and has no special meaning to
1599
- static type checkers.
1600
- """
1601
- def __init__(self, origin):
1602
- self.__origin__ = origin
1603
-
1604
- def __repr__(self):
1605
- return f"{self.__origin__.__name__}.kwargs"
1606
-
1607
- # 3.10+
1608
- if hasattr(typing, 'ParamSpec'):
1609
- ParamSpec = typing.ParamSpec
1610
- # 3.6-3.9
1611
- else:
1612
-
1613
- # Inherits from list as a workaround for Callable checks in Python < 3.9.2.
1614
- class ParamSpec(list):
1615
- """Parameter specification variable.
1616
-
1617
- Usage::
1618
-
1619
- P = ParamSpec('P')
1620
-
1621
- Parameter specification variables exist primarily for the benefit of static
1622
- type checkers. They are used to forward the parameter types of one
1623
- callable to another callable, a pattern commonly found in higher order
1624
- functions and decorators. They are only valid when used in ``Concatenate``,
1625
- or s the first argument to ``Callable``. In Python 3.10 and higher,
1626
- they are also supported in user-defined Generics at runtime.
1627
- See class Generic for more information on generic types. An
1628
- example for annotating a decorator::
1629
-
1630
- T = TypeVar('T')
1631
- P = ParamSpec('P')
1632
-
1633
- def add_logging(f: Callable[P, T]) -> Callable[P, T]:
1634
- '''A type-safe decorator to add logging to a function.'''
1635
- def inner(*args: P.args, **kwargs: P.kwargs) -> T:
1636
- logging.info(f'{f.__name__} was called')
1637
- return f(*args, **kwargs)
1638
- return inner
1639
-
1640
- @add_logging
1641
- def add_two(x: float, y: float) -> float:
1642
- '''Add two numbers together.'''
1643
- return x + y
1644
-
1645
- Parameter specification variables defined with covariant=True or
1646
- contravariant=True can be used to declare covariant or contravariant
1647
- generic types. These keyword arguments are valid, but their actual semantics
1648
- are yet to be decided. See PEP 612 for details.
1649
-
1650
- Parameter specification variables can be introspected. e.g.:
1651
-
1652
- P.__name__ == 'T'
1653
- P.__bound__ == None
1654
- P.__covariant__ == False
1655
- P.__contravariant__ == False
1656
-
1657
- Note that only parameter specification variables defined in global scope can
1658
- be pickled.
1659
- """
1660
-
1661
- # Trick Generic __parameters__.
1662
- __class__ = typing.TypeVar
1663
-
1664
- @property
1665
- def args(self):
1666
- return ParamSpecArgs(self)
1667
-
1668
- @property
1669
- def kwargs(self):
1670
- return ParamSpecKwargs(self)
1671
-
1672
- def __init__(self, name, *, bound=None, covariant=False, contravariant=False):
1673
- super().__init__([self])
1674
- self.__name__ = name
1675
- self.__covariant__ = bool(covariant)
1676
- self.__contravariant__ = bool(contravariant)
1677
- if bound:
1678
- self.__bound__ = typing._type_check(bound, 'Bound must be a type.')
1679
- else:
1680
- self.__bound__ = None
1681
-
1682
- # for pickling:
1683
- try:
1684
- def_mod = sys._getframe(1).f_globals.get('__name__', '__main__')
1685
- except (AttributeError, ValueError):
1686
- def_mod = None
1687
- if def_mod != 'typing_extensions':
1688
- self.__module__ = def_mod
1689
-
1690
- def __repr__(self):
1691
- if self.__covariant__:
1692
- prefix = '+'
1693
- elif self.__contravariant__:
1694
- prefix = '-'
1695
- else:
1696
- prefix = '~'
1697
- return prefix + self.__name__
1698
-
1699
- def __hash__(self):
1700
- return object.__hash__(self)
1701
-
1702
- def __eq__(self, other):
1703
- return self is other
1704
-
1705
- def __reduce__(self):
1706
- return self.__name__
1707
-
1708
- # Hack to get typing._type_check to pass.
1709
- def __call__(self, *args, **kwargs):
1710
- pass
1711
-
1712
- if not PEP_560:
1713
- # Only needed in 3.6.
1714
- def _get_type_vars(self, tvars):
1715
- if self not in tvars:
1716
- tvars.append(self)
1717
-
1718
-
1719
- # 3.6-3.9
1720
- if not hasattr(typing, 'Concatenate'):
1721
- # Inherits from list as a workaround for Callable checks in Python < 3.9.2.
1722
- class _ConcatenateGenericAlias(list):
1723
-
1724
- # Trick Generic into looking into this for __parameters__.
1725
- if PEP_560:
1726
- __class__ = typing._GenericAlias
1727
- else:
1728
- __class__ = typing._TypingBase
1729
-
1730
- # Flag in 3.8.
1731
- _special = False
1732
- # Attribute in 3.6 and earlier.
1733
- _gorg = typing.Generic
1734
-
1735
- def __init__(self, origin, args):
1736
- super().__init__(args)
1737
- self.__origin__ = origin
1738
- self.__args__ = args
1739
-
1740
- def __repr__(self):
1741
- _type_repr = typing._type_repr
1742
- return (f'{_type_repr(self.__origin__)}'
1743
- f'[{", ".join(_type_repr(arg) for arg in self.__args__)}]')
1744
-
1745
- def __hash__(self):
1746
- return hash((self.__origin__, self.__args__))
1747
-
1748
- # Hack to get typing._type_check to pass in Generic.
1749
- def __call__(self, *args, **kwargs):
1750
- pass
1751
-
1752
- @property
1753
- def __parameters__(self):
1754
- return tuple(
1755
- tp for tp in self.__args__ if isinstance(tp, (typing.TypeVar, ParamSpec))
1756
- )
1757
-
1758
- if not PEP_560:
1759
- # Only required in 3.6.
1760
- def _get_type_vars(self, tvars):
1761
- if self.__origin__ and self.__parameters__:
1762
- typing._get_type_vars(self.__parameters__, tvars)
1763
-
1764
-
1765
- # 3.6-3.9
1766
- @typing._tp_cache
1767
- def _concatenate_getitem(self, parameters):
1768
- if parameters == ():
1769
- raise TypeError("Cannot take a Concatenate of no types.")
1770
- if not isinstance(parameters, tuple):
1771
- parameters = (parameters,)
1772
- if not isinstance(parameters[-1], ParamSpec):
1773
- raise TypeError("The last parameter to Concatenate should be a "
1774
- "ParamSpec variable.")
1775
- msg = "Concatenate[arg, ...]: each arg must be a type."
1776
- parameters = tuple(typing._type_check(p, msg) for p in parameters)
1777
- return _ConcatenateGenericAlias(self, parameters)
1778
-
1779
-
1780
- # 3.10+
1781
- if hasattr(typing, 'Concatenate'):
1782
- Concatenate = typing.Concatenate
1783
- _ConcatenateGenericAlias = typing._ConcatenateGenericAlias # noqa
1784
- # 3.9
1785
- elif sys.version_info[:2] >= (3, 9):
1786
- @_TypeAliasForm
1787
- def Concatenate(self, parameters):
1788
- """Used in conjunction with ``ParamSpec`` and ``Callable`` to represent a
1789
- higher order function which adds, removes or transforms parameters of a
1790
- callable.
1791
-
1792
- For example::
1793
-
1794
- Callable[Concatenate[int, P], int]
1795
-
1796
- See PEP 612 for detailed information.
1797
- """
1798
- return _concatenate_getitem(self, parameters)
1799
- # 3.7-8
1800
- elif sys.version_info[:2] >= (3, 7):
1801
- class _ConcatenateForm(typing._SpecialForm, _root=True):
1802
- def __repr__(self):
1803
- return 'typing_extensions.' + self._name
1804
-
1805
- def __getitem__(self, parameters):
1806
- return _concatenate_getitem(self, parameters)
1807
-
1808
- Concatenate = _ConcatenateForm(
1809
- 'Concatenate',
1810
- doc="""Used in conjunction with ``ParamSpec`` and ``Callable`` to represent a
1811
- higher order function which adds, removes or transforms parameters of a
1812
- callable.
1813
-
1814
- For example::
1815
-
1816
- Callable[Concatenate[int, P], int]
1817
-
1818
- See PEP 612 for detailed information.
1819
- """)
1820
- # 3.6
1821
- else:
1822
- class _ConcatenateAliasMeta(typing.TypingMeta):
1823
- """Metaclass for Concatenate."""
1824
-
1825
- def __repr__(self):
1826
- return 'typing_extensions.Concatenate'
1827
-
1828
- class _ConcatenateAliasBase(typing._FinalTypingBase,
1829
- metaclass=_ConcatenateAliasMeta,
1830
- _root=True):
1831
- """Used in conjunction with ``ParamSpec`` and ``Callable`` to represent a
1832
- higher order function which adds, removes or transforms parameters of a
1833
- callable.
1834
-
1835
- For example::
1836
-
1837
- Callable[Concatenate[int, P], int]
1838
-
1839
- See PEP 612 for detailed information.
1840
- """
1841
- __slots__ = ()
1842
-
1843
- def __instancecheck__(self, obj):
1844
- raise TypeError("Concatenate cannot be used with isinstance().")
1845
-
1846
- def __subclasscheck__(self, cls):
1847
- raise TypeError("Concatenate cannot be used with issubclass().")
1848
-
1849
- def __repr__(self):
1850
- return 'typing_extensions.Concatenate'
1851
-
1852
- def __getitem__(self, parameters):
1853
- return _concatenate_getitem(self, parameters)
1854
-
1855
- Concatenate = _ConcatenateAliasBase(_root=True)
1856
-
1857
- # 3.10+
1858
- if hasattr(typing, 'TypeGuard'):
1859
- TypeGuard = typing.TypeGuard
1860
- # 3.9
1861
- elif sys.version_info[:2] >= (3, 9):
1862
- class _TypeGuardForm(typing._SpecialForm, _root=True):
1863
- def __repr__(self):
1864
- return 'typing_extensions.' + self._name
1865
-
1866
- @_TypeGuardForm
1867
- def TypeGuard(self, parameters):
1868
- """Special typing form used to annotate the return type of a user-defined
1869
- type guard function. ``TypeGuard`` only accepts a single type argument.
1870
- At runtime, functions marked this way should return a boolean.
1871
-
1872
- ``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static
1873
- type checkers to determine a more precise type of an expression within a
1874
- program's code flow. Usually type narrowing is done by analyzing
1875
- conditional code flow and applying the narrowing to a block of code. The
1876
- conditional expression here is sometimes referred to as a "type guard".
1877
-
1878
- Sometimes it would be convenient to use a user-defined boolean function
1879
- as a type guard. Such a function should use ``TypeGuard[...]`` as its
1880
- return type to alert static type checkers to this intention.
1881
-
1882
- Using ``-> TypeGuard`` tells the static type checker that for a given
1883
- function:
1884
-
1885
- 1. The return value is a boolean.
1886
- 2. If the return value is ``True``, the type of its argument
1887
- is the type inside ``TypeGuard``.
1888
-
1889
- For example::
1890
-
1891
- def is_str(val: Union[str, float]):
1892
- # "isinstance" type guard
1893
- if isinstance(val, str):
1894
- # Type of ``val`` is narrowed to ``str``
1895
- ...
1896
- else:
1897
- # Else, type of ``val`` is narrowed to ``float``.
1898
- ...
1899
-
1900
- Strict type narrowing is not enforced -- ``TypeB`` need not be a narrower
1901
- form of ``TypeA`` (it can even be a wider form) and this may lead to
1902
- type-unsafe results. The main reason is to allow for things like
1903
- narrowing ``List[object]`` to ``List[str]`` even though the latter is not
1904
- a subtype of the former, since ``List`` is invariant. The responsibility of
1905
- writing type-safe type guards is left to the user.
1906
-
1907
- ``TypeGuard`` also works with type variables. For more information, see
1908
- PEP 647 (User-Defined Type Guards).
1909
- """
1910
- item = typing._type_check(parameters, f'{self} accepts only single type.')
1911
- return typing._GenericAlias(self, (item,))
1912
- # 3.7-3.8
1913
- elif sys.version_info[:2] >= (3, 7):
1914
- class _TypeGuardForm(typing._SpecialForm, _root=True):
1915
-
1916
- def __repr__(self):
1917
- return 'typing_extensions.' + self._name
1918
-
1919
- def __getitem__(self, parameters):
1920
- item = typing._type_check(parameters,
1921
- f'{self._name} accepts only a single type')
1922
- return typing._GenericAlias(self, (item,))
1923
-
1924
- TypeGuard = _TypeGuardForm(
1925
- 'TypeGuard',
1926
- doc="""Special typing form used to annotate the return type of a user-defined
1927
- type guard function. ``TypeGuard`` only accepts a single type argument.
1928
- At runtime, functions marked this way should return a boolean.
1929
-
1930
- ``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static
1931
- type checkers to determine a more precise type of an expression within a
1932
- program's code flow. Usually type narrowing is done by analyzing
1933
- conditional code flow and applying the narrowing to a block of code. The
1934
- conditional expression here is sometimes referred to as a "type guard".
1935
-
1936
- Sometimes it would be convenient to use a user-defined boolean function
1937
- as a type guard. Such a function should use ``TypeGuard[...]`` as its
1938
- return type to alert static type checkers to this intention.
1939
-
1940
- Using ``-> TypeGuard`` tells the static type checker that for a given
1941
- function:
1942
-
1943
- 1. The return value is a boolean.
1944
- 2. If the return value is ``True``, the type of its argument
1945
- is the type inside ``TypeGuard``.
1946
-
1947
- For example::
1948
-
1949
- def is_str(val: Union[str, float]):
1950
- # "isinstance" type guard
1951
- if isinstance(val, str):
1952
- # Type of ``val`` is narrowed to ``str``
1953
- ...
1954
- else:
1955
- # Else, type of ``val`` is narrowed to ``float``.
1956
- ...
1957
-
1958
- Strict type narrowing is not enforced -- ``TypeB`` need not be a narrower
1959
- form of ``TypeA`` (it can even be a wider form) and this may lead to
1960
- type-unsafe results. The main reason is to allow for things like
1961
- narrowing ``List[object]`` to ``List[str]`` even though the latter is not
1962
- a subtype of the former, since ``List`` is invariant. The responsibility of
1963
- writing type-safe type guards is left to the user.
1964
-
1965
- ``TypeGuard`` also works with type variables. For more information, see
1966
- PEP 647 (User-Defined Type Guards).
1967
- """)
1968
- # 3.6
1969
- else:
1970
- class _TypeGuard(typing._FinalTypingBase, _root=True):
1971
- """Special typing form used to annotate the return type of a user-defined
1972
- type guard function. ``TypeGuard`` only accepts a single type argument.
1973
- At runtime, functions marked this way should return a boolean.
1974
-
1975
- ``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static
1976
- type checkers to determine a more precise type of an expression within a
1977
- program's code flow. Usually type narrowing is done by analyzing
1978
- conditional code flow and applying the narrowing to a block of code. The
1979
- conditional expression here is sometimes referred to as a "type guard".
1980
-
1981
- Sometimes it would be convenient to use a user-defined boolean function
1982
- as a type guard. Such a function should use ``TypeGuard[...]`` as its
1983
- return type to alert static type checkers to this intention.
1984
-
1985
- Using ``-> TypeGuard`` tells the static type checker that for a given
1986
- function:
1987
-
1988
- 1. The return value is a boolean.
1989
- 2. If the return value is ``True``, the type of its argument
1990
- is the type inside ``TypeGuard``.
1991
-
1992
- For example::
1993
-
1994
- def is_str(val: Union[str, float]):
1995
- # "isinstance" type guard
1996
- if isinstance(val, str):
1997
- # Type of ``val`` is narrowed to ``str``
1998
- ...
1999
- else:
2000
- # Else, type of ``val`` is narrowed to ``float``.
2001
- ...
2002
-
2003
- Strict type narrowing is not enforced -- ``TypeB`` need not be a narrower
2004
- form of ``TypeA`` (it can even be a wider form) and this may lead to
2005
- type-unsafe results. The main reason is to allow for things like
2006
- narrowing ``List[object]`` to ``List[str]`` even though the latter is not
2007
- a subtype of the former, since ``List`` is invariant. The responsibility of
2008
- writing type-safe type guards is left to the user.
2009
-
2010
- ``TypeGuard`` also works with type variables. For more information, see
2011
- PEP 647 (User-Defined Type Guards).
2012
- """
2013
-
2014
- __slots__ = ('__type__',)
2015
-
2016
- def __init__(self, tp=None, **kwds):
2017
- self.__type__ = tp
2018
-
2019
- def __getitem__(self, item):
2020
- cls = type(self)
2021
- if self.__type__ is None:
2022
- return cls(typing._type_check(item,
2023
- f'{cls.__name__[1:]} accepts only a single type.'),
2024
- _root=True)
2025
- raise TypeError(f'{cls.__name__[1:]} cannot be further subscripted')
2026
-
2027
- def _eval_type(self, globalns, localns):
2028
- new_tp = typing._eval_type(self.__type__, globalns, localns)
2029
- if new_tp == self.__type__:
2030
- return self
2031
- return type(self)(new_tp, _root=True)
2032
-
2033
- def __repr__(self):
2034
- r = super().__repr__()
2035
- if self.__type__ is not None:
2036
- r += f'[{typing._type_repr(self.__type__)}]'
2037
- return r
2038
-
2039
- def __hash__(self):
2040
- return hash((type(self).__name__, self.__type__))
2041
-
2042
- def __eq__(self, other):
2043
- if not isinstance(other, _TypeGuard):
2044
- return NotImplemented
2045
- if self.__type__ is not None:
2046
- return self.__type__ == other.__type__
2047
- return self is other
2048
-
2049
- TypeGuard = _TypeGuard(_root=True)
2050
-
2051
- if hasattr(typing, "Self"):
2052
- Self = typing.Self
2053
- elif sys.version_info[:2] >= (3, 7):
2054
- # Vendored from cpython typing._SpecialFrom
2055
- class _SpecialForm(typing._Final, _root=True):
2056
- __slots__ = ('_name', '__doc__', '_getitem')
2057
-
2058
- def __init__(self, getitem):
2059
- self._getitem = getitem
2060
- self._name = getitem.__name__
2061
- self.__doc__ = getitem.__doc__
2062
-
2063
- def __getattr__(self, item):
2064
- if item in {'__name__', '__qualname__'}:
2065
- return self._name
2066
-
2067
- raise AttributeError(item)
2068
-
2069
- def __mro_entries__(self, bases):
2070
- raise TypeError(f"Cannot subclass {self!r}")
2071
-
2072
- def __repr__(self):
2073
- return f'typing_extensions.{self._name}'
2074
-
2075
- def __reduce__(self):
2076
- return self._name
2077
-
2078
- def __call__(self, *args, **kwds):
2079
- raise TypeError(f"Cannot instantiate {self!r}")
2080
-
2081
- def __or__(self, other):
2082
- return typing.Union[self, other]
2083
-
2084
- def __ror__(self, other):
2085
- return typing.Union[other, self]
2086
-
2087
- def __instancecheck__(self, obj):
2088
- raise TypeError(f"{self} cannot be used with isinstance()")
2089
-
2090
- def __subclasscheck__(self, cls):
2091
- raise TypeError(f"{self} cannot be used with issubclass()")
2092
-
2093
- @typing._tp_cache
2094
- def __getitem__(self, parameters):
2095
- return self._getitem(self, parameters)
2096
-
2097
- @_SpecialForm
2098
- def Self(self, params):
2099
- """Used to spell the type of "self" in classes.
2100
-
2101
- Example::
2102
-
2103
- from typing import Self
2104
-
2105
- class ReturnsSelf:
2106
- def parse(self, data: bytes) -> Self:
2107
- ...
2108
- return self
2109
-
2110
- """
2111
-
2112
- raise TypeError(f"{self} is not subscriptable")
2113
- else:
2114
- class _Self(typing._FinalTypingBase, _root=True):
2115
- """Used to spell the type of "self" in classes.
2116
-
2117
- Example::
2118
-
2119
- from typing import Self
2120
-
2121
- class ReturnsSelf:
2122
- def parse(self, data: bytes) -> Self:
2123
- ...
2124
- return self
2125
-
2126
- """
2127
-
2128
- __slots__ = ()
2129
-
2130
- def __instancecheck__(self, obj):
2131
- raise TypeError(f"{self} cannot be used with isinstance().")
2132
-
2133
- def __subclasscheck__(self, cls):
2134
- raise TypeError(f"{self} cannot be used with issubclass().")
2135
-
2136
- Self = _Self(_root=True)
2137
-
2138
-
2139
- if hasattr(typing, 'Required'):
2140
- Required = typing.Required
2141
- NotRequired = typing.NotRequired
2142
- elif sys.version_info[:2] >= (3, 9):
2143
- class _ExtensionsSpecialForm(typing._SpecialForm, _root=True):
2144
- def __repr__(self):
2145
- return 'typing_extensions.' + self._name
2146
-
2147
- @_ExtensionsSpecialForm
2148
- def Required(self, parameters):
2149
- """A special typing construct to mark a key of a total=False TypedDict
2150
- as required. For example:
2151
-
2152
- class Movie(TypedDict, total=False):
2153
- title: Required[str]
2154
- year: int
2155
-
2156
- m = Movie(
2157
- title='The Matrix', # typechecker error if key is omitted
2158
- year=1999,
2159
- )
2160
-
2161
- There is no runtime checking that a required key is actually provided
2162
- when instantiating a related TypedDict.
2163
- """
2164
- item = typing._type_check(parameters, f'{self._name} accepts only single type')
2165
- return typing._GenericAlias(self, (item,))
2166
-
2167
- @_ExtensionsSpecialForm
2168
- def NotRequired(self, parameters):
2169
- """A special typing construct to mark a key of a TypedDict as
2170
- potentially missing. For example:
2171
-
2172
- class Movie(TypedDict):
2173
- title: str
2174
- year: NotRequired[int]
2175
-
2176
- m = Movie(
2177
- title='The Matrix', # typechecker error if key is omitted
2178
- year=1999,
2179
- )
2180
- """
2181
- item = typing._type_check(parameters, f'{self._name} accepts only single type')
2182
- return typing._GenericAlias(self, (item,))
2183
-
2184
- elif sys.version_info[:2] >= (3, 7):
2185
- class _RequiredForm(typing._SpecialForm, _root=True):
2186
- def __repr__(self):
2187
- return 'typing_extensions.' + self._name
2188
-
2189
- def __getitem__(self, parameters):
2190
- item = typing._type_check(parameters,
2191
- '{} accepts only single type'.format(self._name))
2192
- return typing._GenericAlias(self, (item,))
2193
-
2194
- Required = _RequiredForm(
2195
- 'Required',
2196
- doc="""A special typing construct to mark a key of a total=False TypedDict
2197
- as required. For example:
2198
-
2199
- class Movie(TypedDict, total=False):
2200
- title: Required[str]
2201
- year: int
2202
-
2203
- m = Movie(
2204
- title='The Matrix', # typechecker error if key is omitted
2205
- year=1999,
2206
- )
2207
-
2208
- There is no runtime checking that a required key is actually provided
2209
- when instantiating a related TypedDict.
2210
- """)
2211
- NotRequired = _RequiredForm(
2212
- 'NotRequired',
2213
- doc="""A special typing construct to mark a key of a TypedDict as
2214
- potentially missing. For example:
2215
-
2216
- class Movie(TypedDict):
2217
- title: str
2218
- year: NotRequired[int]
2219
-
2220
- m = Movie(
2221
- title='The Matrix', # typechecker error if key is omitted
2222
- year=1999,
2223
- )
2224
- """)
2225
- else:
2226
- # NOTE: Modeled after _Final's implementation when _FinalTypingBase available
2227
- class _MaybeRequired(typing._FinalTypingBase, _root=True):
2228
- __slots__ = ('__type__',)
2229
-
2230
- def __init__(self, tp=None, **kwds):
2231
- self.__type__ = tp
2232
-
2233
- def __getitem__(self, item):
2234
- cls = type(self)
2235
- if self.__type__ is None:
2236
- return cls(typing._type_check(item,
2237
- '{} accepts only single type.'.format(cls.__name__[1:])),
2238
- _root=True)
2239
- raise TypeError('{} cannot be further subscripted'
2240
- .format(cls.__name__[1:]))
2241
-
2242
- def _eval_type(self, globalns, localns):
2243
- new_tp = typing._eval_type(self.__type__, globalns, localns)
2244
- if new_tp == self.__type__:
2245
- return self
2246
- return type(self)(new_tp, _root=True)
2247
-
2248
- def __repr__(self):
2249
- r = super().__repr__()
2250
- if self.__type__ is not None:
2251
- r += '[{}]'.format(typing._type_repr(self.__type__))
2252
- return r
2253
-
2254
- def __hash__(self):
2255
- return hash((type(self).__name__, self.__type__))
2256
-
2257
- def __eq__(self, other):
2258
- if not isinstance(other, type(self)):
2259
- return NotImplemented
2260
- if self.__type__ is not None:
2261
- return self.__type__ == other.__type__
2262
- return self is other
2263
-
2264
- class _Required(_MaybeRequired, _root=True):
2265
- """A special typing construct to mark a key of a total=False TypedDict
2266
- as required. For example:
2267
-
2268
- class Movie(TypedDict, total=False):
2269
- title: Required[str]
2270
- year: int
2271
-
2272
- m = Movie(
2273
- title='The Matrix', # typechecker error if key is omitted
2274
- year=1999,
2275
- )
2276
-
2277
- There is no runtime checking that a required key is actually provided
2278
- when instantiating a related TypedDict.
2279
- """
2280
-
2281
- class _NotRequired(_MaybeRequired, _root=True):
2282
- """A special typing construct to mark a key of a TypedDict as
2283
- potentially missing. For example:
2284
-
2285
- class Movie(TypedDict):
2286
- title: str
2287
- year: NotRequired[int]
2288
-
2289
- m = Movie(
2290
- title='The Matrix', # typechecker error if key is omitted
2291
- year=1999,
2292
- )
2293
- """
2294
-
2295
- Required = _Required(_root=True)
2296
- NotRequired = _NotRequired(_root=True)