hmdev-cli 1.0.0

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 (1158) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/bin/hmdev-cli.js +29 -0
  4. package/package.json +40 -0
  5. package/python/.venv/Lib/site-packages/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  6. package/python/.venv/Lib/site-packages/anyio/__init__.py +111 -0
  7. package/python/.venv/Lib/site-packages/anyio/__pycache__/__init__.cpython-312.pyc +0 -0
  8. package/python/.venv/Lib/site-packages/anyio/__pycache__/from_thread.cpython-312.pyc +0 -0
  9. package/python/.venv/Lib/site-packages/anyio/__pycache__/functools.cpython-312.pyc +0 -0
  10. package/python/.venv/Lib/site-packages/anyio/__pycache__/lowlevel.cpython-312.pyc +0 -0
  11. package/python/.venv/Lib/site-packages/anyio/__pycache__/pytest_plugin.cpython-312.pyc +0 -0
  12. package/python/.venv/Lib/site-packages/anyio/__pycache__/to_interpreter.cpython-312.pyc +0 -0
  13. package/python/.venv/Lib/site-packages/anyio/__pycache__/to_process.cpython-312.pyc +0 -0
  14. package/python/.venv/Lib/site-packages/anyio/__pycache__/to_thread.cpython-312.pyc +0 -0
  15. package/python/.venv/Lib/site-packages/anyio/_backends/__init__.py +0 -0
  16. package/python/.venv/Lib/site-packages/anyio/_backends/__pycache__/__init__.cpython-312.pyc +0 -0
  17. package/python/.venv/Lib/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-312.pyc +0 -0
  18. package/python/.venv/Lib/site-packages/anyio/_backends/__pycache__/_trio.cpython-312.pyc +0 -0
  19. package/python/.venv/Lib/site-packages/anyio/_backends/_asyncio.py +2996 -0
  20. package/python/.venv/Lib/site-packages/anyio/_backends/_trio.py +1343 -0
  21. package/python/.venv/Lib/site-packages/anyio/_core/__init__.py +0 -0
  22. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/__init__.cpython-312.pyc +0 -0
  23. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_asyncio_selector_thread.cpython-312.pyc +0 -0
  24. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_contextmanagers.cpython-312.pyc +0 -0
  25. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_eventloop.cpython-312.pyc +0 -0
  26. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_exceptions.cpython-312.pyc +0 -0
  27. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_fileio.cpython-312.pyc +0 -0
  28. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_resources.cpython-312.pyc +0 -0
  29. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_signals.cpython-312.pyc +0 -0
  30. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_sockets.cpython-312.pyc +0 -0
  31. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_streams.cpython-312.pyc +0 -0
  32. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-312.pyc +0 -0
  33. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_synchronization.cpython-312.pyc +0 -0
  34. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_tasks.cpython-312.pyc +0 -0
  35. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_tempfile.cpython-312.pyc +0 -0
  36. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_testing.cpython-312.pyc +0 -0
  37. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_typedattr.cpython-312.pyc +0 -0
  38. package/python/.venv/Lib/site-packages/anyio/_core/_asyncio_selector_thread.py +167 -0
  39. package/python/.venv/Lib/site-packages/anyio/_core/_contextmanagers.py +200 -0
  40. package/python/.venv/Lib/site-packages/anyio/_core/_eventloop.py +234 -0
  41. package/python/.venv/Lib/site-packages/anyio/_core/_exceptions.py +156 -0
  42. package/python/.venv/Lib/site-packages/anyio/_core/_fileio.py +799 -0
  43. package/python/.venv/Lib/site-packages/anyio/_core/_resources.py +18 -0
  44. package/python/.venv/Lib/site-packages/anyio/_core/_signals.py +29 -0
  45. package/python/.venv/Lib/site-packages/anyio/_core/_sockets.py +1003 -0
  46. package/python/.venv/Lib/site-packages/anyio/_core/_streams.py +52 -0
  47. package/python/.venv/Lib/site-packages/anyio/_core/_subprocesses.py +196 -0
  48. package/python/.venv/Lib/site-packages/anyio/_core/_synchronization.py +757 -0
  49. package/python/.venv/Lib/site-packages/anyio/_core/_tasks.py +173 -0
  50. package/python/.venv/Lib/site-packages/anyio/_core/_tempfile.py +613 -0
  51. package/python/.venv/Lib/site-packages/anyio/_core/_testing.py +82 -0
  52. package/python/.venv/Lib/site-packages/anyio/_core/_typedattr.py +81 -0
  53. package/python/.venv/Lib/site-packages/anyio/abc/__init__.py +58 -0
  54. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/__init__.cpython-312.pyc +0 -0
  55. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_eventloop.cpython-312.pyc +0 -0
  56. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_resources.cpython-312.pyc +0 -0
  57. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_sockets.cpython-312.pyc +0 -0
  58. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_streams.cpython-312.pyc +0 -0
  59. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-312.pyc +0 -0
  60. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_tasks.cpython-312.pyc +0 -0
  61. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_testing.cpython-312.pyc +0 -0
  62. package/python/.venv/Lib/site-packages/anyio/abc/_eventloop.py +409 -0
  63. package/python/.venv/Lib/site-packages/anyio/abc/_resources.py +33 -0
  64. package/python/.venv/Lib/site-packages/anyio/abc/_sockets.py +399 -0
  65. package/python/.venv/Lib/site-packages/anyio/abc/_streams.py +233 -0
  66. package/python/.venv/Lib/site-packages/anyio/abc/_subprocesses.py +79 -0
  67. package/python/.venv/Lib/site-packages/anyio/abc/_tasks.py +117 -0
  68. package/python/.venv/Lib/site-packages/anyio/abc/_testing.py +65 -0
  69. package/python/.venv/Lib/site-packages/anyio/from_thread.py +578 -0
  70. package/python/.venv/Lib/site-packages/anyio/functools.py +409 -0
  71. package/python/.venv/Lib/site-packages/anyio/lowlevel.py +196 -0
  72. package/python/.venv/Lib/site-packages/anyio/py.typed +0 -0
  73. package/python/.venv/Lib/site-packages/anyio/pytest_plugin.py +363 -0
  74. package/python/.venv/Lib/site-packages/anyio/streams/__init__.py +0 -0
  75. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/__init__.cpython-312.pyc +0 -0
  76. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/buffered.cpython-312.pyc +0 -0
  77. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/file.cpython-312.pyc +0 -0
  78. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/memory.cpython-312.pyc +0 -0
  79. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/stapled.cpython-312.pyc +0 -0
  80. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/text.cpython-312.pyc +0 -0
  81. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/tls.cpython-312.pyc +0 -0
  82. package/python/.venv/Lib/site-packages/anyio/streams/buffered.py +188 -0
  83. package/python/.venv/Lib/site-packages/anyio/streams/file.py +154 -0
  84. package/python/.venv/Lib/site-packages/anyio/streams/memory.py +325 -0
  85. package/python/.venv/Lib/site-packages/anyio/streams/stapled.py +147 -0
  86. package/python/.venv/Lib/site-packages/anyio/streams/text.py +176 -0
  87. package/python/.venv/Lib/site-packages/anyio/streams/tls.py +421 -0
  88. package/python/.venv/Lib/site-packages/anyio/to_interpreter.py +246 -0
  89. package/python/.venv/Lib/site-packages/anyio/to_process.py +266 -0
  90. package/python/.venv/Lib/site-packages/anyio/to_thread.py +78 -0
  91. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/INSTALLER +1 -0
  92. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/METADATA +105 -0
  93. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/RECORD +92 -0
  94. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/WHEEL +5 -0
  95. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/entry_points.txt +2 -0
  96. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/licenses/LICENSE +20 -0
  97. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/top_level.txt +1 -0
  98. package/python/.venv/Lib/site-packages/certifi/__init__.py +4 -0
  99. package/python/.venv/Lib/site-packages/certifi/__main__.py +12 -0
  100. package/python/.venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  101. package/python/.venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  102. package/python/.venv/Lib/site-packages/certifi/__pycache__/core.cpython-312.pyc +0 -0
  103. package/python/.venv/Lib/site-packages/certifi/cacert.pem +3933 -0
  104. package/python/.venv/Lib/site-packages/certifi/core.py +83 -0
  105. package/python/.venv/Lib/site-packages/certifi/py.typed +0 -0
  106. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/INSTALLER +1 -0
  107. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/METADATA +78 -0
  108. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/RECORD +14 -0
  109. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/WHEEL +5 -0
  110. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/licenses/LICENSE +20 -0
  111. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/top_level.txt +1 -0
  112. package/python/.venv/Lib/site-packages/h11/__init__.py +62 -0
  113. package/python/.venv/Lib/site-packages/h11/__pycache__/__init__.cpython-312.pyc +0 -0
  114. package/python/.venv/Lib/site-packages/h11/__pycache__/_abnf.cpython-312.pyc +0 -0
  115. package/python/.venv/Lib/site-packages/h11/__pycache__/_connection.cpython-312.pyc +0 -0
  116. package/python/.venv/Lib/site-packages/h11/__pycache__/_events.cpython-312.pyc +0 -0
  117. package/python/.venv/Lib/site-packages/h11/__pycache__/_headers.cpython-312.pyc +0 -0
  118. package/python/.venv/Lib/site-packages/h11/__pycache__/_readers.cpython-312.pyc +0 -0
  119. package/python/.venv/Lib/site-packages/h11/__pycache__/_receivebuffer.cpython-312.pyc +0 -0
  120. package/python/.venv/Lib/site-packages/h11/__pycache__/_state.cpython-312.pyc +0 -0
  121. package/python/.venv/Lib/site-packages/h11/__pycache__/_util.cpython-312.pyc +0 -0
  122. package/python/.venv/Lib/site-packages/h11/__pycache__/_version.cpython-312.pyc +0 -0
  123. package/python/.venv/Lib/site-packages/h11/__pycache__/_writers.cpython-312.pyc +0 -0
  124. package/python/.venv/Lib/site-packages/h11/_abnf.py +132 -0
  125. package/python/.venv/Lib/site-packages/h11/_connection.py +659 -0
  126. package/python/.venv/Lib/site-packages/h11/_events.py +369 -0
  127. package/python/.venv/Lib/site-packages/h11/_headers.py +282 -0
  128. package/python/.venv/Lib/site-packages/h11/_readers.py +250 -0
  129. package/python/.venv/Lib/site-packages/h11/_receivebuffer.py +153 -0
  130. package/python/.venv/Lib/site-packages/h11/_state.py +365 -0
  131. package/python/.venv/Lib/site-packages/h11/_util.py +135 -0
  132. package/python/.venv/Lib/site-packages/h11/_version.py +16 -0
  133. package/python/.venv/Lib/site-packages/h11/_writers.py +145 -0
  134. package/python/.venv/Lib/site-packages/h11/py.typed +1 -0
  135. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/INSTALLER +1 -0
  136. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/METADATA +202 -0
  137. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/RECORD +29 -0
  138. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/WHEEL +5 -0
  139. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/licenses/LICENSE.txt +22 -0
  140. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/top_level.txt +1 -0
  141. package/python/.venv/Lib/site-packages/httpcore/__init__.py +141 -0
  142. package/python/.venv/Lib/site-packages/httpcore/__pycache__/__init__.cpython-312.pyc +0 -0
  143. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_api.cpython-312.pyc +0 -0
  144. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_exceptions.cpython-312.pyc +0 -0
  145. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_models.cpython-312.pyc +0 -0
  146. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_ssl.cpython-312.pyc +0 -0
  147. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_synchronization.cpython-312.pyc +0 -0
  148. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_trace.cpython-312.pyc +0 -0
  149. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_utils.cpython-312.pyc +0 -0
  150. package/python/.venv/Lib/site-packages/httpcore/_api.py +94 -0
  151. package/python/.venv/Lib/site-packages/httpcore/_async/__init__.py +39 -0
  152. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/__init__.cpython-312.pyc +0 -0
  153. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/connection.cpython-312.pyc +0 -0
  154. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/connection_pool.cpython-312.pyc +0 -0
  155. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/http11.cpython-312.pyc +0 -0
  156. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/http2.cpython-312.pyc +0 -0
  157. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/http_proxy.cpython-312.pyc +0 -0
  158. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/interfaces.cpython-312.pyc +0 -0
  159. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/socks_proxy.cpython-312.pyc +0 -0
  160. package/python/.venv/Lib/site-packages/httpcore/_async/connection.py +222 -0
  161. package/python/.venv/Lib/site-packages/httpcore/_async/connection_pool.py +420 -0
  162. package/python/.venv/Lib/site-packages/httpcore/_async/http11.py +379 -0
  163. package/python/.venv/Lib/site-packages/httpcore/_async/http2.py +592 -0
  164. package/python/.venv/Lib/site-packages/httpcore/_async/http_proxy.py +367 -0
  165. package/python/.venv/Lib/site-packages/httpcore/_async/interfaces.py +137 -0
  166. package/python/.venv/Lib/site-packages/httpcore/_async/socks_proxy.py +341 -0
  167. package/python/.venv/Lib/site-packages/httpcore/_backends/__init__.py +0 -0
  168. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/__init__.cpython-312.pyc +0 -0
  169. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/anyio.cpython-312.pyc +0 -0
  170. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/auto.cpython-312.pyc +0 -0
  171. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/base.cpython-312.pyc +0 -0
  172. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/mock.cpython-312.pyc +0 -0
  173. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/sync.cpython-312.pyc +0 -0
  174. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/trio.cpython-312.pyc +0 -0
  175. package/python/.venv/Lib/site-packages/httpcore/_backends/anyio.py +146 -0
  176. package/python/.venv/Lib/site-packages/httpcore/_backends/auto.py +52 -0
  177. package/python/.venv/Lib/site-packages/httpcore/_backends/base.py +101 -0
  178. package/python/.venv/Lib/site-packages/httpcore/_backends/mock.py +143 -0
  179. package/python/.venv/Lib/site-packages/httpcore/_backends/sync.py +241 -0
  180. package/python/.venv/Lib/site-packages/httpcore/_backends/trio.py +159 -0
  181. package/python/.venv/Lib/site-packages/httpcore/_exceptions.py +81 -0
  182. package/python/.venv/Lib/site-packages/httpcore/_models.py +516 -0
  183. package/python/.venv/Lib/site-packages/httpcore/_ssl.py +9 -0
  184. package/python/.venv/Lib/site-packages/httpcore/_sync/__init__.py +39 -0
  185. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/__init__.cpython-312.pyc +0 -0
  186. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/connection.cpython-312.pyc +0 -0
  187. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/connection_pool.cpython-312.pyc +0 -0
  188. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/http11.cpython-312.pyc +0 -0
  189. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/http2.cpython-312.pyc +0 -0
  190. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/http_proxy.cpython-312.pyc +0 -0
  191. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/interfaces.cpython-312.pyc +0 -0
  192. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/socks_proxy.cpython-312.pyc +0 -0
  193. package/python/.venv/Lib/site-packages/httpcore/_sync/connection.py +222 -0
  194. package/python/.venv/Lib/site-packages/httpcore/_sync/connection_pool.py +420 -0
  195. package/python/.venv/Lib/site-packages/httpcore/_sync/http11.py +379 -0
  196. package/python/.venv/Lib/site-packages/httpcore/_sync/http2.py +592 -0
  197. package/python/.venv/Lib/site-packages/httpcore/_sync/http_proxy.py +367 -0
  198. package/python/.venv/Lib/site-packages/httpcore/_sync/interfaces.py +137 -0
  199. package/python/.venv/Lib/site-packages/httpcore/_sync/socks_proxy.py +341 -0
  200. package/python/.venv/Lib/site-packages/httpcore/_synchronization.py +318 -0
  201. package/python/.venv/Lib/site-packages/httpcore/_trace.py +107 -0
  202. package/python/.venv/Lib/site-packages/httpcore/_utils.py +37 -0
  203. package/python/.venv/Lib/site-packages/httpcore/py.typed +0 -0
  204. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/INSTALLER +1 -0
  205. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/METADATA +625 -0
  206. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/RECORD +68 -0
  207. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/WHEEL +4 -0
  208. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/licenses/LICENSE.md +27 -0
  209. package/python/.venv/Lib/site-packages/httpx/__init__.py +105 -0
  210. package/python/.venv/Lib/site-packages/httpx/__pycache__/__init__.cpython-312.pyc +0 -0
  211. package/python/.venv/Lib/site-packages/httpx/__pycache__/__version__.cpython-312.pyc +0 -0
  212. package/python/.venv/Lib/site-packages/httpx/__pycache__/_api.cpython-312.pyc +0 -0
  213. package/python/.venv/Lib/site-packages/httpx/__pycache__/_auth.cpython-312.pyc +0 -0
  214. package/python/.venv/Lib/site-packages/httpx/__pycache__/_client.cpython-312.pyc +0 -0
  215. package/python/.venv/Lib/site-packages/httpx/__pycache__/_config.cpython-312.pyc +0 -0
  216. package/python/.venv/Lib/site-packages/httpx/__pycache__/_content.cpython-312.pyc +0 -0
  217. package/python/.venv/Lib/site-packages/httpx/__pycache__/_decoders.cpython-312.pyc +0 -0
  218. package/python/.venv/Lib/site-packages/httpx/__pycache__/_exceptions.cpython-312.pyc +0 -0
  219. package/python/.venv/Lib/site-packages/httpx/__pycache__/_main.cpython-312.pyc +0 -0
  220. package/python/.venv/Lib/site-packages/httpx/__pycache__/_models.cpython-312.pyc +0 -0
  221. package/python/.venv/Lib/site-packages/httpx/__pycache__/_multipart.cpython-312.pyc +0 -0
  222. package/python/.venv/Lib/site-packages/httpx/__pycache__/_status_codes.cpython-312.pyc +0 -0
  223. package/python/.venv/Lib/site-packages/httpx/__pycache__/_types.cpython-312.pyc +0 -0
  224. package/python/.venv/Lib/site-packages/httpx/__pycache__/_urlparse.cpython-312.pyc +0 -0
  225. package/python/.venv/Lib/site-packages/httpx/__pycache__/_urls.cpython-312.pyc +0 -0
  226. package/python/.venv/Lib/site-packages/httpx/__pycache__/_utils.cpython-312.pyc +0 -0
  227. package/python/.venv/Lib/site-packages/httpx/__version__.py +3 -0
  228. package/python/.venv/Lib/site-packages/httpx/_api.py +438 -0
  229. package/python/.venv/Lib/site-packages/httpx/_auth.py +348 -0
  230. package/python/.venv/Lib/site-packages/httpx/_client.py +2019 -0
  231. package/python/.venv/Lib/site-packages/httpx/_config.py +248 -0
  232. package/python/.venv/Lib/site-packages/httpx/_content.py +240 -0
  233. package/python/.venv/Lib/site-packages/httpx/_decoders.py +393 -0
  234. package/python/.venv/Lib/site-packages/httpx/_exceptions.py +379 -0
  235. package/python/.venv/Lib/site-packages/httpx/_main.py +506 -0
  236. package/python/.venv/Lib/site-packages/httpx/_models.py +1277 -0
  237. package/python/.venv/Lib/site-packages/httpx/_multipart.py +300 -0
  238. package/python/.venv/Lib/site-packages/httpx/_status_codes.py +162 -0
  239. package/python/.venv/Lib/site-packages/httpx/_transports/__init__.py +15 -0
  240. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/__init__.cpython-312.pyc +0 -0
  241. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/asgi.cpython-312.pyc +0 -0
  242. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/base.cpython-312.pyc +0 -0
  243. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/default.cpython-312.pyc +0 -0
  244. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/mock.cpython-312.pyc +0 -0
  245. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/wsgi.cpython-312.pyc +0 -0
  246. package/python/.venv/Lib/site-packages/httpx/_transports/asgi.py +187 -0
  247. package/python/.venv/Lib/site-packages/httpx/_transports/base.py +86 -0
  248. package/python/.venv/Lib/site-packages/httpx/_transports/default.py +406 -0
  249. package/python/.venv/Lib/site-packages/httpx/_transports/mock.py +43 -0
  250. package/python/.venv/Lib/site-packages/httpx/_transports/wsgi.py +149 -0
  251. package/python/.venv/Lib/site-packages/httpx/_types.py +114 -0
  252. package/python/.venv/Lib/site-packages/httpx/_urlparse.py +527 -0
  253. package/python/.venv/Lib/site-packages/httpx/_urls.py +641 -0
  254. package/python/.venv/Lib/site-packages/httpx/_utils.py +242 -0
  255. package/python/.venv/Lib/site-packages/httpx/py.typed +0 -0
  256. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/INSTALLER +1 -0
  257. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/METADATA +203 -0
  258. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +55 -0
  259. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/REQUESTED +0 -0
  260. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/WHEEL +4 -0
  261. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/entry_points.txt +2 -0
  262. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md +12 -0
  263. package/python/.venv/Lib/site-packages/idna/__init__.py +45 -0
  264. package/python/.venv/Lib/site-packages/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  265. package/python/.venv/Lib/site-packages/idna/__pycache__/codec.cpython-312.pyc +0 -0
  266. package/python/.venv/Lib/site-packages/idna/__pycache__/compat.cpython-312.pyc +0 -0
  267. package/python/.venv/Lib/site-packages/idna/__pycache__/core.cpython-312.pyc +0 -0
  268. package/python/.venv/Lib/site-packages/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  269. package/python/.venv/Lib/site-packages/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  270. package/python/.venv/Lib/site-packages/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  271. package/python/.venv/Lib/site-packages/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  272. package/python/.venv/Lib/site-packages/idna/codec.py +159 -0
  273. package/python/.venv/Lib/site-packages/idna/compat.py +41 -0
  274. package/python/.venv/Lib/site-packages/idna/core.py +620 -0
  275. package/python/.venv/Lib/site-packages/idna/idnadata.py +4367 -0
  276. package/python/.venv/Lib/site-packages/idna/intranges.py +56 -0
  277. package/python/.venv/Lib/site-packages/idna/package_data.py +1 -0
  278. package/python/.venv/Lib/site-packages/idna/py.typed +0 -0
  279. package/python/.venv/Lib/site-packages/idna/uts46data.py +8383 -0
  280. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/INSTALLER +1 -0
  281. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/METADATA +194 -0
  282. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/RECORD +22 -0
  283. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/WHEEL +4 -0
  284. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/licenses/LICENSE.md +31 -0
  285. package/python/.venv/Lib/site-packages/pip/__init__.py +13 -0
  286. package/python/.venv/Lib/site-packages/pip/__main__.py +24 -0
  287. package/python/.venv/Lib/site-packages/pip/__pip-runner__.py +50 -0
  288. package/python/.venv/Lib/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
  289. package/python/.venv/Lib/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
  290. package/python/.venv/Lib/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
  291. package/python/.venv/Lib/site-packages/pip/_internal/__init__.py +18 -0
  292. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
  293. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
  294. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
  295. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
  296. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
  297. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
  298. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
  299. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
  300. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
  301. package/python/.venv/Lib/site-packages/pip/_internal/build_env.py +322 -0
  302. package/python/.venv/Lib/site-packages/pip/_internal/cache.py +290 -0
  303. package/python/.venv/Lib/site-packages/pip/_internal/cli/__init__.py +4 -0
  304. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  305. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
  306. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
  307. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
  308. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
  309. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc +0 -0
  310. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
  311. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
  312. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
  313. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
  314. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
  315. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
  316. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
  317. package/python/.venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +176 -0
  318. package/python/.venv/Lib/site-packages/pip/_internal/cli/base_command.py +240 -0
  319. package/python/.venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +1075 -0
  320. package/python/.venv/Lib/site-packages/pip/_internal/cli/command_context.py +27 -0
  321. package/python/.venv/Lib/site-packages/pip/_internal/cli/index_command.py +171 -0
  322. package/python/.venv/Lib/site-packages/pip/_internal/cli/main.py +80 -0
  323. package/python/.venv/Lib/site-packages/pip/_internal/cli/main_parser.py +134 -0
  324. package/python/.venv/Lib/site-packages/pip/_internal/cli/parser.py +294 -0
  325. package/python/.venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +94 -0
  326. package/python/.venv/Lib/site-packages/pip/_internal/cli/req_command.py +329 -0
  327. package/python/.venv/Lib/site-packages/pip/_internal/cli/spinners.py +159 -0
  328. package/python/.venv/Lib/site-packages/pip/_internal/cli/status_codes.py +6 -0
  329. package/python/.venv/Lib/site-packages/pip/_internal/commands/__init__.py +132 -0
  330. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  331. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
  332. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
  333. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
  334. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
  335. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
  336. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
  337. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
  338. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
  339. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
  340. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
  341. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
  342. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
  343. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
  344. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
  345. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
  346. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
  347. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
  348. package/python/.venv/Lib/site-packages/pip/_internal/commands/cache.py +228 -0
  349. package/python/.venv/Lib/site-packages/pip/_internal/commands/check.py +67 -0
  350. package/python/.venv/Lib/site-packages/pip/_internal/commands/completion.py +130 -0
  351. package/python/.venv/Lib/site-packages/pip/_internal/commands/configuration.py +280 -0
  352. package/python/.venv/Lib/site-packages/pip/_internal/commands/debug.py +201 -0
  353. package/python/.venv/Lib/site-packages/pip/_internal/commands/download.py +146 -0
  354. package/python/.venv/Lib/site-packages/pip/_internal/commands/freeze.py +109 -0
  355. package/python/.venv/Lib/site-packages/pip/_internal/commands/hash.py +59 -0
  356. package/python/.venv/Lib/site-packages/pip/_internal/commands/help.py +41 -0
  357. package/python/.venv/Lib/site-packages/pip/_internal/commands/index.py +139 -0
  358. package/python/.venv/Lib/site-packages/pip/_internal/commands/inspect.py +92 -0
  359. package/python/.venv/Lib/site-packages/pip/_internal/commands/install.py +784 -0
  360. package/python/.venv/Lib/site-packages/pip/_internal/commands/list.py +375 -0
  361. package/python/.venv/Lib/site-packages/pip/_internal/commands/search.py +172 -0
  362. package/python/.venv/Lib/site-packages/pip/_internal/commands/show.py +224 -0
  363. package/python/.venv/Lib/site-packages/pip/_internal/commands/uninstall.py +114 -0
  364. package/python/.venv/Lib/site-packages/pip/_internal/commands/wheel.py +182 -0
  365. package/python/.venv/Lib/site-packages/pip/_internal/configuration.py +383 -0
  366. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__init__.py +21 -0
  367. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
  368. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
  369. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
  370. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
  371. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
  372. package/python/.venv/Lib/site-packages/pip/_internal/distributions/base.py +53 -0
  373. package/python/.venv/Lib/site-packages/pip/_internal/distributions/installed.py +29 -0
  374. package/python/.venv/Lib/site-packages/pip/_internal/distributions/sdist.py +158 -0
  375. package/python/.venv/Lib/site-packages/pip/_internal/distributions/wheel.py +42 -0
  376. package/python/.venv/Lib/site-packages/pip/_internal/exceptions.py +809 -0
  377. package/python/.venv/Lib/site-packages/pip/_internal/index/__init__.py +2 -0
  378. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
  379. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
  380. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
  381. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
  382. package/python/.venv/Lib/site-packages/pip/_internal/index/collector.py +494 -0
  383. package/python/.venv/Lib/site-packages/pip/_internal/index/package_finder.py +1029 -0
  384. package/python/.venv/Lib/site-packages/pip/_internal/index/sources.py +284 -0
  385. package/python/.venv/Lib/site-packages/pip/_internal/locations/__init__.py +456 -0
  386. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
  387. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
  388. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
  389. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
  390. package/python/.venv/Lib/site-packages/pip/_internal/locations/_distutils.py +172 -0
  391. package/python/.venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py +214 -0
  392. package/python/.venv/Lib/site-packages/pip/_internal/locations/base.py +81 -0
  393. package/python/.venv/Lib/site-packages/pip/_internal/main.py +12 -0
  394. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__init__.py +128 -0
  395. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  396. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
  397. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
  398. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
  399. package/python/.venv/Lib/site-packages/pip/_internal/metadata/_json.py +86 -0
  400. package/python/.venv/Lib/site-packages/pip/_internal/metadata/base.py +688 -0
  401. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
  402. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
  403. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
  404. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
  405. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
  406. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +85 -0
  407. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +228 -0
  408. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +189 -0
  409. package/python/.venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +301 -0
  410. package/python/.venv/Lib/site-packages/pip/_internal/models/__init__.py +2 -0
  411. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
  412. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
  413. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
  414. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
  415. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
  416. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
  417. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
  418. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
  419. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
  420. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
  421. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
  422. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
  423. package/python/.venv/Lib/site-packages/pip/_internal/models/candidate.py +25 -0
  424. package/python/.venv/Lib/site-packages/pip/_internal/models/direct_url.py +224 -0
  425. package/python/.venv/Lib/site-packages/pip/_internal/models/format_control.py +78 -0
  426. package/python/.venv/Lib/site-packages/pip/_internal/models/index.py +28 -0
  427. package/python/.venv/Lib/site-packages/pip/_internal/models/installation_report.py +56 -0
  428. package/python/.venv/Lib/site-packages/pip/_internal/models/link.py +604 -0
  429. package/python/.venv/Lib/site-packages/pip/_internal/models/scheme.py +25 -0
  430. package/python/.venv/Lib/site-packages/pip/_internal/models/search_scope.py +127 -0
  431. package/python/.venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +53 -0
  432. package/python/.venv/Lib/site-packages/pip/_internal/models/target_python.py +121 -0
  433. package/python/.venv/Lib/site-packages/pip/_internal/models/wheel.py +118 -0
  434. package/python/.venv/Lib/site-packages/pip/_internal/network/__init__.py +2 -0
  435. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
  436. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
  437. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
  438. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
  439. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
  440. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
  441. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
  442. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
  443. package/python/.venv/Lib/site-packages/pip/_internal/network/auth.py +566 -0
  444. package/python/.venv/Lib/site-packages/pip/_internal/network/cache.py +118 -0
  445. package/python/.venv/Lib/site-packages/pip/_internal/network/download.py +187 -0
  446. package/python/.venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +210 -0
  447. package/python/.venv/Lib/site-packages/pip/_internal/network/session.py +523 -0
  448. package/python/.venv/Lib/site-packages/pip/_internal/network/utils.py +98 -0
  449. package/python/.venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +62 -0
  450. package/python/.venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  451. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
  452. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
  453. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
  454. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
  455. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  456. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
  457. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
  458. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
  459. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
  460. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-312.pyc +0 -0
  461. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
  462. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
  463. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-312.pyc +0 -0
  464. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +138 -0
  465. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +39 -0
  466. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +42 -0
  467. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +74 -0
  468. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +37 -0
  469. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +46 -0
  470. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +102 -0
  471. package/python/.venv/Lib/site-packages/pip/_internal/operations/check.py +181 -0
  472. package/python/.venv/Lib/site-packages/pip/_internal/operations/freeze.py +256 -0
  473. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +2 -0
  474. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
  475. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-312.pyc +0 -0
  476. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
  477. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +47 -0
  478. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +741 -0
  479. package/python/.venv/Lib/site-packages/pip/_internal/operations/prepare.py +732 -0
  480. package/python/.venv/Lib/site-packages/pip/_internal/pyproject.py +185 -0
  481. package/python/.venv/Lib/site-packages/pip/_internal/req/__init__.py +90 -0
  482. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
  483. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
  484. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
  485. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
  486. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
  487. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
  488. package/python/.venv/Lib/site-packages/pip/_internal/req/constructors.py +560 -0
  489. package/python/.venv/Lib/site-packages/pip/_internal/req/req_file.py +623 -0
  490. package/python/.venv/Lib/site-packages/pip/_internal/req/req_install.py +934 -0
  491. package/python/.venv/Lib/site-packages/pip/_internal/req/req_set.py +82 -0
  492. package/python/.venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +633 -0
  493. package/python/.venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  494. package/python/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
  495. package/python/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
  496. package/python/.venv/Lib/site-packages/pip/_internal/resolution/base.py +20 -0
  497. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  498. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
  499. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
  500. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +597 -0
  501. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  502. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  503. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
  504. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
  505. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
  506. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
  507. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
  508. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
  509. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
  510. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
  511. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +139 -0
  512. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +574 -0
  513. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +823 -0
  514. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +174 -0
  515. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +258 -0
  516. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +81 -0
  517. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +245 -0
  518. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +317 -0
  519. package/python/.venv/Lib/site-packages/pip/_internal/self_outdated_check.py +252 -0
  520. package/python/.venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  521. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  522. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
  523. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
  524. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
  525. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
  526. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
  527. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  528. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
  529. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
  530. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
  531. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
  532. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
  533. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
  534. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
  535. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
  536. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
  537. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
  538. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
  539. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc +0 -0
  540. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-312.pyc +0 -0
  541. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
  542. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
  543. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
  544. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
  545. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
  546. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
  547. package/python/.venv/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
  548. package/python/.venv/Lib/site-packages/pip/_internal/utils/_log.py +38 -0
  549. package/python/.venv/Lib/site-packages/pip/_internal/utils/appdirs.py +52 -0
  550. package/python/.venv/Lib/site-packages/pip/_internal/utils/compat.py +79 -0
  551. package/python/.venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +188 -0
  552. package/python/.venv/Lib/site-packages/pip/_internal/utils/datetime.py +11 -0
  553. package/python/.venv/Lib/site-packages/pip/_internal/utils/deprecation.py +124 -0
  554. package/python/.venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
  555. package/python/.venv/Lib/site-packages/pip/_internal/utils/egg_link.py +80 -0
  556. package/python/.venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +84 -0
  557. package/python/.venv/Lib/site-packages/pip/_internal/utils/filesystem.py +149 -0
  558. package/python/.venv/Lib/site-packages/pip/_internal/utils/filetypes.py +27 -0
  559. package/python/.venv/Lib/site-packages/pip/_internal/utils/glibc.py +101 -0
  560. package/python/.venv/Lib/site-packages/pip/_internal/utils/hashes.py +147 -0
  561. package/python/.venv/Lib/site-packages/pip/_internal/utils/logging.py +354 -0
  562. package/python/.venv/Lib/site-packages/pip/_internal/utils/misc.py +773 -0
  563. package/python/.venv/Lib/site-packages/pip/_internal/utils/packaging.py +58 -0
  564. package/python/.venv/Lib/site-packages/pip/_internal/utils/retry.py +42 -0
  565. package/python/.venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py +146 -0
  566. package/python/.venv/Lib/site-packages/pip/_internal/utils/subprocess.py +245 -0
  567. package/python/.venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +296 -0
  568. package/python/.venv/Lib/site-packages/pip/_internal/utils/unpacking.py +337 -0
  569. package/python/.venv/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
  570. package/python/.venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +104 -0
  571. package/python/.venv/Lib/site-packages/pip/_internal/utils/wheel.py +134 -0
  572. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
  573. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
  574. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
  575. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
  576. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
  577. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
  578. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
  579. package/python/.venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +112 -0
  580. package/python/.venv/Lib/site-packages/pip/_internal/vcs/git.py +527 -0
  581. package/python/.venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +163 -0
  582. package/python/.venv/Lib/site-packages/pip/_internal/vcs/subversion.py +324 -0
  583. package/python/.venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +688 -0
  584. package/python/.venv/Lib/site-packages/pip/_internal/wheel_builder.py +354 -0
  585. package/python/.venv/Lib/site-packages/pip/_vendor/__init__.py +116 -0
  586. package/python/.venv/Lib/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  587. package/python/.venv/Lib/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  588. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +29 -0
  589. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
  590. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
  591. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
  592. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
  593. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
  594. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
  595. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
  596. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
  597. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
  598. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
  599. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +161 -0
  600. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
  601. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
  602. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
  603. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
  604. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
  605. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +182 -0
  606. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
  607. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +500 -0
  608. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +119 -0
  609. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
  610. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  611. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
  612. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
  613. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +4 -0
  614. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  615. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  616. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  617. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
  618. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/cacert.pem +4929 -0
  619. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/core.py +114 -0
  620. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  621. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +33 -0
  622. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
  623. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
  624. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-312.pyc +0 -0
  625. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-312.pyc +0 -0
  626. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-312.pyc +0 -0
  627. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-312.pyc +0 -0
  628. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-312.pyc +0 -0
  629. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-312.pyc +0 -0
  630. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
  631. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
  632. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
  633. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-312.pyc +0 -0
  634. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-312.pyc +0 -0
  635. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/compat.py +1137 -0
  636. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/database.py +1329 -0
  637. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/index.py +508 -0
  638. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/locators.py +1295 -0
  639. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/manifest.py +384 -0
  640. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/markers.py +162 -0
  641. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/metadata.py +1031 -0
  642. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/resources.py +358 -0
  643. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +447 -0
  644. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  645. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  646. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  647. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/util.py +1984 -0
  648. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/version.py +750 -0
  649. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  650. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  651. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  652. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/wheel.py +1100 -0
  653. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__init__.py +54 -0
  654. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__main__.py +4 -0
  655. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
  656. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
  657. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
  658. package/python/.venv/Lib/site-packages/pip/_vendor/distro/distro.py +1403 -0
  659. package/python/.venv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  660. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__init__.py +45 -0
  661. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  662. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
  663. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
  664. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
  665. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  666. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  667. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  668. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  669. package/python/.venv/Lib/site-packages/pip/_vendor/idna/codec.py +122 -0
  670. package/python/.venv/Lib/site-packages/pip/_vendor/idna/compat.py +15 -0
  671. package/python/.venv/Lib/site-packages/pip/_vendor/idna/core.py +437 -0
  672. package/python/.venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +4243 -0
  673. package/python/.venv/Lib/site-packages/pip/_vendor/idna/intranges.py +57 -0
  674. package/python/.venv/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -0
  675. package/python/.venv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  676. package/python/.venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +8681 -0
  677. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
  678. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
  679. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
  680. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
  681. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
  682. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  683. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +170 -0
  684. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
  685. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +15 -0
  686. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  687. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  688. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  689. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  690. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  691. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  692. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  693. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  694. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  695. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  696. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  697. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  698. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  699. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  700. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_elffile.py +110 -0
  701. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +263 -0
  702. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
  703. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_parser.py +354 -0
  704. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +61 -0
  705. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +194 -0
  706. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +145 -0
  707. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-312.pyc +0 -0
  708. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-312.pyc +0 -0
  709. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +759 -0
  710. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/markers.py +331 -0
  711. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/metadata.py +863 -0
  712. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  713. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +91 -0
  714. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +1020 -0
  715. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/tags.py +617 -0
  716. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/utils.py +163 -0
  717. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/version.py +582 -0
  718. package/python/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
  719. package/python/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  720. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
  721. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  722. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  723. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  724. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  725. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  726. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  727. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  728. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  729. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  730. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  731. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/api.py +298 -0
  732. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/macos.py +144 -0
  733. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  734. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/unix.py +269 -0
  735. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/version.py +16 -0
  736. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/windows.py +272 -0
  737. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__init__.py +82 -0
  738. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__main__.py +17 -0
  739. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
  740. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
  741. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-312.pyc +0 -0
  742. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
  743. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
  744. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
  745. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
  746. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
  747. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
  748. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
  749. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
  750. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
  751. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
  752. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
  753. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
  754. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
  755. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/cmdline.py +668 -0
  756. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/console.py +70 -0
  757. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/filter.py +70 -0
  758. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
  759. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  760. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatter.py +129 -0
  761. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
  762. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
  763. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
  764. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-312.pyc +0 -0
  765. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-312.pyc +0 -0
  766. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-312.pyc +0 -0
  767. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-312.pyc +0 -0
  768. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-312.pyc +0 -0
  769. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-312.pyc +0 -0
  770. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-312.pyc +0 -0
  771. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-312.pyc +0 -0
  772. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-312.pyc +0 -0
  773. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-312.pyc +0 -0
  774. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-312.pyc +0 -0
  775. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-312.pyc +0 -0
  776. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
  777. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/bbcode.py +108 -0
  778. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/groff.py +170 -0
  779. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/html.py +987 -0
  780. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/img.py +685 -0
  781. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/irc.py +154 -0
  782. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/latex.py +518 -0
  783. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/other.py +160 -0
  784. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +83 -0
  785. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/rtf.py +349 -0
  786. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/svg.py +185 -0
  787. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/terminal.py +127 -0
  788. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/terminal256.py +338 -0
  789. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexer.py +963 -0
  790. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
  791. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
  792. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
  793. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
  794. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +589 -0
  795. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +1198 -0
  796. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/modeline.py +43 -0
  797. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/plugin.py +72 -0
  798. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
  799. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/scanner.py +104 -0
  800. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
  801. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/style.py +203 -0
  802. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
  803. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  804. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc +0 -0
  805. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
  806. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/token.py +214 -0
  807. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/unistring.py +153 -0
  808. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/util.py +324 -0
  809. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  810. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  811. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
  812. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
  813. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
  814. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
  815. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
  816. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
  817. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  818. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__init__.py +179 -0
  819. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  820. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
  821. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
  822. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
  823. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
  824. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
  825. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
  826. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
  827. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
  828. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  829. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
  830. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
  831. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
  832. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
  833. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
  834. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
  835. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
  836. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
  837. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
  838. package/python/.venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
  839. package/python/.venv/Lib/site-packages/pip/_vendor/requests/adapters.py +719 -0
  840. package/python/.venv/Lib/site-packages/pip/_vendor/requests/api.py +157 -0
  841. package/python/.venv/Lib/site-packages/pip/_vendor/requests/auth.py +314 -0
  842. package/python/.venv/Lib/site-packages/pip/_vendor/requests/certs.py +17 -0
  843. package/python/.venv/Lib/site-packages/pip/_vendor/requests/compat.py +78 -0
  844. package/python/.venv/Lib/site-packages/pip/_vendor/requests/cookies.py +561 -0
  845. package/python/.venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +151 -0
  846. package/python/.venv/Lib/site-packages/pip/_vendor/requests/help.py +127 -0
  847. package/python/.venv/Lib/site-packages/pip/_vendor/requests/hooks.py +33 -0
  848. package/python/.venv/Lib/site-packages/pip/_vendor/requests/models.py +1037 -0
  849. package/python/.venv/Lib/site-packages/pip/_vendor/requests/packages.py +25 -0
  850. package/python/.venv/Lib/site-packages/pip/_vendor/requests/sessions.py +831 -0
  851. package/python/.venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +128 -0
  852. package/python/.venv/Lib/site-packages/pip/_vendor/requests/structures.py +99 -0
  853. package/python/.venv/Lib/site-packages/pip/_vendor/requests/utils.py +1096 -0
  854. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +26 -0
  855. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  856. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
  857. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
  858. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-312.pyc +0 -0
  859. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
  860. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  861. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  862. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-312.pyc +0 -0
  863. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +6 -0
  864. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +133 -0
  865. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  866. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +43 -0
  867. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py +547 -0
  868. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +170 -0
  869. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__init__.py +177 -0
  870. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__main__.py +273 -0
  871. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
  872. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
  873. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
  874. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
  875. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
  876. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
  877. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
  878. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
  879. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
  880. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
  881. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
  882. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
  883. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
  884. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
  885. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
  886. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
  887. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
  888. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
  889. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
  890. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
  891. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
  892. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
  893. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
  894. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
  895. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
  896. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
  897. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
  898. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
  899. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
  900. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
  901. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
  902. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
  903. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
  904. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
  905. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
  906. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
  907. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
  908. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
  909. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
  910. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
  911. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
  912. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
  913. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
  914. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
  915. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
  916. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
  917. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
  918. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
  919. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
  920. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
  921. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
  922. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
  923. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
  924. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
  925. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
  926. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
  927. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
  928. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
  929. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
  930. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
  931. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
  932. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
  933. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
  934. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
  935. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
  936. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
  937. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
  938. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
  939. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
  940. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
  941. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
  942. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
  943. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
  944. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
  945. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
  946. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
  947. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
  948. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
  949. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
  950. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
  951. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_export_format.py +76 -0
  952. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_extension.py +10 -0
  953. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_fileno.py +24 -0
  954. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_inspect.py +268 -0
  955. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_log_render.py +94 -0
  956. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_loop.py +43 -0
  957. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_null_file.py +69 -0
  958. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_palettes.py +309 -0
  959. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_pick.py +17 -0
  960. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_ratio.py +159 -0
  961. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_spinners.py +482 -0
  962. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_stack.py +16 -0
  963. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_timer.py +19 -0
  964. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
  965. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_windows.py +71 -0
  966. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
  967. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_wrap.py +93 -0
  968. package/python/.venv/Lib/site-packages/pip/_vendor/rich/abc.py +33 -0
  969. package/python/.venv/Lib/site-packages/pip/_vendor/rich/align.py +312 -0
  970. package/python/.venv/Lib/site-packages/pip/_vendor/rich/ansi.py +241 -0
  971. package/python/.venv/Lib/site-packages/pip/_vendor/rich/bar.py +93 -0
  972. package/python/.venv/Lib/site-packages/pip/_vendor/rich/box.py +480 -0
  973. package/python/.venv/Lib/site-packages/pip/_vendor/rich/cells.py +174 -0
  974. package/python/.venv/Lib/site-packages/pip/_vendor/rich/color.py +621 -0
  975. package/python/.venv/Lib/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
  976. package/python/.venv/Lib/site-packages/pip/_vendor/rich/columns.py +187 -0
  977. package/python/.venv/Lib/site-packages/pip/_vendor/rich/console.py +2661 -0
  978. package/python/.venv/Lib/site-packages/pip/_vendor/rich/constrain.py +37 -0
  979. package/python/.venv/Lib/site-packages/pip/_vendor/rich/containers.py +167 -0
  980. package/python/.venv/Lib/site-packages/pip/_vendor/rich/control.py +225 -0
  981. package/python/.venv/Lib/site-packages/pip/_vendor/rich/default_styles.py +191 -0
  982. package/python/.venv/Lib/site-packages/pip/_vendor/rich/diagnose.py +37 -0
  983. package/python/.venv/Lib/site-packages/pip/_vendor/rich/emoji.py +96 -0
  984. package/python/.venv/Lib/site-packages/pip/_vendor/rich/errors.py +34 -0
  985. package/python/.venv/Lib/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
  986. package/python/.venv/Lib/site-packages/pip/_vendor/rich/filesize.py +88 -0
  987. package/python/.venv/Lib/site-packages/pip/_vendor/rich/highlighter.py +232 -0
  988. package/python/.venv/Lib/site-packages/pip/_vendor/rich/json.py +139 -0
  989. package/python/.venv/Lib/site-packages/pip/_vendor/rich/jupyter.py +101 -0
  990. package/python/.venv/Lib/site-packages/pip/_vendor/rich/layout.py +442 -0
  991. package/python/.venv/Lib/site-packages/pip/_vendor/rich/live.py +375 -0
  992. package/python/.venv/Lib/site-packages/pip/_vendor/rich/live_render.py +112 -0
  993. package/python/.venv/Lib/site-packages/pip/_vendor/rich/logging.py +297 -0
  994. package/python/.venv/Lib/site-packages/pip/_vendor/rich/markup.py +251 -0
  995. package/python/.venv/Lib/site-packages/pip/_vendor/rich/measure.py +151 -0
  996. package/python/.venv/Lib/site-packages/pip/_vendor/rich/padding.py +141 -0
  997. package/python/.venv/Lib/site-packages/pip/_vendor/rich/pager.py +34 -0
  998. package/python/.venv/Lib/site-packages/pip/_vendor/rich/palette.py +100 -0
  999. package/python/.venv/Lib/site-packages/pip/_vendor/rich/panel.py +318 -0
  1000. package/python/.venv/Lib/site-packages/pip/_vendor/rich/pretty.py +1016 -0
  1001. package/python/.venv/Lib/site-packages/pip/_vendor/rich/progress.py +1715 -0
  1002. package/python/.venv/Lib/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
  1003. package/python/.venv/Lib/site-packages/pip/_vendor/rich/prompt.py +400 -0
  1004. package/python/.venv/Lib/site-packages/pip/_vendor/rich/protocol.py +42 -0
  1005. package/python/.venv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  1006. package/python/.venv/Lib/site-packages/pip/_vendor/rich/region.py +10 -0
  1007. package/python/.venv/Lib/site-packages/pip/_vendor/rich/repr.py +149 -0
  1008. package/python/.venv/Lib/site-packages/pip/_vendor/rich/rule.py +130 -0
  1009. package/python/.venv/Lib/site-packages/pip/_vendor/rich/scope.py +86 -0
  1010. package/python/.venv/Lib/site-packages/pip/_vendor/rich/screen.py +54 -0
  1011. package/python/.venv/Lib/site-packages/pip/_vendor/rich/segment.py +752 -0
  1012. package/python/.venv/Lib/site-packages/pip/_vendor/rich/spinner.py +138 -0
  1013. package/python/.venv/Lib/site-packages/pip/_vendor/rich/status.py +131 -0
  1014. package/python/.venv/Lib/site-packages/pip/_vendor/rich/style.py +796 -0
  1015. package/python/.venv/Lib/site-packages/pip/_vendor/rich/styled.py +42 -0
  1016. package/python/.venv/Lib/site-packages/pip/_vendor/rich/syntax.py +966 -0
  1017. package/python/.venv/Lib/site-packages/pip/_vendor/rich/table.py +1007 -0
  1018. package/python/.venv/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
  1019. package/python/.venv/Lib/site-packages/pip/_vendor/rich/text.py +1361 -0
  1020. package/python/.venv/Lib/site-packages/pip/_vendor/rich/theme.py +115 -0
  1021. package/python/.venv/Lib/site-packages/pip/_vendor/rich/themes.py +5 -0
  1022. package/python/.venv/Lib/site-packages/pip/_vendor/rich/traceback.py +797 -0
  1023. package/python/.venv/Lib/site-packages/pip/_vendor/rich/tree.py +257 -0
  1024. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__init__.py +8 -0
  1025. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  1026. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  1027. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  1028. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  1029. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/_parser.py +770 -0
  1030. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/_re.py +112 -0
  1031. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/_types.py +10 -0
  1032. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  1033. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__init__.py +36 -0
  1034. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
  1035. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
  1036. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
  1037. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
  1038. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
  1039. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
  1040. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_api.py +316 -0
  1041. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_macos.py +571 -0
  1042. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_openssl.py +66 -0
  1043. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
  1044. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_windows.py +567 -0
  1045. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  1046. package/python/.venv/Lib/site-packages/pip/_vendor/typing_extensions.py +3641 -0
  1047. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
  1048. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  1049. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  1050. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  1051. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  1052. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  1053. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  1054. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  1055. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  1056. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  1057. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
  1058. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  1059. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
  1060. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  1061. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +572 -0
  1062. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1140 -0
  1063. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  1064. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  1065. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
  1066. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
  1067. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
  1068. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  1069. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
  1070. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  1071. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  1072. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  1073. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
  1074. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
  1075. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
  1076. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  1077. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
  1078. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  1079. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  1080. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
  1081. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  1082. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  1083. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  1084. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  1085. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  1086. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  1087. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  1088. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
  1089. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  1090. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  1091. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
  1092. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
  1093. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  1094. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
  1095. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
  1096. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
  1097. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/request.py +191 -0
  1098. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/response.py +879 -0
  1099. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  1100. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  1101. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  1102. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  1103. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
  1104. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  1105. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  1106. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  1107. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  1108. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  1109. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  1110. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  1111. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  1112. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  1113. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
  1114. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
  1115. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  1116. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
  1117. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  1118. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +622 -0
  1119. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +504 -0
  1120. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
  1121. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  1122. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
  1123. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
  1124. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
  1125. package/python/.venv/Lib/site-packages/pip/_vendor/vendor.txt +18 -0
  1126. package/python/.venv/Lib/site-packages/pip/py.typed +4 -0
  1127. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/AUTHORS.txt +806 -0
  1128. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/INSTALLER +1 -0
  1129. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/LICENSE.txt +20 -0
  1130. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/METADATA +90 -0
  1131. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/RECORD +854 -0
  1132. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/REQUESTED +0 -0
  1133. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/WHEEL +5 -0
  1134. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/entry_points.txt +3 -0
  1135. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/top_level.txt +1 -0
  1136. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER +1 -0
  1137. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/METADATA +72 -0
  1138. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/RECORD +7 -0
  1139. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/WHEEL +4 -0
  1140. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE +279 -0
  1141. package/python/.venv/Lib/site-packages/typing_extensions.py +4317 -0
  1142. package/python/.venv/Scripts/Activate.ps1 +528 -0
  1143. package/python/.venv/Scripts/activate +76 -0
  1144. package/python/.venv/Scripts/activate.bat +34 -0
  1145. package/python/.venv/Scripts/deactivate.bat +22 -0
  1146. package/python/.venv/Scripts/httpx.exe +0 -0
  1147. package/python/.venv/Scripts/pip.exe +0 -0
  1148. package/python/.venv/Scripts/pip3.12.exe +0 -0
  1149. package/python/.venv/Scripts/pip3.exe +0 -0
  1150. package/python/.venv/Scripts/python.exe +0 -0
  1151. package/python/.venv/Scripts/pythonw.exe +0 -0
  1152. package/python/.venv/pyvenv.cfg +5 -0
  1153. package/python/__pycache__/builder.cpython-312.pyc +0 -0
  1154. package/python/__pycache__/config.cpython-312.pyc +0 -0
  1155. package/python/builder.py +225 -0
  1156. package/python/cli.py +787 -0
  1157. package/python/config.py +82 -0
  1158. package/scripts/runner.js +145 -0
