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,1361 @@
1
+ import re
2
+ from functools import partial, reduce
3
+ from math import gcd
4
+ from operator import itemgetter
5
+ from typing import (
6
+ TYPE_CHECKING,
7
+ Any,
8
+ Callable,
9
+ Dict,
10
+ Iterable,
11
+ List,
12
+ NamedTuple,
13
+ Optional,
14
+ Pattern,
15
+ Tuple,
16
+ Union,
17
+ )
18
+
19
+ from ._loop import loop_last
20
+ from ._pick import pick_bool
21
+ from ._wrap import divide_line
22
+ from .align import AlignMethod
23
+ from .cells import cell_len, set_cell_size
24
+ from .containers import Lines
25
+ from .control import strip_control_codes
26
+ from .emoji import EmojiVariant
27
+ from .jupyter import JupyterMixin
28
+ from .measure import Measurement
29
+ from .segment import Segment
30
+ from .style import Style, StyleType
31
+
32
+ if TYPE_CHECKING: # pragma: no cover
33
+ from .console import Console, ConsoleOptions, JustifyMethod, OverflowMethod
34
+
35
+ DEFAULT_JUSTIFY: "JustifyMethod" = "default"
36
+ DEFAULT_OVERFLOW: "OverflowMethod" = "fold"
37
+
38
+
39
+ _re_whitespace = re.compile(r"\s+$")
40
+
41
+ TextType = Union[str, "Text"]
42
+ """A plain string or a :class:`Text` instance."""
43
+
44
+ GetStyleCallable = Callable[[str], Optional[StyleType]]
45
+
46
+
47
+ class Span(NamedTuple):
48
+ """A marked up region in some text."""
49
+
50
+ start: int
51
+ """Span start index."""
52
+ end: int
53
+ """Span end index."""
54
+ style: Union[str, Style]
55
+ """Style associated with the span."""
56
+
57
+ def __repr__(self) -> str:
58
+ return f"Span({self.start}, {self.end}, {self.style!r})"
59
+
60
+ def __bool__(self) -> bool:
61
+ return self.end > self.start
62
+
63
+ def split(self, offset: int) -> Tuple["Span", Optional["Span"]]:
64
+ """Split a span in to 2 from a given offset."""
65
+
66
+ if offset < self.start:
67
+ return self, None
68
+ if offset >= self.end:
69
+ return self, None
70
+
71
+ start, end, style = self
72
+ span1 = Span(start, min(end, offset), style)
73
+ span2 = Span(span1.end, end, style)
74
+ return span1, span2
75
+
76
+ def move(self, offset: int) -> "Span":
77
+ """Move start and end by a given offset.
78
+
79
+ Args:
80
+ offset (int): Number of characters to add to start and end.
81
+
82
+ Returns:
83
+ TextSpan: A new TextSpan with adjusted position.
84
+ """
85
+ start, end, style = self
86
+ return Span(start + offset, end + offset, style)
87
+
88
+ def right_crop(self, offset: int) -> "Span":
89
+ """Crop the span at the given offset.
90
+
91
+ Args:
92
+ offset (int): A value between start and end.
93
+
94
+ Returns:
95
+ Span: A new (possibly smaller) span.
96
+ """
97
+ start, end, style = self
98
+ if offset >= end:
99
+ return self
100
+ return Span(start, min(offset, end), style)
101
+
102
+ def extend(self, cells: int) -> "Span":
103
+ """Extend the span by the given number of cells.
104
+
105
+ Args:
106
+ cells (int): Additional space to add to end of span.
107
+
108
+ Returns:
109
+ Span: A span.
110
+ """
111
+ if cells:
112
+ start, end, style = self
113
+ return Span(start, end + cells, style)
114
+ else:
115
+ return self
116
+
117
+
118
+ class Text(JupyterMixin):
119
+ """Text with color / style.
120
+
121
+ Args:
122
+ text (str, optional): Default unstyled text. Defaults to "".
123
+ style (Union[str, Style], optional): Base style for text. Defaults to "".
124
+ justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
125
+ overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
126
+ no_wrap (bool, optional): Disable text wrapping, or None for default. Defaults to None.
127
+ end (str, optional): Character to end text with. Defaults to "\\\\n".
128
+ tab_size (int): Number of spaces per tab, or ``None`` to use ``console.tab_size``. Defaults to None.
129
+ spans (List[Span], optional). A list of predefined style spans. Defaults to None.
130
+ """
131
+
132
+ __slots__ = [
133
+ "_text",
134
+ "style",
135
+ "justify",
136
+ "overflow",
137
+ "no_wrap",
138
+ "end",
139
+ "tab_size",
140
+ "_spans",
141
+ "_length",
142
+ ]
143
+
144
+ def __init__(
145
+ self,
146
+ text: str = "",
147
+ style: Union[str, Style] = "",
148
+ *,
149
+ justify: Optional["JustifyMethod"] = None,
150
+ overflow: Optional["OverflowMethod"] = None,
151
+ no_wrap: Optional[bool] = None,
152
+ end: str = "\n",
153
+ tab_size: Optional[int] = None,
154
+ spans: Optional[List[Span]] = None,
155
+ ) -> None:
156
+ sanitized_text = strip_control_codes(text)
157
+ self._text = [sanitized_text]
158
+ self.style = style
159
+ self.justify: Optional["JustifyMethod"] = justify
160
+ self.overflow: Optional["OverflowMethod"] = overflow
161
+ self.no_wrap = no_wrap
162
+ self.end = end
163
+ self.tab_size = tab_size
164
+ self._spans: List[Span] = spans or []
165
+ self._length: int = len(sanitized_text)
166
+
167
+ def __len__(self) -> int:
168
+ return self._length
169
+
170
+ def __bool__(self) -> bool:
171
+ return bool(self._length)
172
+
173
+ def __str__(self) -> str:
174
+ return self.plain
175
+
176
+ def __repr__(self) -> str:
177
+ return f"<text {self.plain!r} {self._spans!r} {self.style!r}>"
178
+
179
+ def __add__(self, other: Any) -> "Text":
180
+ if isinstance(other, (str, Text)):
181
+ result = self.copy()
182
+ result.append(other)
183
+ return result
184
+ return NotImplemented
185
+
186
+ def __eq__(self, other: object) -> bool:
187
+ if not isinstance(other, Text):
188
+ return NotImplemented
189
+ return self.plain == other.plain and self._spans == other._spans
190
+
191
+ def __contains__(self, other: object) -> bool:
192
+ if isinstance(other, str):
193
+ return other in self.plain
194
+ elif isinstance(other, Text):
195
+ return other.plain in self.plain
196
+ return False
197
+
198
+ def __getitem__(self, slice: Union[int, slice]) -> "Text":
199
+ def get_text_at(offset: int) -> "Text":
200
+ _Span = Span
201
+ text = Text(
202
+ self.plain[offset],
203
+ spans=[
204
+ _Span(0, 1, style)
205
+ for start, end, style in self._spans
206
+ if end > offset >= start
207
+ ],
208
+ end="",
209
+ )
210
+ return text
211
+
212
+ if isinstance(slice, int):
213
+ return get_text_at(slice)
214
+ else:
215
+ start, stop, step = slice.indices(len(self.plain))
216
+ if step == 1:
217
+ lines = self.divide([start, stop])
218
+ return lines[1]
219
+ else:
220
+ # This would be a bit of work to implement efficiently
221
+ # For now, its not required
222
+ raise TypeError("slices with step!=1 are not supported")
223
+
224
+ @property
225
+ def cell_len(self) -> int:
226
+ """Get the number of cells required to render this text."""
227
+ return cell_len(self.plain)
228
+
229
+ @property
230
+ def markup(self) -> str:
231
+ """Get console markup to render this Text.
232
+
233
+ Returns:
234
+ str: A string potentially creating markup tags.
235
+ """
236
+ from .markup import escape
237
+
238
+ output: List[str] = []
239
+
240
+ plain = self.plain
241
+ markup_spans = [
242
+ (0, False, self.style),
243
+ *((span.start, False, span.style) for span in self._spans),
244
+ *((span.end, True, span.style) for span in self._spans),
245
+ (len(plain), True, self.style),
246
+ ]
247
+ markup_spans.sort(key=itemgetter(0, 1))
248
+ position = 0
249
+ append = output.append
250
+ for offset, closing, style in markup_spans:
251
+ if offset > position:
252
+ append(escape(plain[position:offset]))
253
+ position = offset
254
+ if style:
255
+ append(f"[/{style}]" if closing else f"[{style}]")
256
+ markup = "".join(output)
257
+ return markup
258
+
259
+ @classmethod
260
+ def from_markup(
261
+ cls,
262
+ text: str,
263
+ *,
264
+ style: Union[str, Style] = "",
265
+ emoji: bool = True,
266
+ emoji_variant: Optional[EmojiVariant] = None,
267
+ justify: Optional["JustifyMethod"] = None,
268
+ overflow: Optional["OverflowMethod"] = None,
269
+ end: str = "\n",
270
+ ) -> "Text":
271
+ """Create Text instance from markup.
272
+
273
+ Args:
274
+ text (str): A string containing console markup.
275
+ style (Union[str, Style], optional): Base style for text. Defaults to "".
276
+ emoji (bool, optional): Also render emoji code. Defaults to True.
277
+ emoji_variant (str, optional): Optional emoji variant, either "text" or "emoji". Defaults to None.
278
+ justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
279
+ overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
280
+ end (str, optional): Character to end text with. Defaults to "\\\\n".
281
+
282
+ Returns:
283
+ Text: A Text instance with markup rendered.
284
+ """
285
+ from .markup import render
286
+
287
+ rendered_text = render(text, style, emoji=emoji, emoji_variant=emoji_variant)
288
+ rendered_text.justify = justify
289
+ rendered_text.overflow = overflow
290
+ rendered_text.end = end
291
+ return rendered_text
292
+
293
+ @classmethod
294
+ def from_ansi(
295
+ cls,
296
+ text: str,
297
+ *,
298
+ style: Union[str, Style] = "",
299
+ justify: Optional["JustifyMethod"] = None,
300
+ overflow: Optional["OverflowMethod"] = None,
301
+ no_wrap: Optional[bool] = None,
302
+ end: str = "\n",
303
+ tab_size: Optional[int] = 8,
304
+ ) -> "Text":
305
+ """Create a Text object from a string containing ANSI escape codes.
306
+
307
+ Args:
308
+ text (str): A string containing escape codes.
309
+ style (Union[str, Style], optional): Base style for text. Defaults to "".
310
+ justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
311
+ overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
312
+ no_wrap (bool, optional): Disable text wrapping, or None for default. Defaults to None.
313
+ end (str, optional): Character to end text with. Defaults to "\\\\n".
314
+ tab_size (int): Number of spaces per tab, or ``None`` to use ``console.tab_size``. Defaults to None.
315
+ """
316
+ from .ansi import AnsiDecoder
317
+
318
+ joiner = Text(
319
+ "\n",
320
+ justify=justify,
321
+ overflow=overflow,
322
+ no_wrap=no_wrap,
323
+ end=end,
324
+ tab_size=tab_size,
325
+ style=style,
326
+ )
327
+ decoder = AnsiDecoder()
328
+ result = joiner.join(line for line in decoder.decode(text))
329
+ return result
330
+
331
+ @classmethod
332
+ def styled(
333
+ cls,
334
+ text: str,
335
+ style: StyleType = "",
336
+ *,
337
+ justify: Optional["JustifyMethod"] = None,
338
+ overflow: Optional["OverflowMethod"] = None,
339
+ ) -> "Text":
340
+ """Construct a Text instance with a pre-applied styled. A style applied in this way won't be used
341
+ to pad the text when it is justified.
342
+
343
+ Args:
344
+ text (str): A string containing console markup.
345
+ style (Union[str, Style]): Style to apply to the text. Defaults to "".
346
+ justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
347
+ overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
348
+
349
+ Returns:
350
+ Text: A text instance with a style applied to the entire string.
351
+ """
352
+ styled_text = cls(text, justify=justify, overflow=overflow)
353
+ styled_text.stylize(style)
354
+ return styled_text
355
+
356
+ @classmethod
357
+ def assemble(
358
+ cls,
359
+ *parts: Union[str, "Text", Tuple[str, StyleType]],
360
+ style: Union[str, Style] = "",
361
+ justify: Optional["JustifyMethod"] = None,
362
+ overflow: Optional["OverflowMethod"] = None,
363
+ no_wrap: Optional[bool] = None,
364
+ end: str = "\n",
365
+ tab_size: int = 8,
366
+ meta: Optional[Dict[str, Any]] = None,
367
+ ) -> "Text":
368
+ """Construct a text instance by combining a sequence of strings with optional styles.
369
+ The positional arguments should be either strings, or a tuple of string + style.
370
+
371
+ Args:
372
+ style (Union[str, Style], optional): Base style for text. Defaults to "".
373
+ justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
374
+ overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
375
+ no_wrap (bool, optional): Disable text wrapping, or None for default. Defaults to None.
376
+ end (str, optional): Character to end text with. Defaults to "\\\\n".
377
+ tab_size (int): Number of spaces per tab, or ``None`` to use ``console.tab_size``. Defaults to None.
378
+ meta (Dict[str, Any], optional). Meta data to apply to text, or None for no meta data. Default to None
379
+
380
+ Returns:
381
+ Text: A new text instance.
382
+ """
383
+ text = cls(
384
+ style=style,
385
+ justify=justify,
386
+ overflow=overflow,
387
+ no_wrap=no_wrap,
388
+ end=end,
389
+ tab_size=tab_size,
390
+ )
391
+ append = text.append
392
+ _Text = Text
393
+ for part in parts:
394
+ if isinstance(part, (_Text, str)):
395
+ append(part)
396
+ else:
397
+ append(*part)
398
+ if meta:
399
+ text.apply_meta(meta)
400
+ return text
401
+
402
+ @property
403
+ def plain(self) -> str:
404
+ """Get the text as a single string."""
405
+ if len(self._text) != 1:
406
+ self._text[:] = ["".join(self._text)]
407
+ return self._text[0]
408
+
409
+ @plain.setter
410
+ def plain(self, new_text: str) -> None:
411
+ """Set the text to a new value."""
412
+ if new_text != self.plain:
413
+ sanitized_text = strip_control_codes(new_text)
414
+ self._text[:] = [sanitized_text]
415
+ old_length = self._length
416
+ self._length = len(sanitized_text)
417
+ if old_length > self._length:
418
+ self._trim_spans()
419
+
420
+ @property
421
+ def spans(self) -> List[Span]:
422
+ """Get a reference to the internal list of spans."""
423
+ return self._spans
424
+
425
+ @spans.setter
426
+ def spans(self, spans: List[Span]) -> None:
427
+ """Set spans."""
428
+ self._spans = spans[:]
429
+
430
+ def blank_copy(self, plain: str = "") -> "Text":
431
+ """Return a new Text instance with copied metadata (but not the string or spans)."""
432
+ copy_self = Text(
433
+ plain,
434
+ style=self.style,
435
+ justify=self.justify,
436
+ overflow=self.overflow,
437
+ no_wrap=self.no_wrap,
438
+ end=self.end,
439
+ tab_size=self.tab_size,
440
+ )
441
+ return copy_self
442
+
443
+ def copy(self) -> "Text":
444
+ """Return a copy of this instance."""
445
+ copy_self = Text(
446
+ self.plain,
447
+ style=self.style,
448
+ justify=self.justify,
449
+ overflow=self.overflow,
450
+ no_wrap=self.no_wrap,
451
+ end=self.end,
452
+ tab_size=self.tab_size,
453
+ )
454
+ copy_self._spans[:] = self._spans
455
+ return copy_self
456
+
457
+ def stylize(
458
+ self,
459
+ style: Union[str, Style],
460
+ start: int = 0,
461
+ end: Optional[int] = None,
462
+ ) -> None:
463
+ """Apply a style to the text, or a portion of the text.
464
+
465
+ Args:
466
+ style (Union[str, Style]): Style instance or style definition to apply.
467
+ start (int): Start offset (negative indexing is supported). Defaults to 0.
468
+ end (Optional[int], optional): End offset (negative indexing is supported), or None for end of text. Defaults to None.
469
+ """
470
+ if style:
471
+ length = len(self)
472
+ if start < 0:
473
+ start = length + start
474
+ if end is None:
475
+ end = length
476
+ if end < 0:
477
+ end = length + end
478
+ if start >= length or end <= start:
479
+ # Span not in text or not valid
480
+ return
481
+ self._spans.append(Span(start, min(length, end), style))
482
+
483
+ def stylize_before(
484
+ self,
485
+ style: Union[str, Style],
486
+ start: int = 0,
487
+ end: Optional[int] = None,
488
+ ) -> None:
489
+ """Apply a style to the text, or a portion of the text. Styles will be applied before other styles already present.
490
+
491
+ Args:
492
+ style (Union[str, Style]): Style instance or style definition to apply.
493
+ start (int): Start offset (negative indexing is supported). Defaults to 0.
494
+ end (Optional[int], optional): End offset (negative indexing is supported), or None for end of text. Defaults to None.
495
+ """
496
+ if style:
497
+ length = len(self)
498
+ if start < 0:
499
+ start = length + start
500
+ if end is None:
501
+ end = length
502
+ if end < 0:
503
+ end = length + end
504
+ if start >= length or end <= start:
505
+ # Span not in text or not valid
506
+ return
507
+ self._spans.insert(0, Span(start, min(length, end), style))
508
+
509
+ def apply_meta(
510
+ self, meta: Dict[str, Any], start: int = 0, end: Optional[int] = None
511
+ ) -> None:
512
+ """Apply metadata to the text, or a portion of the text.
513
+
514
+ Args:
515
+ meta (Dict[str, Any]): A dict of meta information.
516
+ start (int): Start offset (negative indexing is supported). Defaults to 0.
517
+ end (Optional[int], optional): End offset (negative indexing is supported), or None for end of text. Defaults to None.
518
+
519
+ """
520
+ style = Style.from_meta(meta)
521
+ self.stylize(style, start=start, end=end)
522
+
523
+ def on(self, meta: Optional[Dict[str, Any]] = None, **handlers: Any) -> "Text":
524
+ """Apply event handlers (used by Textual project).
525
+
526
+ Example:
527
+ >>> from rich.text import Text
528
+ >>> text = Text("hello world")
529
+ >>> text.on(click="view.toggle('world')")
530
+
531
+ Args:
532
+ meta (Dict[str, Any]): Mapping of meta information.
533
+ **handlers: Keyword args are prefixed with "@" to defined handlers.
534
+
535
+ Returns:
536
+ Text: Self is returned to method may be chained.
537
+ """
538
+ meta = {} if meta is None else meta
539
+ meta.update({f"@{key}": value for key, value in handlers.items()})
540
+ self.stylize(Style.from_meta(meta))
541
+ return self
542
+
543
+ def remove_suffix(self, suffix: str) -> None:
544
+ """Remove a suffix if it exists.
545
+
546
+ Args:
547
+ suffix (str): Suffix to remove.
548
+ """
549
+ if self.plain.endswith(suffix):
550
+ self.right_crop(len(suffix))
551
+
552
+ def get_style_at_offset(self, console: "Console", offset: int) -> Style:
553
+ """Get the style of a character at give offset.
554
+
555
+ Args:
556
+ console (~Console): Console where text will be rendered.
557
+ offset (int): Offset in to text (negative indexing supported)
558
+
559
+ Returns:
560
+ Style: A Style instance.
561
+ """
562
+ # TODO: This is a little inefficient, it is only used by full justify
563
+ if offset < 0:
564
+ offset = len(self) + offset
565
+ get_style = console.get_style
566
+ style = get_style(self.style).copy()
567
+ for start, end, span_style in self._spans:
568
+ if end > offset >= start:
569
+ style += get_style(span_style, default="")
570
+ return style
571
+
572
+ def extend_style(self, spaces: int) -> None:
573
+ """Extend the Text given number of spaces where the spaces have the same style as the last character.
574
+
575
+ Args:
576
+ spaces (int): Number of spaces to add to the Text.
577
+ """
578
+ if spaces <= 0:
579
+ return
580
+ spans = self.spans
581
+ new_spaces = " " * spaces
582
+ if spans:
583
+ end_offset = len(self)
584
+ self._spans[:] = [
585
+ span.extend(spaces) if span.end >= end_offset else span
586
+ for span in spans
587
+ ]
588
+ self._text.append(new_spaces)
589
+ self._length += spaces
590
+ else:
591
+ self.plain += new_spaces
592
+
593
+ def highlight_regex(
594
+ self,
595
+ re_highlight: Union[Pattern[str], str],
596
+ style: Optional[Union[GetStyleCallable, StyleType]] = None,
597
+ *,
598
+ style_prefix: str = "",
599
+ ) -> int:
600
+ """Highlight text with a regular expression, where group names are
601
+ translated to styles.
602
+
603
+ Args:
604
+ re_highlight (Union[re.Pattern, str]): A regular expression object or string.
605
+ style (Union[GetStyleCallable, StyleType]): Optional style to apply to whole match, or a callable
606
+ which accepts the matched text and returns a style. Defaults to None.
607
+ style_prefix (str, optional): Optional prefix to add to style group names.
608
+
609
+ Returns:
610
+ int: Number of regex matches
611
+ """
612
+ count = 0
613
+ append_span = self._spans.append
614
+ _Span = Span
615
+ plain = self.plain
616
+ if isinstance(re_highlight, str):
617
+ re_highlight = re.compile(re_highlight)
618
+ for match in re_highlight.finditer(plain):
619
+ get_span = match.span
620
+ if style:
621
+ start, end = get_span()
622
+ match_style = style(plain[start:end]) if callable(style) else style
623
+ if match_style is not None and end > start:
624
+ append_span(_Span(start, end, match_style))
625
+
626
+ count += 1
627
+ for name in match.groupdict().keys():
628
+ start, end = get_span(name)
629
+ if start != -1 and end > start:
630
+ append_span(_Span(start, end, f"{style_prefix}{name}"))
631
+ return count
632
+
633
+ def highlight_words(
634
+ self,
635
+ words: Iterable[str],
636
+ style: Union[str, Style],
637
+ *,
638
+ case_sensitive: bool = True,
639
+ ) -> int:
640
+ """Highlight words with a style.
641
+
642
+ Args:
643
+ words (Iterable[str]): Words to highlight.
644
+ style (Union[str, Style]): Style to apply.
645
+ case_sensitive (bool, optional): Enable case sensitive matching. Defaults to True.
646
+
647
+ Returns:
648
+ int: Number of words highlighted.
649
+ """
650
+ re_words = "|".join(re.escape(word) for word in words)
651
+ add_span = self._spans.append
652
+ count = 0
653
+ _Span = Span
654
+ for match in re.finditer(
655
+ re_words, self.plain, flags=0 if case_sensitive else re.IGNORECASE
656
+ ):
657
+ start, end = match.span(0)
658
+ add_span(_Span(start, end, style))
659
+ count += 1
660
+ return count
661
+
662
+ def rstrip(self) -> None:
663
+ """Strip whitespace from end of text."""
664
+ self.plain = self.plain.rstrip()
665
+
666
+ def rstrip_end(self, size: int) -> None:
667
+ """Remove whitespace beyond a certain width at the end of the text.
668
+
669
+ Args:
670
+ size (int): The desired size of the text.
671
+ """
672
+ text_length = len(self)
673
+ if text_length > size:
674
+ excess = text_length - size
675
+ whitespace_match = _re_whitespace.search(self.plain)
676
+ if whitespace_match is not None:
677
+ whitespace_count = len(whitespace_match.group(0))
678
+ self.right_crop(min(whitespace_count, excess))
679
+
680
+ def set_length(self, new_length: int) -> None:
681
+ """Set new length of the text, clipping or padding is required."""
682
+ length = len(self)
683
+ if length != new_length:
684
+ if length < new_length:
685
+ self.pad_right(new_length - length)
686
+ else:
687
+ self.right_crop(length - new_length)
688
+
689
+ def __rich_console__(
690
+ self, console: "Console", options: "ConsoleOptions"
691
+ ) -> Iterable[Segment]:
692
+ tab_size: int = console.tab_size if self.tab_size is None else self.tab_size
693
+ justify = self.justify or options.justify or DEFAULT_JUSTIFY
694
+
695
+ overflow = self.overflow or options.overflow or DEFAULT_OVERFLOW
696
+
697
+ lines = self.wrap(
698
+ console,
699
+ options.max_width,
700
+ justify=justify,
701
+ overflow=overflow,
702
+ tab_size=tab_size or 8,
703
+ no_wrap=pick_bool(self.no_wrap, options.no_wrap, False),
704
+ )
705
+ all_lines = Text("\n").join(lines)
706
+ yield from all_lines.render(console, end=self.end)
707
+
708
+ def __rich_measure__(
709
+ self, console: "Console", options: "ConsoleOptions"
710
+ ) -> Measurement:
711
+ text = self.plain
712
+ lines = text.splitlines()
713
+ max_text_width = max(cell_len(line) for line in lines) if lines else 0
714
+ words = text.split()
715
+ min_text_width = (
716
+ max(cell_len(word) for word in words) if words else max_text_width
717
+ )
718
+ return Measurement(min_text_width, max_text_width)
719
+
720
+ def render(self, console: "Console", end: str = "") -> Iterable["Segment"]:
721
+ """Render the text as Segments.
722
+
723
+ Args:
724
+ console (Console): Console instance.
725
+ end (Optional[str], optional): Optional end character.
726
+
727
+ Returns:
728
+ Iterable[Segment]: Result of render that may be written to the console.
729
+ """
730
+ _Segment = Segment
731
+ text = self.plain
732
+ if not self._spans:
733
+ yield Segment(text)
734
+ if end:
735
+ yield _Segment(end)
736
+ return
737
+ get_style = partial(console.get_style, default=Style.null())
738
+
739
+ enumerated_spans = list(enumerate(self._spans, 1))
740
+ style_map = {index: get_style(span.style) for index, span in enumerated_spans}
741
+ style_map[0] = get_style(self.style)
742
+
743
+ spans = [
744
+ (0, False, 0),
745
+ *((span.start, False, index) for index, span in enumerated_spans),
746
+ *((span.end, True, index) for index, span in enumerated_spans),
747
+ (len(text), True, 0),
748
+ ]
749
+ spans.sort(key=itemgetter(0, 1))
750
+
751
+ stack: List[int] = []
752
+ stack_append = stack.append
753
+ stack_pop = stack.remove
754
+
755
+ style_cache: Dict[Tuple[Style, ...], Style] = {}
756
+ style_cache_get = style_cache.get
757
+ combine = Style.combine
758
+
759
+ def get_current_style() -> Style:
760
+ """Construct current style from stack."""
761
+ styles = tuple(style_map[_style_id] for _style_id in sorted(stack))
762
+ cached_style = style_cache_get(styles)
763
+ if cached_style is not None:
764
+ return cached_style
765
+ current_style = combine(styles)
766
+ style_cache[styles] = current_style
767
+ return current_style
768
+
769
+ for (offset, leaving, style_id), (next_offset, _, _) in zip(spans, spans[1:]):
770
+ if leaving:
771
+ stack_pop(style_id)
772
+ else:
773
+ stack_append(style_id)
774
+ if next_offset > offset:
775
+ yield _Segment(text[offset:next_offset], get_current_style())
776
+ if end:
777
+ yield _Segment(end)
778
+
779
+ def join(self, lines: Iterable["Text"]) -> "Text":
780
+ """Join text together with this instance as the separator.
781
+
782
+ Args:
783
+ lines (Iterable[Text]): An iterable of Text instances to join.
784
+
785
+ Returns:
786
+ Text: A new text instance containing join text.
787
+ """
788
+
789
+ new_text = self.blank_copy()
790
+
791
+ def iter_text() -> Iterable["Text"]:
792
+ if self.plain:
793
+ for last, line in loop_last(lines):
794
+ yield line
795
+ if not last:
796
+ yield self
797
+ else:
798
+ yield from lines
799
+
800
+ extend_text = new_text._text.extend
801
+ append_span = new_text._spans.append
802
+ extend_spans = new_text._spans.extend
803
+ offset = 0
804
+ _Span = Span
805
+
806
+ for text in iter_text():
807
+ extend_text(text._text)
808
+ if text.style:
809
+ append_span(_Span(offset, offset + len(text), text.style))
810
+ extend_spans(
811
+ _Span(offset + start, offset + end, style)
812
+ for start, end, style in text._spans
813
+ )
814
+ offset += len(text)
815
+ new_text._length = offset
816
+ return new_text
817
+
818
+ def expand_tabs(self, tab_size: Optional[int] = None) -> None:
819
+ """Converts tabs to spaces.
820
+
821
+ Args:
822
+ tab_size (int, optional): Size of tabs. Defaults to 8.
823
+
824
+ """
825
+ if "\t" not in self.plain:
826
+ return
827
+ if tab_size is None:
828
+ tab_size = self.tab_size
829
+ if tab_size is None:
830
+ tab_size = 8
831
+
832
+ new_text: List[Text] = []
833
+ append = new_text.append
834
+
835
+ for line in self.split("\n", include_separator=True):
836
+ if "\t" not in line.plain:
837
+ append(line)
838
+ else:
839
+ cell_position = 0
840
+ parts = line.split("\t", include_separator=True)
841
+ for part in parts:
842
+ if part.plain.endswith("\t"):
843
+ part._text[-1] = part._text[-1][:-1] + " "
844
+ cell_position += part.cell_len
845
+ tab_remainder = cell_position % tab_size
846
+ if tab_remainder:
847
+ spaces = tab_size - tab_remainder
848
+ part.extend_style(spaces)
849
+ cell_position += spaces
850
+ else:
851
+ cell_position += part.cell_len
852
+ append(part)
853
+
854
+ result = Text("").join(new_text)
855
+
856
+ self._text = [result.plain]
857
+ self._length = len(self.plain)
858
+ self._spans[:] = result._spans
859
+
860
+ def truncate(
861
+ self,
862
+ max_width: int,
863
+ *,
864
+ overflow: Optional["OverflowMethod"] = None,
865
+ pad: bool = False,
866
+ ) -> None:
867
+ """Truncate text if it is longer that a given width.
868
+
869
+ Args:
870
+ max_width (int): Maximum number of characters in text.
871
+ overflow (str, optional): Overflow method: "crop", "fold", or "ellipsis". Defaults to None, to use self.overflow.
872
+ pad (bool, optional): Pad with spaces if the length is less than max_width. Defaults to False.
873
+ """
874
+ _overflow = overflow or self.overflow or DEFAULT_OVERFLOW
875
+ if _overflow != "ignore":
876
+ length = cell_len(self.plain)
877
+ if length > max_width:
878
+ if _overflow == "ellipsis":
879
+ self.plain = set_cell_size(self.plain, max_width - 1) + "…"
880
+ else:
881
+ self.plain = set_cell_size(self.plain, max_width)
882
+ if pad and length < max_width:
883
+ spaces = max_width - length
884
+ self._text = [f"{self.plain}{' ' * spaces}"]
885
+ self._length = len(self.plain)
886
+
887
+ def _trim_spans(self) -> None:
888
+ """Remove or modify any spans that are over the end of the text."""
889
+ max_offset = len(self.plain)
890
+ _Span = Span
891
+ self._spans[:] = [
892
+ (
893
+ span
894
+ if span.end < max_offset
895
+ else _Span(span.start, min(max_offset, span.end), span.style)
896
+ )
897
+ for span in self._spans
898
+ if span.start < max_offset
899
+ ]
900
+
901
+ def pad(self, count: int, character: str = " ") -> None:
902
+ """Pad left and right with a given number of characters.
903
+
904
+ Args:
905
+ count (int): Width of padding.
906
+ character (str): The character to pad with. Must be a string of length 1.
907
+ """
908
+ assert len(character) == 1, "Character must be a string of length 1"
909
+ if count:
910
+ pad_characters = character * count
911
+ self.plain = f"{pad_characters}{self.plain}{pad_characters}"
912
+ _Span = Span
913
+ self._spans[:] = [
914
+ _Span(start + count, end + count, style)
915
+ for start, end, style in self._spans
916
+ ]
917
+
918
+ def pad_left(self, count: int, character: str = " ") -> None:
919
+ """Pad the left with a given character.
920
+
921
+ Args:
922
+ count (int): Number of characters to pad.
923
+ character (str, optional): Character to pad with. Defaults to " ".
924
+ """
925
+ assert len(character) == 1, "Character must be a string of length 1"
926
+ if count:
927
+ self.plain = f"{character * count}{self.plain}"
928
+ _Span = Span
929
+ self._spans[:] = [
930
+ _Span(start + count, end + count, style)
931
+ for start, end, style in self._spans
932
+ ]
933
+
934
+ def pad_right(self, count: int, character: str = " ") -> None:
935
+ """Pad the right with a given character.
936
+
937
+ Args:
938
+ count (int): Number of characters to pad.
939
+ character (str, optional): Character to pad with. Defaults to " ".
940
+ """
941
+ assert len(character) == 1, "Character must be a string of length 1"
942
+ if count:
943
+ self.plain = f"{self.plain}{character * count}"
944
+
945
+ def align(self, align: AlignMethod, width: int, character: str = " ") -> None:
946
+ """Align text to a given width.
947
+
948
+ Args:
949
+ align (AlignMethod): One of "left", "center", or "right".
950
+ width (int): Desired width.
951
+ character (str, optional): Character to pad with. Defaults to " ".
952
+ """
953
+ self.truncate(width)
954
+ excess_space = width - cell_len(self.plain)
955
+ if excess_space:
956
+ if align == "left":
957
+ self.pad_right(excess_space, character)
958
+ elif align == "center":
959
+ left = excess_space // 2
960
+ self.pad_left(left, character)
961
+ self.pad_right(excess_space - left, character)
962
+ else:
963
+ self.pad_left(excess_space, character)
964
+
965
+ def append(
966
+ self, text: Union["Text", str], style: Optional[Union[str, "Style"]] = None
967
+ ) -> "Text":
968
+ """Add text with an optional style.
969
+
970
+ Args:
971
+ text (Union[Text, str]): A str or Text to append.
972
+ style (str, optional): A style name. Defaults to None.
973
+
974
+ Returns:
975
+ Text: Returns self for chaining.
976
+ """
977
+
978
+ if not isinstance(text, (str, Text)):
979
+ raise TypeError("Only str or Text can be appended to Text")
980
+
981
+ if len(text):
982
+ if isinstance(text, str):
983
+ sanitized_text = strip_control_codes(text)
984
+ self._text.append(sanitized_text)
985
+ offset = len(self)
986
+ text_length = len(sanitized_text)
987
+ if style:
988
+ self._spans.append(Span(offset, offset + text_length, style))
989
+ self._length += text_length
990
+ elif isinstance(text, Text):
991
+ _Span = Span
992
+ if style is not None:
993
+ raise ValueError(
994
+ "style must not be set when appending Text instance"
995
+ )
996
+ text_length = self._length
997
+ if text.style:
998
+ self._spans.append(
999
+ _Span(text_length, text_length + len(text), text.style)
1000
+ )
1001
+ self._text.append(text.plain)
1002
+ self._spans.extend(
1003
+ _Span(start + text_length, end + text_length, style)
1004
+ for start, end, style in text._spans.copy()
1005
+ )
1006
+ self._length += len(text)
1007
+ return self
1008
+
1009
+ def append_text(self, text: "Text") -> "Text":
1010
+ """Append another Text instance. This method is more performant that Text.append, but
1011
+ only works for Text.
1012
+
1013
+ Args:
1014
+ text (Text): The Text instance to append to this instance.
1015
+
1016
+ Returns:
1017
+ Text: Returns self for chaining.
1018
+ """
1019
+ _Span = Span
1020
+ text_length = self._length
1021
+ if text.style:
1022
+ self._spans.append(_Span(text_length, text_length + len(text), text.style))
1023
+ self._text.append(text.plain)
1024
+ self._spans.extend(
1025
+ _Span(start + text_length, end + text_length, style)
1026
+ for start, end, style in text._spans.copy()
1027
+ )
1028
+ self._length += len(text)
1029
+ return self
1030
+
1031
+ def append_tokens(
1032
+ self, tokens: Iterable[Tuple[str, Optional[StyleType]]]
1033
+ ) -> "Text":
1034
+ """Append iterable of str and style. Style may be a Style instance or a str style definition.
1035
+
1036
+ Args:
1037
+ tokens (Iterable[Tuple[str, Optional[StyleType]]]): An iterable of tuples containing str content and style.
1038
+
1039
+ Returns:
1040
+ Text: Returns self for chaining.
1041
+ """
1042
+ append_text = self._text.append
1043
+ append_span = self._spans.append
1044
+ _Span = Span
1045
+ offset = len(self)
1046
+ for content, style in tokens:
1047
+ content = strip_control_codes(content)
1048
+ append_text(content)
1049
+ if style:
1050
+ append_span(_Span(offset, offset + len(content), style))
1051
+ offset += len(content)
1052
+ self._length = offset
1053
+ return self
1054
+
1055
+ def copy_styles(self, text: "Text") -> None:
1056
+ """Copy styles from another Text instance.
1057
+
1058
+ Args:
1059
+ text (Text): A Text instance to copy styles from, must be the same length.
1060
+ """
1061
+ self._spans.extend(text._spans)
1062
+
1063
+ def split(
1064
+ self,
1065
+ separator: str = "\n",
1066
+ *,
1067
+ include_separator: bool = False,
1068
+ allow_blank: bool = False,
1069
+ ) -> Lines:
1070
+ """Split rich text in to lines, preserving styles.
1071
+
1072
+ Args:
1073
+ separator (str, optional): String to split on. Defaults to "\\\\n".
1074
+ include_separator (bool, optional): Include the separator in the lines. Defaults to False.
1075
+ allow_blank (bool, optional): Return a blank line if the text ends with a separator. Defaults to False.
1076
+
1077
+ Returns:
1078
+ List[RichText]: A list of rich text, one per line of the original.
1079
+ """
1080
+ assert separator, "separator must not be empty"
1081
+
1082
+ text = self.plain
1083
+ if separator not in text:
1084
+ return Lines([self.copy()])
1085
+
1086
+ if include_separator:
1087
+ lines = self.divide(
1088
+ match.end() for match in re.finditer(re.escape(separator), text)
1089
+ )
1090
+ else:
1091
+
1092
+ def flatten_spans() -> Iterable[int]:
1093
+ for match in re.finditer(re.escape(separator), text):
1094
+ start, end = match.span()
1095
+ yield start
1096
+ yield end
1097
+
1098
+ lines = Lines(
1099
+ line for line in self.divide(flatten_spans()) if line.plain != separator
1100
+ )
1101
+
1102
+ if not allow_blank and text.endswith(separator):
1103
+ lines.pop()
1104
+
1105
+ return lines
1106
+
1107
+ def divide(self, offsets: Iterable[int]) -> Lines:
1108
+ """Divide text in to a number of lines at given offsets.
1109
+
1110
+ Args:
1111
+ offsets (Iterable[int]): Offsets used to divide text.
1112
+
1113
+ Returns:
1114
+ Lines: New RichText instances between offsets.
1115
+ """
1116
+ _offsets = list(offsets)
1117
+
1118
+ if not _offsets:
1119
+ return Lines([self.copy()])
1120
+
1121
+ text = self.plain
1122
+ text_length = len(text)
1123
+ divide_offsets = [0, *_offsets, text_length]
1124
+ line_ranges = list(zip(divide_offsets, divide_offsets[1:]))
1125
+
1126
+ style = self.style
1127
+ justify = self.justify
1128
+ overflow = self.overflow
1129
+ _Text = Text
1130
+ new_lines = Lines(
1131
+ _Text(
1132
+ text[start:end],
1133
+ style=style,
1134
+ justify=justify,
1135
+ overflow=overflow,
1136
+ )
1137
+ for start, end in line_ranges
1138
+ )
1139
+ if not self._spans:
1140
+ return new_lines
1141
+
1142
+ _line_appends = [line._spans.append for line in new_lines._lines]
1143
+ line_count = len(line_ranges)
1144
+ _Span = Span
1145
+
1146
+ for span_start, span_end, style in self._spans:
1147
+ lower_bound = 0
1148
+ upper_bound = line_count
1149
+ start_line_no = (lower_bound + upper_bound) // 2
1150
+
1151
+ while True:
1152
+ line_start, line_end = line_ranges[start_line_no]
1153
+ if span_start < line_start:
1154
+ upper_bound = start_line_no - 1
1155
+ elif span_start > line_end:
1156
+ lower_bound = start_line_no + 1
1157
+ else:
1158
+ break
1159
+ start_line_no = (lower_bound + upper_bound) // 2
1160
+
1161
+ if span_end < line_end:
1162
+ end_line_no = start_line_no
1163
+ else:
1164
+ end_line_no = lower_bound = start_line_no
1165
+ upper_bound = line_count
1166
+
1167
+ while True:
1168
+ line_start, line_end = line_ranges[end_line_no]
1169
+ if span_end < line_start:
1170
+ upper_bound = end_line_no - 1
1171
+ elif span_end > line_end:
1172
+ lower_bound = end_line_no + 1
1173
+ else:
1174
+ break
1175
+ end_line_no = (lower_bound + upper_bound) // 2
1176
+
1177
+ for line_no in range(start_line_no, end_line_no + 1):
1178
+ line_start, line_end = line_ranges[line_no]
1179
+ new_start = max(0, span_start - line_start)
1180
+ new_end = min(span_end - line_start, line_end - line_start)
1181
+ if new_end > new_start:
1182
+ _line_appends[line_no](_Span(new_start, new_end, style))
1183
+
1184
+ return new_lines
1185
+
1186
+ def right_crop(self, amount: int = 1) -> None:
1187
+ """Remove a number of characters from the end of the text."""
1188
+ max_offset = len(self.plain) - amount
1189
+ _Span = Span
1190
+ self._spans[:] = [
1191
+ (
1192
+ span
1193
+ if span.end < max_offset
1194
+ else _Span(span.start, min(max_offset, span.end), span.style)
1195
+ )
1196
+ for span in self._spans
1197
+ if span.start < max_offset
1198
+ ]
1199
+ self._text = [self.plain[:-amount]]
1200
+ self._length -= amount
1201
+
1202
+ def wrap(
1203
+ self,
1204
+ console: "Console",
1205
+ width: int,
1206
+ *,
1207
+ justify: Optional["JustifyMethod"] = None,
1208
+ overflow: Optional["OverflowMethod"] = None,
1209
+ tab_size: int = 8,
1210
+ no_wrap: Optional[bool] = None,
1211
+ ) -> Lines:
1212
+ """Word wrap the text.
1213
+
1214
+ Args:
1215
+ console (Console): Console instance.
1216
+ width (int): Number of cells available per line.
1217
+ justify (str, optional): Justify method: "default", "left", "center", "full", "right". Defaults to "default".
1218
+ overflow (str, optional): Overflow method: "crop", "fold", or "ellipsis". Defaults to None.
1219
+ tab_size (int, optional): Default tab size. Defaults to 8.
1220
+ no_wrap (bool, optional): Disable wrapping, Defaults to False.
1221
+
1222
+ Returns:
1223
+ Lines: Number of lines.
1224
+ """
1225
+ wrap_justify = justify or self.justify or DEFAULT_JUSTIFY
1226
+ wrap_overflow = overflow or self.overflow or DEFAULT_OVERFLOW
1227
+
1228
+ no_wrap = pick_bool(no_wrap, self.no_wrap, False) or overflow == "ignore"
1229
+
1230
+ lines = Lines()
1231
+ for line in self.split(allow_blank=True):
1232
+ if "\t" in line:
1233
+ line.expand_tabs(tab_size)
1234
+ if no_wrap:
1235
+ new_lines = Lines([line])
1236
+ else:
1237
+ offsets = divide_line(str(line), width, fold=wrap_overflow == "fold")
1238
+ new_lines = line.divide(offsets)
1239
+ for line in new_lines:
1240
+ line.rstrip_end(width)
1241
+ if wrap_justify:
1242
+ new_lines.justify(
1243
+ console, width, justify=wrap_justify, overflow=wrap_overflow
1244
+ )
1245
+ for line in new_lines:
1246
+ line.truncate(width, overflow=wrap_overflow)
1247
+ lines.extend(new_lines)
1248
+ return lines
1249
+
1250
+ def fit(self, width: int) -> Lines:
1251
+ """Fit the text in to given width by chopping in to lines.
1252
+
1253
+ Args:
1254
+ width (int): Maximum characters in a line.
1255
+
1256
+ Returns:
1257
+ Lines: Lines container.
1258
+ """
1259
+ lines: Lines = Lines()
1260
+ append = lines.append
1261
+ for line in self.split():
1262
+ line.set_length(width)
1263
+ append(line)
1264
+ return lines
1265
+
1266
+ def detect_indentation(self) -> int:
1267
+ """Auto-detect indentation of code.
1268
+
1269
+ Returns:
1270
+ int: Number of spaces used to indent code.
1271
+ """
1272
+
1273
+ _indentations = {
1274
+ len(match.group(1))
1275
+ for match in re.finditer(r"^( *)(.*)$", self.plain, flags=re.MULTILINE)
1276
+ }
1277
+
1278
+ try:
1279
+ indentation = (
1280
+ reduce(gcd, [indent for indent in _indentations if not indent % 2]) or 1
1281
+ )
1282
+ except TypeError:
1283
+ indentation = 1
1284
+
1285
+ return indentation
1286
+
1287
+ def with_indent_guides(
1288
+ self,
1289
+ indent_size: Optional[int] = None,
1290
+ *,
1291
+ character: str = "│",
1292
+ style: StyleType = "dim green",
1293
+ ) -> "Text":
1294
+ """Adds indent guide lines to text.
1295
+
1296
+ Args:
1297
+ indent_size (Optional[int]): Size of indentation, or None to auto detect. Defaults to None.
1298
+ character (str, optional): Character to use for indentation. Defaults to "│".
1299
+ style (Union[Style, str], optional): Style of indent guides.
1300
+
1301
+ Returns:
1302
+ Text: New text with indentation guides.
1303
+ """
1304
+
1305
+ _indent_size = self.detect_indentation() if indent_size is None else indent_size
1306
+
1307
+ text = self.copy()
1308
+ text.expand_tabs()
1309
+ indent_line = f"{character}{' ' * (_indent_size - 1)}"
1310
+
1311
+ re_indent = re.compile(r"^( *)(.*)$")
1312
+ new_lines: List[Text] = []
1313
+ add_line = new_lines.append
1314
+ blank_lines = 0
1315
+ for line in text.split(allow_blank=True):
1316
+ match = re_indent.match(line.plain)
1317
+ if not match or not match.group(2):
1318
+ blank_lines += 1
1319
+ continue
1320
+ indent = match.group(1)
1321
+ full_indents, remaining_space = divmod(len(indent), _indent_size)
1322
+ new_indent = f"{indent_line * full_indents}{' ' * remaining_space}"
1323
+ line.plain = new_indent + line.plain[len(new_indent) :]
1324
+ line.stylize(style, 0, len(new_indent))
1325
+ if blank_lines:
1326
+ new_lines.extend([Text(new_indent, style=style)] * blank_lines)
1327
+ blank_lines = 0
1328
+ add_line(line)
1329
+ if blank_lines:
1330
+ new_lines.extend([Text("", style=style)] * blank_lines)
1331
+
1332
+ new_text = text.blank_copy("\n").join(new_lines)
1333
+ return new_text
1334
+
1335
+
1336
+ if __name__ == "__main__": # pragma: no cover
1337
+ from pip._vendor.rich.console import Console
1338
+
1339
+ text = Text(
1340
+ """\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n"""
1341
+ )
1342
+ text.highlight_words(["Lorem"], "bold")
1343
+ text.highlight_words(["ipsum"], "italic")
1344
+
1345
+ console = Console()
1346
+
1347
+ console.rule("justify='left'")
1348
+ console.print(text, style="red")
1349
+ console.print()
1350
+
1351
+ console.rule("justify='center'")
1352
+ console.print(text, style="green", justify="center")
1353
+ console.print()
1354
+
1355
+ console.rule("justify='right'")
1356
+ console.print(text, style="blue", justify="right")
1357
+ console.print()
1358
+
1359
+ console.rule("justify='full'")
1360
+ console.print(text, style="magenta", justify="full")
1361
+ console.print()