@@ -0,0 +1,863 @@
1
+ from __future__ import annotations
2
+
3
+ import email.feedparser
4
+ import email.header
5
+ import email.message
6
+ import email.parser
7
+ import email.policy
8
+ import pathlib
9
+ import sys
10
+ import typing
11
+ from typing import (
12
+ Any,
13
+ Callable,
14
+ Generic,
15
+ Literal,
16
+ TypedDict,
17
+ cast,
18
+ )
19
+
20
+ from . import licenses, requirements, specifiers, utils
21
+ from . import version as version_module
22
+ from .licenses import NormalizedLicenseExpression
23
+
24
+ T = typing.TypeVar("T")
25
+
26
+
27
+ if sys.version_info >= (3, 11): # pragma: no cover
28
+ ExceptionGroup = ExceptionGroup
29
+ else: # pragma: no cover
30
+
31
+ class ExceptionGroup(Exception):
32
+ """A minimal implementation of :external:exc:`ExceptionGroup` from Python 3.11.
33
+
34
+ If :external:exc:`ExceptionGroup` is already defined by Python itself,
35
+ that version is used instead.
36
+ """
37
+
38
+ message: str
39
+ exceptions: list[Exception]
40
+
41
+ def __init__(self, message: str, exceptions: list[Exception]) -> None:
42
+ self.message = message
43
+ self.exceptions = exceptions
44
+
45
+ def __repr__(self) -> str:
46
+ return f"{self.__class__.__name__}({self.message!r}, {self.exceptions!r})"
47
+
48
+
49
+ class InvalidMetadata(ValueError):
50
+ """A metadata field contains invalid data."""
51
+
52
+ field: str
53
+ """The name of the field that contains invalid data."""
54
+
55
+ def __init__(self, field: str, message: str) -> None:
56
+ self.field = field
57
+ super().__init__(message)
58
+
59
+
60
+ # The RawMetadata class attempts to make as few assumptions about the underlying
61
+ # serialization formats as possible. The idea is that as long as a serialization
62
+ # formats offer some very basic primitives in *some* way then we can support
63
+ # serializing to and from that format.
64
+ class RawMetadata(TypedDict, total=False):
65
+ """A dictionary of raw core metadata.
66
+
67
+ Each field in core metadata maps to a key of this dictionary (when data is
68
+ provided). The key is lower-case and underscores are used instead of dashes
69
+ compared to the equivalent core metadata field. Any core metadata field that
70
+ can be specified multiple times or can hold multiple values in a single
71
+ field have a key with a plural name. See :class:`Metadata` whose attributes
72
+ match the keys of this dictionary.
73
+
74
+ Core metadata fields that can be specified multiple times are stored as a
75
+ list or dict depending on which is appropriate for the field. Any fields
76
+ which hold multiple values in a single field are stored as a list.
77
+
78
+ """
79
+
80
+ # Metadata 1.0 - PEP 241
81
+ metadata_version: str
82
+ name: str
83
+ version: str
84
+ platforms: list[str]
85
+ summary: str
86
+ description: str
87
+ keywords: list[str]
88
+ home_page: str
89
+ author: str
90
+ author_email: str
91
+ license: str
92
+
93
+ # Metadata 1.1 - PEP 314
94
+ supported_platforms: list[str]
95
+ download_url: str
96
+ classifiers: list[str]
97
+ requires: list[str]
98
+ provides: list[str]
99
+ obsoletes: list[str]
100
+
101
+ # Metadata 1.2 - PEP 345
102
+ maintainer: str
103
+ maintainer_email: str
104
+ requires_dist: list[str]
105
+ provides_dist: list[str]
106
+ obsoletes_dist: list[str]
107
+ requires_python: str
108
+ requires_external: list[str]
109
+ project_urls: dict[str, str]
110
+
111
+ # Metadata 2.0
112
+ # PEP 426 attempted to completely revamp the metadata format
113
+ # but got stuck without ever being able to build consensus on
114
+ # it and ultimately ended up withdrawn.
115
+ #
116
+ # However, a number of tools had started emitting METADATA with
117
+ # `2.0` Metadata-Version, so for historical reasons, this version
118
+ # was skipped.
119
+
120
+ # Metadata 2.1 - PEP 566
121
+ description_content_type: str
122
+ provides_extra: list[str]
123
+
124
+ # Metadata 2.2 - PEP 643
125
+ dynamic: list[str]
126
+
127
+ # Metadata 2.3 - PEP 685
128
+ # No new fields were added in PEP 685, just some edge case were
129
+ # tightened up to provide better interoptability.
130
+
131
+ # Metadata 2.4 - PEP 639
132
+ license_expression: str
133
+ license_files: list[str]
134
+
135
+
136
+ _STRING_FIELDS = {
137
+ "author",
138
+ "author_email",
139
+ "description",
140
+ "description_content_type",
141
+ "download_url",
142
+ "home_page",
143
+ "license",
144
+ "license_expression",
145
+ "maintainer",
146
+ "maintainer_email",
147
+ "metadata_version",
148
+ "name",
149
+ "requires_python",
150
+ "summary",
151
+ "version",
152
+ }
153
+
154
+ _LIST_FIELDS = {
155
+ "classifiers",
156
+ "dynamic",
157
+ "license_files",
158
+ "obsoletes",
159
+ "obsoletes_dist",
160
+ "platforms",
161
+ "provides",
162
+ "provides_dist",
163
+ "provides_extra",
164
+ "requires",
165
+ "requires_dist",
166
+ "requires_external",
167
+ "supported_platforms",
168
+ }
169
+
170
+ _DICT_FIELDS = {
171
+ "project_urls",
172
+ }
173
+
174
+
175
+ def _parse_keywords(data: str) -> list[str]:
176
+ """Split a string of comma-separated keywords into a list of keywords."""
177
+ return [k.strip() for k in data.split(",")]
178
+
179
+
180
+ def _parse_project_urls(data: list[str]) -> dict[str, str]:
181
+ """Parse a list of label/URL string pairings separated by a comma."""
182
+ urls = {}
183
+ for pair in data:
184
+ # Our logic is slightly tricky here as we want to try and do
185
+ # *something* reasonable with malformed data.
186
+ #
187
+ # The main thing that we have to worry about, is data that does
188
+ # not have a ',' at all to split the label from the Value. There
189
+ # isn't a singular right answer here, and we will fail validation
190
+ # later on (if the caller is validating) so it doesn't *really*
191
+ # matter, but since the missing value has to be an empty str
192
+ # and our return value is dict[str, str], if we let the key
193
+ # be the missing value, then they'd have multiple '' values that
194
+ # overwrite each other in a accumulating dict.
195
+ #
196
+ # The other potentional issue is that it's possible to have the
197
+ # same label multiple times in the metadata, with no solid "right"
198
+ # answer with what to do in that case. As such, we'll do the only
199
+ # thing we can, which is treat the field as unparseable and add it
200
+ # to our list of unparsed fields.
201
+ parts = [p.strip() for p in pair.split(",", 1)]
202
+ parts.extend([""] * (max(0, 2 - len(parts)))) # Ensure 2 items
203
+
204
+ # TODO: The spec doesn't say anything about if the keys should be
205
+ # considered case sensitive or not... logically they should
206
+ # be case-preserving and case-insensitive, but doing that
207
+ # would open up more cases where we might have duplicate
208
+ # entries.
209
+ label, url = parts
210
+ if label in urls:
211
+ # The label already exists in our set of urls, so this field
212
+ # is unparseable, and we can just add the whole thing to our
213
+ # unparseable data and stop processing it.
214
+ raise KeyError("duplicate labels in project urls")
215
+ urls[label] = url
216
+
217
+ return urls
218
+
219
+
220
+ def _get_payload(msg: email.message.Message, source: bytes | str) -> str:
221
+ """Get the body of the message."""
222
+ # If our source is a str, then our caller has managed encodings for us,
223
+ # and we don't need to deal with it.
224
+ if isinstance(source, str):
225
+ payload = msg.get_payload()
226
+ assert isinstance(payload, str)
227
+ return payload
228
+ # If our source is a bytes, then we're managing the encoding and we need
229
+ # to deal with it.
230
+ else:
231
+ bpayload = msg.get_payload(decode=True)
232
+ assert isinstance(bpayload, bytes)
233
+ try:
234
+ return bpayload.decode("utf8", "strict")
235
+ except UnicodeDecodeError as exc:
236
+ raise ValueError("payload in an invalid encoding") from exc
237
+
238
+
239
+ # The various parse_FORMAT functions here are intended to be as lenient as
240
+ # possible in their parsing, while still returning a correctly typed
241
+ # RawMetadata.
242
+ #
243
+ # To aid in this, we also generally want to do as little touching of the
244
+ # data as possible, except where there are possibly some historic holdovers
245
+ # that make valid data awkward to work with.
246
+ #
247
+ # While this is a lower level, intermediate format than our ``Metadata``
248
+ # class, some light touch ups can make a massive difference in usability.
249
+
250
+ # Map METADATA fields to RawMetadata.
251
+ _EMAIL_TO_RAW_MAPPING = {
252
+ "author": "author",
253
+ "author-email": "author_email",
254
+ "classifier": "classifiers",
255
+ "description": "description",
256
+ "description-content-type": "description_content_type",
257
+ "download-url": "download_url",
258
+ "dynamic": "dynamic",
259
+ "home-page": "home_page",
260
+ "keywords": "keywords",
261
+ "license": "license",
262
+ "license-expression": "license_expression",
263
+ "license-file": "license_files",
264
+ "maintainer": "maintainer",
265
+ "maintainer-email": "maintainer_email",
266
+ "metadata-version": "metadata_version",
267
+ "name": "name",
268
+ "obsoletes": "obsoletes",
269
+ "obsoletes-dist": "obsoletes_dist",
270
+ "platform": "platforms",
271
+ "project-url": "project_urls",
272
+ "provides": "provides",
273
+ "provides-dist": "provides_dist",
274
+ "provides-extra": "provides_extra",
275
+ "requires": "requires",
276
+ "requires-dist": "requires_dist",
277
+ "requires-external": "requires_external",
278
+ "requires-python": "requires_python",
279
+ "summary": "summary",
280
+ "supported-platform": "supported_platforms",
281
+ "version": "version",
282
+ }
283
+ _RAW_TO_EMAIL_MAPPING = {raw: email for email, raw in _EMAIL_TO_RAW_MAPPING.items()}
284
+
285
+
286
+ def parse_email(data: bytes | str) -> tuple[RawMetadata, dict[str, list[str]]]:
287
+ """Parse a distribution's metadata stored as email headers (e.g. from ``METADATA``).
288
+
289
+ This function returns a two-item tuple of dicts. The first dict is of
290
+ recognized fields from the core metadata specification. Fields that can be
291
+ parsed and translated into Python's built-in types are converted
292
+ appropriately. All other fields are left as-is. Fields that are allowed to
293
+ appear multiple times are stored as lists.
294
+
295
+ The second dict contains all other fields from the metadata. This includes
296
+ any unrecognized fields. It also includes any fields which are expected to
297
+ be parsed into a built-in type but were not formatted appropriately. Finally,
298
+ any fields that are expected to appear only once but are repeated are
299
+ included in this dict.
300
+
301
+ """
302
+ raw: dict[str, str | list[str] | dict[str, str]] = {}
303
+ unparsed: dict[str, list[str]] = {}
304
+
305
+ if isinstance(data, str):
306
+ parsed = email.parser.Parser(policy=email.policy.compat32).parsestr(data)
307
+ else:
308
+ parsed = email.parser.BytesParser(policy=email.policy.compat32).parsebytes(data)
309
+
310
+ # We have to wrap parsed.keys() in a set, because in the case of multiple
311
+ # values for a key (a list), the key will appear multiple times in the
312
+ # list of keys, but we're avoiding that by using get_all().
313
+ for name in frozenset(parsed.keys()):
314
+ # Header names in RFC are case insensitive, so we'll normalize to all
315
+ # lower case to make comparisons easier.
316
+ name = name.lower()
317
+
318
+ # We use get_all() here, even for fields that aren't multiple use,
319
+ # because otherwise someone could have e.g. two Name fields, and we
320
+ # would just silently ignore it rather than doing something about it.
321
+ headers = parsed.get_all(name) or []
322
+
323
+ # The way the email module works when parsing bytes is that it
324
+ # unconditionally decodes the bytes as ascii using the surrogateescape
325
+ # handler. When you pull that data back out (such as with get_all() ),
326
+ # it looks to see if the str has any surrogate escapes, and if it does
327
+ # it wraps it in a Header object instead of returning the string.
328
+ #
329
+ # As such, we'll look for those Header objects, and fix up the encoding.
330
+ value = []
331
+ # Flag if we have run into any issues processing the headers, thus
332
+ # signalling that the data belongs in 'unparsed'.
333
+ valid_encoding = True
334
+ for h in headers:
335
+ # It's unclear if this can return more types than just a Header or
336
+ # a str, so we'll just assert here to make sure.
337
+ assert isinstance(h, (email.header.Header, str))
338
+
339
+ # If it's a header object, we need to do our little dance to get
340
+ # the real data out of it. In cases where there is invalid data
341
+ # we're going to end up with mojibake, but there's no obvious, good
342
+ # way around that without reimplementing parts of the Header object
343
+ # ourselves.
344
+ #
345
+ # That should be fine since, if mojibacked happens, this key is
346
+ # going into the unparsed dict anyways.
347
+ if isinstance(h, email.header.Header):
348
+ # The Header object stores it's data as chunks, and each chunk
349
+ # can be independently encoded, so we'll need to check each
350
+ # of them.
351
+ chunks: list[tuple[bytes, str | None]] = []
352
+ for bin, encoding in email.header.decode_header(h):
353
+ try:
354
+ bin.decode("utf8", "strict")
355
+ except UnicodeDecodeError:
356
+ # Enable mojibake.
357
+ encoding = "latin1"
358
+ valid_encoding = False
359
+ else:
360
+ encoding = "utf8"
361
+ chunks.append((bin, encoding))
362
+
363
+ # Turn our chunks back into a Header object, then let that
364
+ # Header object do the right thing to turn them into a
365
+ # string for us.
366
+ value.append(str(email.header.make_header(chunks)))
367
+ # This is already a string, so just add it.
368
+ else:
369
+ value.append(h)
370
+
371
+ # We've processed all of our values to get them into a list of str,
372
+ # but we may have mojibake data, in which case this is an unparsed
373
+ # field.
374
+ if not valid_encoding:
375
+ unparsed[name] = value
376
+ continue
377
+
378
+ raw_name = _EMAIL_TO_RAW_MAPPING.get(name)
379
+ if raw_name is None:
380
+ # This is a bit of a weird situation, we've encountered a key that
381
+ # we don't know what it means, so we don't know whether it's meant
382
+ # to be a list or not.
383
+ #
384
+ # Since we can't really tell one way or another, we'll just leave it
385
+ # as a list, even though it may be a single item list, because that's
386
+ # what makes the most sense for email headers.
387
+ unparsed[name] = value
388
+ continue
389
+
390
+ # If this is one of our string fields, then we'll check to see if our
391
+ # value is a list of a single item. If it is then we'll assume that
392
+ # it was emitted as a single string, and unwrap the str from inside
393
+ # the list.
394
+ #
395
+ # If it's any other kind of data, then we haven't the faintest clue
396
+ # what we should parse it as, and we have to just add it to our list
397
+ # of unparsed stuff.
398
+ if raw_name in _STRING_FIELDS and len(value) == 1:
399
+ raw[raw_name] = value[0]
400
+ # If this is one of our list of string fields, then we can just assign
401
+ # the value, since email *only* has strings, and our get_all() call
402
+ # above ensures that this is a list.
403
+ elif raw_name in _LIST_FIELDS:
404
+ raw[raw_name] = value
405
+ # Special Case: Keywords
406
+ # The keywords field is implemented in the metadata spec as a str,
407
+ # but it conceptually is a list of strings, and is serialized using
408
+ # ", ".join(keywords), so we'll do some light data massaging to turn
409
+ # this into what it logically is.
410
+ elif raw_name == "keywords" and len(value) == 1:
411
+ raw[raw_name] = _parse_keywords(value[0])
412
+ # Special Case: Project-URL
413
+ # The project urls is implemented in the metadata spec as a list of
414
+ # specially-formatted strings that represent a key and a value, which
415
+ # is fundamentally a mapping, however the email format doesn't support
416
+ # mappings in a sane way, so it was crammed into a list of strings
417
+ # instead.
418
+ #
419
+ # We will do a little light data massaging to turn this into a map as
420
+ # it logically should be.
421
+ elif raw_name == "project_urls":
422
+ try:
423
+ raw[raw_name] = _parse_project_urls(value)
424
+ except KeyError:
425
+ unparsed[name] = value
426
+ # Nothing that we've done has managed to parse this, so it'll just
427
+ # throw it in our unparseable data and move on.
428
+ else:
429
+ unparsed[name] = value
430
+
431
+ # We need to support getting the Description from the message payload in
432
+ # addition to getting it from the the headers. This does mean, though, there
433
+ # is the possibility of it being set both ways, in which case we put both
434
+ # in 'unparsed' since we don't know which is right.
435
+ try:
436
+ payload = _get_payload(parsed, data)
437
+ except ValueError:
438
+ unparsed.setdefault("description", []).append(
439
+ parsed.get_payload(decode=isinstance(data, bytes)) # type: ignore[call-overload]
440
+ )
441
+ else:
442
+ if payload:
443
+ # Check to see if we've already got a description, if so then both
444
+ # it, and this body move to unparseable.
445
+ if "description" in raw:
446
+ description_header = cast(str, raw.pop("description"))
447
+ unparsed.setdefault("description", []).extend(
448
+ [description_header, payload]
449
+ )
450
+ elif "description" in unparsed:
451
+ unparsed["description"].append(payload)
452
+ else:
453
+ raw["description"] = payload
454
+
455
+ # We need to cast our `raw` to a metadata, because a TypedDict only support
456
+ # literal key names, but we're computing our key names on purpose, but the
457
+ # way this function is implemented, our `TypedDict` can only have valid key
458
+ # names.
459
+ return cast(RawMetadata, raw), unparsed
460
+
461
+
462
+ _NOT_FOUND = object()
463
+
464
+
465
+ # Keep the two values in sync.
466
+ _VALID_METADATA_VERSIONS = ["1.0", "1.1", "1.2", "2.1", "2.2", "2.3", "2.4"]
467
+ _MetadataVersion = Literal["1.0", "1.1", "1.2", "2.1", "2.2", "2.3", "2.4"]
468
+
469
+ _REQUIRED_ATTRS = frozenset(["metadata_version", "name", "version"])
470
+
471
+
472
+ class _Validator(Generic[T]):
473
+ """Validate a metadata field.
474
+
475
+ All _process_*() methods correspond to a core metadata field. The method is
476
+ called with the field's raw value. If the raw value is valid it is returned
477
+ in its "enriched" form (e.g. ``version.Version`` for the ``Version`` field).
478
+ If the raw value is invalid, :exc:`InvalidMetadata` is raised (with a cause
479
+ as appropriate).
480
+ """
481
+
482
+ name: str
483
+ raw_name: str
484
+ added: _MetadataVersion
485
+
486
+ def __init__(
487
+ self,
488
+ *,
489
+ added: _MetadataVersion = "1.0",
490
+ ) -> None:
491
+ self.added = added
492
+
493
+ def __set_name__(self, _owner: Metadata, name: str) -> None:
494
+ self.name = name
495
+ self.raw_name = _RAW_TO_EMAIL_MAPPING[name]
496
+
497
+ def __get__(self, instance: Metadata, _owner: type[Metadata]) -> T:
498
+ # With Python 3.8, the caching can be replaced with functools.cached_property().
499
+ # No need to check the cache as attribute lookup will resolve into the
500
+ # instance's __dict__ before __get__ is called.
501
+ cache = instance.__dict__
502
+ value = instance._raw.get(self.name)
503
+
504
+ # To make the _process_* methods easier, we'll check if the value is None
505
+ # and if this field is NOT a required attribute, and if both of those
506
+ # things are true, we'll skip the the converter. This will mean that the
507
+ # converters never have to deal with the None union.
508
+ if self.name in _REQUIRED_ATTRS or value is not None:
509
+ try:
510
+ converter: Callable[[Any], T] = getattr(self, f"_process_{self.name}")
511
+ except AttributeError:
512
+ pass
513
+ else:
514
+ value = converter(value)
515
+
516
+ cache[self.name] = value
517
+ try:
518
+ del instance._raw[self.name] # type: ignore[misc]
519
+ except KeyError:
520
+ pass
521
+
522
+ return cast(T, value)
523
+
524
+ def _invalid_metadata(
525
+ self, msg: str, cause: Exception | None = None
526
+ ) -> InvalidMetadata:
527
+ exc = InvalidMetadata(
528
+ self.raw_name, msg.format_map({"field": repr(self.raw_name)})
529
+ )
530
+ exc.__cause__ = cause
531
+ return exc
532
+
533
+ def _process_metadata_version(self, value: str) -> _MetadataVersion:
534
+ # Implicitly makes Metadata-Version required.
535
+ if value not in _VALID_METADATA_VERSIONS:
536
+ raise self._invalid_metadata(f"{value!r} is not a valid metadata version")
537
+ return cast(_MetadataVersion, value)
538
+
539
+ def _process_name(self, value: str) -> str:
540
+ if not value:
541
+ raise self._invalid_metadata("{field} is a required field")
542
+ # Validate the name as a side-effect.
543
+ try:
544
+ utils.canonicalize_name(value, validate=True)
545
+ except utils.InvalidName as exc:
546
+ raise self._invalid_metadata(
547
+ f"{value!r} is invalid for {{field}}", cause=exc
548
+ ) from exc
549
+ else:
550
+ return value
551
+
552
+ def _process_version(self, value: str) -> version_module.Version:
553
+ if not value:
554
+ raise self._invalid_metadata("{field} is a required field")
555
+ try:
556
+ return version_module.parse(value)
557
+ except version_module.InvalidVersion as exc:
558
+ raise self._invalid_metadata(
559
+ f"{value!r} is invalid for {{field}}", cause=exc
560
+ ) from exc
561
+
562
+ def _process_summary(self, value: str) -> str:
563
+ """Check the field contains no newlines."""
564
+ if "\n" in value:
565
+ raise self._invalid_metadata("{field} must be a single line")
566
+ return value
567
+
568
+ def _process_description_content_type(self, value: str) -> str:
569
+ content_types = {"text/plain", "text/x-rst", "text/markdown"}
570
+ message = email.message.EmailMessage()
571
+ message["content-type"] = value
572
+
573
+ content_type, parameters = (
574
+ # Defaults to `text/plain` if parsing failed.
575
+ message.get_content_type().lower(),
576
+ message["content-type"].params,
577
+ )
578
+ # Check if content-type is valid or defaulted to `text/plain` and thus was
579
+ # not parseable.
580
+ if content_type not in content_types or content_type not in value.lower():
581
+ raise self._invalid_metadata(
582
+ f"{{field}} must be one of {list(content_types)}, not {value!r}"
583
+ )
584
+
585
+ charset = parameters.get("charset", "UTF-8")
586
+ if charset != "UTF-8":
587
+ raise self._invalid_metadata(
588
+ f"{{field}} can only specify the UTF-8 charset, not {list(charset)}"
589
+ )
590
+
591
+ markdown_variants = {"GFM", "CommonMark"}
592
+ variant = parameters.get("variant", "GFM") # Use an acceptable default.
593
+ if content_type == "text/markdown" and variant not in markdown_variants:
594
+ raise self._invalid_metadata(
595
+ f"valid Markdown variants for {{field}} are {list(markdown_variants)}, "
596
+ f"not {variant!r}",
597
+ )
598
+ return value
599
+
600
+ def _process_dynamic(self, value: list[str]) -> list[str]:
601
+ for dynamic_field in map(str.lower, value):
602
+ if dynamic_field in {"name", "version", "metadata-version"}:
603
+ raise self._invalid_metadata(
604
+ f"{dynamic_field!r} is not allowed as a dynamic field"
605
+ )
606
+ elif dynamic_field not in _EMAIL_TO_RAW_MAPPING:
607
+ raise self._invalid_metadata(
608
+ f"{dynamic_field!r} is not a valid dynamic field"
609
+ )
610
+ return list(map(str.lower, value))
611
+
612
+ def _process_provides_extra(
613
+ self,
614
+ value: list[str],
615
+ ) -> list[utils.NormalizedName]:
616
+ normalized_names = []
617
+ try:
618
+ for name in value:
619
+ normalized_names.append(utils.canonicalize_name(name, validate=True))
620
+ except utils.InvalidName as exc:
621
+ raise self._invalid_metadata(
622
+ f"{name!r} is invalid for {{field}}", cause=exc
623
+ ) from exc
624
+ else:
625
+ return normalized_names
626
+
627
+ def _process_requires_python(self, value: str) -> specifiers.SpecifierSet:
628
+ try:
629
+ return specifiers.SpecifierSet(value)
630
+ except specifiers.InvalidSpecifier as exc:
631
+ raise self._invalid_metadata(
632
+ f"{value!r} is invalid for {{field}}", cause=exc
633
+ ) from exc
634
+
635
+ def _process_requires_dist(
636
+ self,
637
+ value: list[str],
638
+ ) -> list[requirements.Requirement]:
639
+ reqs = []
640
+ try:
641
+ for req in value:
642
+ reqs.append(requirements.Requirement(req))
643
+ except requirements.InvalidRequirement as exc:
644
+ raise self._invalid_metadata(
645
+ f"{req!r} is invalid for {{field}}", cause=exc
646
+ ) from exc
647
+ else:
648
+ return reqs
649
+
650
+ def _process_license_expression(
651
+ self, value: str
652
+ ) -> NormalizedLicenseExpression | None:
653
+ try:
654
+ return licenses.canonicalize_license_expression(value)
655
+ except ValueError as exc:
656
+ raise self._invalid_metadata(
657
+ f"{value!r} is invalid for {{field}}", cause=exc
658
+ ) from exc
659
+
660
+ def _process_license_files(self, value: list[str]) -> list[str]:
661
+ paths = []
662
+ for path in value:
663
+ if ".." in path:
664
+ raise self._invalid_metadata(
665
+ f"{path!r} is invalid for {{field}}, "
666
+ "parent directory indicators are not allowed"
667
+ )
668
+ if "*" in path:
669
+ raise self._invalid_metadata(
670
+ f"{path!r} is invalid for {{field}}, paths must be resolved"
671
+ )
672
+ if (
673
+ pathlib.PurePosixPath(path).is_absolute()
674
+ or pathlib.PureWindowsPath(path).is_absolute()
675
+ ):
676
+ raise self._invalid_metadata(
677
+ f"{path!r} is invalid for {{field}}, paths must be relative"
678
+ )
679
+ if pathlib.PureWindowsPath(path).as_posix() != path:
680
+ raise self._invalid_metadata(
681
+ f"{path!r} is invalid for {{field}}, "
682
+ "paths must use '/' delimiter"
683
+ )
684
+ paths.append(path)
685
+ return paths
686
+
687
+
688
+ class Metadata:
689
+ """Representation of distribution metadata.
690
+
691
+ Compared to :class:`RawMetadata`, this class provides objects representing
692
+ metadata fields instead of only using built-in types. Any invalid metadata
693
+ will cause :exc:`InvalidMetadata` to be raised (with a
694
+ :py:attr:`~BaseException.__cause__` attribute as appropriate).
695
+ """
696
+
697
+ _raw: RawMetadata
698
+
699
+ @classmethod
700
+ def from_raw(cls, data: RawMetadata, *, validate: bool = True) -> Metadata:
701
+ """Create an instance from :class:`RawMetadata`.
702
+
703
+ If *validate* is true, all metadata will be validated. All exceptions
704
+ related to validation will be gathered and raised as an :class:`ExceptionGroup`.
705
+ """
706
+ ins = cls()
707
+ ins._raw = data.copy() # Mutations occur due to caching enriched values.
708
+
709
+ if validate:
710
+ exceptions: list[Exception] = []
711
+ try:
712
+ metadata_version = ins.metadata_version
713
+ metadata_age = _VALID_METADATA_VERSIONS.index(metadata_version)
714
+ except InvalidMetadata as metadata_version_exc:
715
+ exceptions.append(metadata_version_exc)
716
+ metadata_version = None
717
+
718
+ # Make sure to check for the fields that are present, the required
719
+ # fields (so their absence can be reported).
720
+ fields_to_check = frozenset(ins._raw) | _REQUIRED_ATTRS
721
+ # Remove fields that have already been checked.
722
+ fields_to_check -= {"metadata_version"}
723
+
724
+ for key in fields_to_check:
725
+ try:
726
+ if metadata_version:
727
+ # Can't use getattr() as that triggers descriptor protocol which
728
+ # will fail due to no value for the instance argument.
729
+ try:
730
+ field_metadata_version = cls.__dict__[key].added
731
+ except KeyError:
732
+ exc = InvalidMetadata(key, f"unrecognized field: {key!r}")
733
+ exceptions.append(exc)
734
+ continue
735
+ field_age = _VALID_METADATA_VERSIONS.index(
736
+ field_metadata_version
737
+ )
738
+ if field_age > metadata_age:
739
+ field = _RAW_TO_EMAIL_MAPPING[key]
740
+ exc = InvalidMetadata(
741
+ field,
742
+ f"{field} introduced in metadata version "
743
+ f"{field_metadata_version}, not {metadata_version}",
744
+ )
745
+ exceptions.append(exc)
746
+ continue
747
+ getattr(ins, key)
748
+ except InvalidMetadata as exc:
749
+ exceptions.append(exc)
750
+
751
+ if exceptions:
752
+ raise ExceptionGroup("invalid metadata", exceptions)
753
+
754
+ return ins
755
+
756
+ @classmethod
757
+ def from_email(cls, data: bytes | str, *, validate: bool = True) -> Metadata:
758
+ """Parse metadata from email headers.
759
+
760
+ If *validate* is true, the metadata will be validated. All exceptions
761
+ related to validation will be gathered and raised as an :class:`ExceptionGroup`.
762
+ """
763
+ raw, unparsed = parse_email(data)
764
+
765
+ if validate:
766
+ exceptions: list[Exception] = []
767
+ for unparsed_key in unparsed:
768
+ if unparsed_key in _EMAIL_TO_RAW_MAPPING:
769
+ message = f"{unparsed_key!r} has invalid data"
770
+ else:
771
+ message = f"unrecognized field: {unparsed_key!r}"
772
+ exceptions.append(InvalidMetadata(unparsed_key, message))
773
+
774
+ if exceptions:
775
+ raise ExceptionGroup("unparsed", exceptions)
776
+
777
+ try:
778
+ return cls.from_raw(raw, validate=validate)
779
+ except ExceptionGroup as exc_group:
780
+ raise ExceptionGroup(
781
+ "invalid or unparsed metadata", exc_group.exceptions
782
+ ) from None
783
+
784
+ metadata_version: _Validator[_MetadataVersion] = _Validator()
785
+ """:external:ref:`core-metadata-metadata-version`
786
+ (required; validated to be a valid metadata version)"""
787
+ # `name` is not normalized/typed to NormalizedName so as to provide access to
788
+ # the original/raw name.
789
+ name: _Validator[str] = _Validator()
790
+ """:external:ref:`core-metadata-name`
791
+ (required; validated using :func:`~packaging.utils.canonicalize_name` and its
792
+ *validate* parameter)"""
793
+ version: _Validator[version_module.Version] = _Validator()
794
+ """:external:ref:`core-metadata-version` (required)"""
795
+ dynamic: _Validator[list[str] | None] = _Validator(
796
+ added="2.2",
797
+ )
798
+ """:external:ref:`core-metadata-dynamic`
799
+ (validated against core metadata field names and lowercased)"""
800
+ platforms: _Validator[list[str] | None] = _Validator()
801
+ """:external:ref:`core-metadata-platform`"""
802
+ supported_platforms: _Validator[list[str] | None] = _Validator(added="1.1")
803
+ """:external:ref:`core-metadata-supported-platform`"""
804
+ summary: _Validator[str | None] = _Validator()
805
+ """:external:ref:`core-metadata-summary` (validated to contain no newlines)"""
806
+ description: _Validator[str | None] = _Validator() # TODO 2.1: can be in body
807
+ """:external:ref:`core-metadata-description`"""
808
+ description_content_type: _Validator[str | None] = _Validator(added="2.1")
809
+ """:external:ref:`core-metadata-description-content-type` (validated)"""
810
+ keywords: _Validator[list[str] | None] = _Validator()
811
+ """:external:ref:`core-metadata-keywords`"""
812
+ home_page: _Validator[str | None] = _Validator()
813
+ """:external:ref:`core-metadata-home-page`"""
814
+ download_url: _Validator[str | None] = _Validator(added="1.1")
815
+ """:external:ref:`core-metadata-download-url`"""
816
+ author: _Validator[str | None] = _Validator()
817
+ """:external:ref:`core-metadata-author`"""
818
+ author_email: _Validator[str | None] = _Validator()
819
+ """:external:ref:`core-metadata-author-email`"""
820
+ maintainer: _Validator[str | None] = _Validator(added="1.2")
821
+ """:external:ref:`core-metadata-maintainer`"""
822
+ maintainer_email: _Validator[str | None] = _Validator(added="1.2")
823
+ """:external:ref:`core-metadata-maintainer-email`"""
824
+ license: _Validator[str | None] = _Validator()
825
+ """:external:ref:`core-metadata-license`"""
826
+ license_expression: _Validator[NormalizedLicenseExpression | None] = _Validator(
827
+ added="2.4"
828
+ )
829
+ """:external:ref:`core-metadata-license-expression`"""
830
+ license_files: _Validator[list[str] | None] = _Validator(added="2.4")
831
+ """:external:ref:`core-metadata-license-file`"""
832
+ classifiers: _Validator[list[str] | None] = _Validator(added="1.1")
833
+ """:external:ref:`core-metadata-classifier`"""
834
+ requires_dist: _Validator[list[requirements.Requirement] | None] = _Validator(
835
+ added="1.2"
836
+ )
837
+ """:external:ref:`core-metadata-requires-dist`"""
838
+ requires_python: _Validator[specifiers.SpecifierSet | None] = _Validator(
839
+ added="1.2"
840
+ )
841
+ """:external:ref:`core-metadata-requires-python`"""
842
+ # Because `Requires-External` allows for non-PEP 440 version specifiers, we
843
+ # don't do any processing on the values.
844
+ requires_external: _Validator[list[str] | None] = _Validator(added="1.2")
845
+ """:external:ref:`core-metadata-requires-external`"""
846
+ project_urls: _Validator[dict[str, str] | None] = _Validator(added="1.2")
847
+ """:external:ref:`core-metadata-project-url`"""
848
+ # PEP 685 lets us raise an error if an extra doesn't pass `Name` validation
849
+ # regardless of metadata version.
850
+ provides_extra: _Validator[list[utils.NormalizedName] | None] = _Validator(
851
+ added="2.1",
852
+ )
853
+ """:external:ref:`core-metadata-provides-extra`"""
854
+ provides_dist: _Validator[list[str] | None] = _Validator(added="1.2")
855
+ """:external:ref:`core-metadata-provides-dist`"""
856
+ obsoletes_dist: _Validator[list[str] | None] = _Validator(added="1.2")
857
+ """:external:ref:`core-metadata-obsoletes-dist`"""
858
+ requires: _Validator[list[str] | None] = _Validator(added="1.1")
859
+ """``Requires`` (deprecated)"""
860
+ provides: _Validator[list[str] | None] = _Validator(added="1.1")
861
+ """``Provides`` (deprecated)"""
862
+ obsoletes: _Validator[list[str] | None] = _Validator(added="1.1")
863
+ """``Obsoletes`` (deprecated)"""