man-spider 1.1.1__tar.gz → 2.0.0__tar.gz

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 (1304) hide show
  1. man_spider-2.0.0/.claude/settings.local.json +21 -0
  2. man_spider-2.0.0/.github/dependabot.yml +23 -0
  3. man_spider-2.0.0/.github/workflows/tests.yml +39 -0
  4. man_spider-2.0.0/.kreuzberg/mime/187d2a512b24066d.msgpack +1 -0
  5. man_spider-2.0.0/.kreuzberg/mime/4587374f7aa424a4.msgpack +1 -0
  6. man_spider-2.0.0/.kreuzberg/mime/4ea6c5279bb0ec7a.msgpack +1 -0
  7. man_spider-2.0.0/.kreuzberg/mime/7897c220d66bc1f7.msgpack +1 -0
  8. man_spider-2.0.0/.kreuzberg/ocr/0041334e5f59f653.msgpack +0 -0
  9. man_spider-2.0.0/.kreuzberg/ocr/0cbfa63cad1c2848.msgpack +0 -0
  10. man_spider-2.0.0/.kreuzberg/ocr/156484bd65eaeed6.msgpack +0 -0
  11. man_spider-2.0.0/.kreuzberg/ocr/2575053167b776f4.msgpack +0 -0
  12. man_spider-2.0.0/.kreuzberg/ocr/295dfc898ffa5972.msgpack +0 -0
  13. man_spider-2.0.0/.kreuzberg/ocr/51fe93fdf7ced0dd.msgpack +0 -0
  14. man_spider-2.0.0/.kreuzberg/ocr/548c7de61895857c.msgpack +0 -0
  15. man_spider-2.0.0/.kreuzberg/ocr/54cf7013651b3d28.msgpack +0 -0
  16. man_spider-2.0.0/.kreuzberg/ocr/6fa03e996fd35263.msgpack +0 -0
  17. man_spider-2.0.0/.kreuzberg/ocr/9a9dfcf8191238cb.msgpack +0 -0
  18. man_spider-2.0.0/.kreuzberg/ocr/b80436d83049bb5a.msgpack +0 -0
  19. man_spider-2.0.0/.kreuzberg/ocr/be7ffb2b29cb43ee.msgpack +0 -0
  20. man_spider-2.0.0/.kreuzberg/ocr/ebcc0851c39d5b74.msgpack +0 -0
  21. man_spider-2.0.0/.kreuzberg/ocr/f1a8fca722be8cfb.msgpack +0 -0
  22. man_spider-2.0.0/.kreuzberg/ocr/ffbed6aca0e7288b.msgpack +0 -0
  23. man_spider-2.0.0/Dockerfile +26 -0
  24. man_spider-1.1.1/README.md → man_spider-2.0.0/PKG-INFO +107 -27
  25. man_spider-2.0.0/PLAN-smb-integration-test.md +324 -0
  26. man_spider-1.1.1/PKG-INFO → man_spider-2.0.0/README.md +91 -49
  27. man_spider-2.0.0/kreuzberg-python-bindings-README.md +1013 -0
  28. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/errors.py +8 -4
  29. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/file.py +16 -19
  30. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/logger.py +27 -32
  31. man_spider-2.0.0/man_spider/lib/parser/__init__.py +1 -0
  32. man_spider-2.0.0/man_spider/lib/parser/parser.py +212 -0
  33. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/processpool.py +24 -31
  34. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/smb.py +71 -63
  35. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/spider.py +69 -70
  36. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/spiderling.py +188 -141
  37. man_spider-2.0.0/man_spider/lib/util.py +208 -0
  38. man_spider-2.0.0/man_spider/manspider.py +303 -0
  39. man_spider-2.0.0/manspider.sh +1 -0
  40. man_spider-2.0.0/pyproject.toml +38 -0
  41. man_spider-2.0.0/testdata/test-ascii.txt +1 -0
  42. man_spider-2.0.0/testdata/test-binary-end.bin +0 -0
  43. man_spider-2.0.0/testdata/test-binary-large.bin +0 -0
  44. man_spider-2.0.0/testdata/test-binary-medium.bin +0 -0
  45. man_spider-2.0.0/testdata/test-binary-small.bin +0 -0
  46. man_spider-2.0.0/testdata/test-binary-start.bin +0 -0
  47. man_spider-2.0.0/testdata/test-cp1252.txt +1 -0
  48. man_spider-2.0.0/testdata/test-latin1.txt +1 -0
  49. man_spider-2.0.0/testdata/test-utf16-bom.txt +0 -0
  50. man_spider-2.0.0/testdata/test-utf16be.txt +0 -0
  51. man_spider-2.0.0/testdata/test-utf16le.txt +0 -0
  52. man_spider-2.0.0/testdata/test-utf8-bom.txt +1 -0
  53. man_spider-2.0.0/testdata/test-utf8.txt +1 -0
  54. man_spider-2.0.0/testdata/test.doc +0 -0
  55. man_spider-2.0.0/testdata/test.docx +0 -0
  56. man_spider-2.0.0/testdata/test.pdf +0 -0
  57. man_spider-2.0.0/testdata/test.png +0 -0
  58. man_spider-2.0.0/testdata/test.xls +0 -0
  59. man_spider-2.0.0/testdata/test.xlsx +0 -0
  60. man_spider-2.0.0/tests/test_kreuzberg.py +50 -0
  61. man_spider-2.0.0/tests/test_smb_integration.py +335 -0
  62. man_spider-2.0.0/uv/.cargo/config.toml +9 -0
  63. man_spider-2.0.0/uv/.claude/hooks/post-edit-format.py +77 -0
  64. man_spider-2.0.0/uv/.claude/hooks/session-start-web.sh +16 -0
  65. man_spider-2.0.0/uv/.claude/hooks/session-start.sh +7 -0
  66. man_spider-2.0.0/uv/.claude/settings.json +26 -0
  67. man_spider-2.0.0/uv/.config/nextest.toml +56 -0
  68. man_spider-2.0.0/uv/.editorconfig +23 -0
  69. man_spider-2.0.0/uv/.gitattributes +4 -0
  70. man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/1_bug_report.yaml +43 -0
  71. man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/2_feature_request.yaml +23 -0
  72. man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/3_question.yaml +31 -0
  73. man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/config.yml +8 -0
  74. man_spider-2.0.0/uv/.github/PULL_REQUEST_TEMPLATE.md +15 -0
  75. man_spider-2.0.0/uv/.github/renovate.json5 +179 -0
  76. man_spider-2.0.0/uv/.github/workflows/bench.yml +135 -0
  77. man_spider-2.0.0/uv/.github/workflows/build-dev-binaries.yml +302 -0
  78. man_spider-2.0.0/uv/.github/workflows/build-docker.yml +428 -0
  79. man_spider-2.0.0/uv/.github/workflows/build-release-binaries.yml +1095 -0
  80. man_spider-2.0.0/uv/.github/workflows/check-docs.yml +31 -0
  81. man_spider-2.0.0/uv/.github/workflows/check-fmt.yml +38 -0
  82. man_spider-2.0.0/uv/.github/workflows/check-generated-files.yml +38 -0
  83. man_spider-2.0.0/uv/.github/workflows/check-lint.yml +165 -0
  84. man_spider-2.0.0/uv/.github/workflows/check-publish.yml +25 -0
  85. man_spider-2.0.0/uv/.github/workflows/check-release.yml +24 -0
  86. man_spider-2.0.0/uv/.github/workflows/check-zizmor.yml +16 -0
  87. man_spider-2.0.0/uv/.github/workflows/ci.yml +400 -0
  88. man_spider-2.0.0/uv/.github/workflows/publish-crates.yml +33 -0
  89. man_spider-2.0.0/uv/.github/workflows/publish-docs.yml +139 -0
  90. man_spider-2.0.0/uv/.github/workflows/publish-pypi.yml +49 -0
  91. man_spider-2.0.0/uv/.github/workflows/publish-versions.yml +75 -0
  92. man_spider-2.0.0/uv/.github/workflows/release.yml +309 -0
  93. man_spider-2.0.0/uv/.github/workflows/setup-dev-drive.ps1 +92 -0
  94. man_spider-2.0.0/uv/.github/workflows/sync-python-releases.yml +59 -0
  95. man_spider-2.0.0/uv/.github/workflows/test-ecosystem.yml +65 -0
  96. man_spider-2.0.0/uv/.github/workflows/test-integration.yml +1006 -0
  97. man_spider-2.0.0/uv/.github/workflows/test-smoke.yml +182 -0
  98. man_spider-2.0.0/uv/.github/workflows/test-system.yml +747 -0
  99. man_spider-2.0.0/uv/.github/workflows/test-windows-trampolines.yml +132 -0
  100. man_spider-2.0.0/uv/.github/workflows/test.yml +186 -0
  101. man_spider-2.0.0/uv/.gitignore +53 -0
  102. man_spider-2.0.0/uv/.ignore +1 -0
  103. man_spider-2.0.0/uv/.pre-commit-config.yaml +52 -0
  104. man_spider-2.0.0/uv/.prettierignore +9 -0
  105. man_spider-2.0.0/uv/.prettierrc +10 -0
  106. man_spider-2.0.0/uv/.python-versions +24 -0
  107. man_spider-2.0.0/uv/BENCHMARKS.md +117 -0
  108. man_spider-2.0.0/uv/CHANGELOG.md +816 -0
  109. man_spider-2.0.0/uv/CLAUDE.md +14 -0
  110. man_spider-2.0.0/uv/CODE_OF_CONDUCT.md +125 -0
  111. man_spider-2.0.0/uv/CONTRIBUTING.md +337 -0
  112. man_spider-2.0.0/uv/Cargo.lock +8145 -0
  113. man_spider-2.0.0/uv/Cargo.toml +341 -0
  114. man_spider-2.0.0/uv/Dockerfile +50 -0
  115. man_spider-2.0.0/uv/LICENSE-APACHE +201 -0
  116. man_spider-2.0.0/uv/LICENSE-MIT +21 -0
  117. man_spider-2.0.0/uv/PIP_COMPATIBILITY.md +2 -0
  118. man_spider-2.0.0/uv/README.md +329 -0
  119. man_spider-2.0.0/uv/SECURITY.md +28 -0
  120. man_spider-2.0.0/uv/STYLE.md +134 -0
  121. man_spider-2.0.0/uv/_typos.toml +23 -0
  122. man_spider-2.0.0/uv/assets/badge/v0.json +8 -0
  123. man_spider-2.0.0/uv/assets/png/Astral.png +0 -0
  124. man_spider-2.0.0/uv/assets/png/install-cold.png +0 -0
  125. man_spider-2.0.0/uv/assets/png/install-warm.png +0 -0
  126. man_spider-2.0.0/uv/assets/png/resolve-cold.png +0 -0
  127. man_spider-2.0.0/uv/assets/png/resolve-warm.png +0 -0
  128. man_spider-2.0.0/uv/assets/svg/Astral.svg +24 -0
  129. man_spider-2.0.0/uv/assets/svg/Benchmark-Dark.svg +147 -0
  130. man_spider-2.0.0/uv/assets/svg/Benchmark-Light.svg +147 -0
  131. man_spider-2.0.0/uv/changelogs/0.1.x.md +1456 -0
  132. man_spider-2.0.0/uv/changelogs/0.2.x.md +1702 -0
  133. man_spider-2.0.0/uv/changelogs/0.3.x.md +360 -0
  134. man_spider-2.0.0/uv/changelogs/0.4.x.md +1331 -0
  135. man_spider-2.0.0/uv/changelogs/0.5.x.md +1662 -0
  136. man_spider-2.0.0/uv/changelogs/0.6.x.md +836 -0
  137. man_spider-2.0.0/uv/changelogs/0.7.x.md +995 -0
  138. man_spider-2.0.0/uv/changelogs/0.8.x.md +1108 -0
  139. man_spider-2.0.0/uv/clippy.toml +88 -0
  140. man_spider-2.0.0/uv/crates/README.md +133 -0
  141. man_spider-2.0.0/uv/crates/uv/Cargo.toml +212 -0
  142. man_spider-2.0.0/uv/crates/uv/README.md +84 -0
  143. man_spider-2.0.0/uv/crates/uv/build.rs +41 -0
  144. man_spider-2.0.0/uv/crates/uv/src/bin/uv.rs +14 -0
  145. man_spider-2.0.0/uv/crates/uv/src/bin/uvw.rs +103 -0
  146. man_spider-2.0.0/uv/crates/uv/src/bin/uvx.rs +106 -0
  147. man_spider-2.0.0/uv/crates/uv/src/child.rs +309 -0
  148. man_spider-2.0.0/uv/crates/uv/src/commands/auth/dir.rs +26 -0
  149. man_spider-2.0.0/uv/crates/uv/src/commands/auth/helper.rs +147 -0
  150. man_spider-2.0.0/uv/crates/uv/src/commands/auth/login.rs +247 -0
  151. man_spider-2.0.0/uv/crates/uv/src/commands/auth/logout.rs +150 -0
  152. man_spider-2.0.0/uv/crates/uv/src/commands/auth/mod.rs +5 -0
  153. man_spider-2.0.0/uv/crates/uv/src/commands/auth/token.rs +128 -0
  154. man_spider-2.0.0/uv/crates/uv/src/commands/build_backend.rs +104 -0
  155. man_spider-2.0.0/uv/crates/uv/src/commands/build_frontend.rs +1357 -0
  156. man_spider-2.0.0/uv/crates/uv/src/commands/cache_clean.rs +107 -0
  157. man_spider-2.0.0/uv/crates/uv/src/commands/cache_dir.rs +18 -0
  158. man_spider-2.0.0/uv/crates/uv/src/commands/cache_prune.rs +94 -0
  159. man_spider-2.0.0/uv/crates/uv/src/commands/cache_size.rs +47 -0
  160. man_spider-2.0.0/uv/crates/uv/src/commands/diagnostics.rs +489 -0
  161. man_spider-2.0.0/uv/crates/uv/src/commands/help.rs +403 -0
  162. man_spider-2.0.0/uv/crates/uv/src/commands/mod.rs +308 -0
  163. man_spider-2.0.0/uv/crates/uv/src/commands/pip/check.rs +100 -0
  164. man_spider-2.0.0/uv/crates/uv/src/commands/pip/compile.rs +905 -0
  165. man_spider-2.0.0/uv/crates/uv/src/commands/pip/freeze.rs +140 -0
  166. man_spider-2.0.0/uv/crates/uv/src/commands/pip/install.rs +699 -0
  167. man_spider-2.0.0/uv/crates/uv/src/commands/pip/latest.rs +154 -0
  168. man_spider-2.0.0/uv/crates/uv/src/commands/pip/list.rs +410 -0
  169. man_spider-2.0.0/uv/crates/uv/src/commands/pip/loggers.rs +524 -0
  170. man_spider-2.0.0/uv/crates/uv/src/commands/pip/mod.rs +74 -0
  171. man_spider-2.0.0/uv/crates/uv/src/commands/pip/operations.rs +1086 -0
  172. man_spider-2.0.0/uv/crates/uv/src/commands/pip/show.rs +242 -0
  173. man_spider-2.0.0/uv/crates/uv/src/commands/pip/sync.rs +590 -0
  174. man_spider-2.0.0/uv/crates/uv/src/commands/pip/tree.rs +725 -0
  175. man_spider-2.0.0/uv/crates/uv/src/commands/pip/uninstall.rs +253 -0
  176. man_spider-2.0.0/uv/crates/uv/src/commands/project/add.rs +1456 -0
  177. man_spider-2.0.0/uv/crates/uv/src/commands/project/environment.rs +250 -0
  178. man_spider-2.0.0/uv/crates/uv/src/commands/project/export.rs +469 -0
  179. man_spider-2.0.0/uv/crates/uv/src/commands/project/format.rs +102 -0
  180. man_spider-2.0.0/uv/crates/uv/src/commands/project/init.rs +1445 -0
  181. man_spider-2.0.0/uv/crates/uv/src/commands/project/install_target.rs +512 -0
  182. man_spider-2.0.0/uv/crates/uv/src/commands/project/lock.rs +1593 -0
  183. man_spider-2.0.0/uv/crates/uv/src/commands/project/lock_target.rs +428 -0
  184. man_spider-2.0.0/uv/crates/uv/src/commands/project/mod.rs +2991 -0
  185. man_spider-2.0.0/uv/crates/uv/src/commands/project/remove.rs +492 -0
  186. man_spider-2.0.0/uv/crates/uv/src/commands/project/run.rs +2035 -0
  187. man_spider-2.0.0/uv/crates/uv/src/commands/project/sync.rs +1443 -0
  188. man_spider-2.0.0/uv/crates/uv/src/commands/project/tree.rs +293 -0
  189. man_spider-2.0.0/uv/crates/uv/src/commands/project/version.rs +739 -0
  190. man_spider-2.0.0/uv/crates/uv/src/commands/publish.rs +637 -0
  191. man_spider-2.0.0/uv/crates/uv/src/commands/python/dir.rs +27 -0
  192. man_spider-2.0.0/uv/crates/uv/src/commands/python/find.rs +171 -0
  193. man_spider-2.0.0/uv/crates/uv/src/commands/python/install.rs +1363 -0
  194. man_spider-2.0.0/uv/crates/uv/src/commands/python/list.rs +317 -0
  195. man_spider-2.0.0/uv/crates/uv/src/commands/python/mod.rs +23 -0
  196. man_spider-2.0.0/uv/crates/uv/src/commands/python/pin.rs +388 -0
  197. man_spider-2.0.0/uv/crates/uv/src/commands/python/uninstall.rs +346 -0
  198. man_spider-2.0.0/uv/crates/uv/src/commands/python/update_shell.rs +153 -0
  199. man_spider-2.0.0/uv/crates/uv/src/commands/reporters.rs +863 -0
  200. man_spider-2.0.0/uv/crates/uv/src/commands/self_update.rs +222 -0
  201. man_spider-2.0.0/uv/crates/uv/src/commands/suggestions.json +4 -0
  202. man_spider-2.0.0/uv/crates/uv/src/commands/tool/common.rs +424 -0
  203. man_spider-2.0.0/uv/crates/uv/src/commands/tool/dir.rs +32 -0
  204. man_spider-2.0.0/uv/crates/uv/src/commands/tool/install.rs +732 -0
  205. man_spider-2.0.0/uv/crates/uv/src/commands/tool/list.rs +185 -0
  206. man_spider-2.0.0/uv/crates/uv/src/commands/tool/mod.rs +211 -0
  207. man_spider-2.0.0/uv/crates/uv/src/commands/tool/run.rs +1225 -0
  208. man_spider-2.0.0/uv/crates/uv/src/commands/tool/uninstall.rs +228 -0
  209. man_spider-2.0.0/uv/crates/uv/src/commands/tool/update_shell.rs +153 -0
  210. man_spider-2.0.0/uv/crates/uv/src/commands/tool/upgrade.rs +488 -0
  211. man_spider-2.0.0/uv/crates/uv/src/commands/venv.rs +346 -0
  212. man_spider-2.0.0/uv/crates/uv/src/commands/workspace/dir.rs +48 -0
  213. man_spider-2.0.0/uv/crates/uv/src/commands/workspace/list.rs +46 -0
  214. man_spider-2.0.0/uv/crates/uv/src/commands/workspace/metadata.rs +91 -0
  215. man_spider-2.0.0/uv/crates/uv/src/commands/workspace/mod.rs +3 -0
  216. man_spider-2.0.0/uv/crates/uv/src/install_source.rs +74 -0
  217. man_spider-2.0.0/uv/crates/uv/src/lib.rs +2664 -0
  218. man_spider-2.0.0/uv/crates/uv/src/logging.rs +152 -0
  219. man_spider-2.0.0/uv/crates/uv/src/printer.rs +103 -0
  220. man_spider-2.0.0/uv/crates/uv/src/settings.rs +4244 -0
  221. man_spider-2.0.0/uv/crates/uv/src/windows_exception.rs +313 -0
  222. man_spider-2.0.0/uv/crates/uv/tests/it/auth.rs +2140 -0
  223. man_spider-2.0.0/uv/crates/uv/tests/it/branching_urls.rs +829 -0
  224. man_spider-2.0.0/uv/crates/uv/tests/it/build.rs +2361 -0
  225. man_spider-2.0.0/uv/crates/uv/tests/it/build_backend.rs +1447 -0
  226. man_spider-2.0.0/uv/crates/uv/tests/it/cache.rs +70 -0
  227. man_spider-2.0.0/uv/crates/uv/tests/it/cache_clean.rs +255 -0
  228. man_spider-2.0.0/uv/crates/uv/tests/it/cache_prune.rs +447 -0
  229. man_spider-2.0.0/uv/crates/uv/tests/it/cache_size.rs +59 -0
  230. man_spider-2.0.0/uv/crates/uv/tests/it/common/mod.rs +2262 -0
  231. man_spider-2.0.0/uv/crates/uv/tests/it/ecosystem.rs +117 -0
  232. man_spider-2.0.0/uv/crates/uv/tests/it/edit.rs +14888 -0
  233. man_spider-2.0.0/uv/crates/uv/tests/it/export.rs +8827 -0
  234. man_spider-2.0.0/uv/crates/uv/tests/it/extract.rs +396 -0
  235. man_spider-2.0.0/uv/crates/uv/tests/it/format.rs +491 -0
  236. man_spider-2.0.0/uv/crates/uv/tests/it/help.rs +1175 -0
  237. man_spider-2.0.0/uv/crates/uv/tests/it/init.rs +4183 -0
  238. man_spider-2.0.0/uv/crates/uv/tests/it/lock.rs +33372 -0
  239. man_spider-2.0.0/uv/crates/uv/tests/it/lock_conflict.rs +15349 -0
  240. man_spider-2.0.0/uv/crates/uv/tests/it/lock_exclude_newer_relative.rs +1204 -0
  241. man_spider-2.0.0/uv/crates/uv/tests/it/lock_scenarios.rs +5489 -0
  242. man_spider-2.0.0/uv/crates/uv/tests/it/main.rs +153 -0
  243. man_spider-2.0.0/uv/crates/uv/tests/it/network.rs +926 -0
  244. man_spider-2.0.0/uv/crates/uv/tests/it/pip_check.rs +222 -0
  245. man_spider-2.0.0/uv/crates/uv/tests/it/pip_compile.rs +18323 -0
  246. man_spider-2.0.0/uv/crates/uv/tests/it/pip_compile_scenarios.rs +446 -0
  247. man_spider-2.0.0/uv/crates/uv/tests/it/pip_debug.rs +16 -0
  248. man_spider-2.0.0/uv/crates/uv/tests/it/pip_freeze.rs +614 -0
  249. man_spider-2.0.0/uv/crates/uv/tests/it/pip_install.rs +14119 -0
  250. man_spider-2.0.0/uv/crates/uv/tests/it/pip_install_scenarios.rs +4369 -0
  251. man_spider-2.0.0/uv/crates/uv/tests/it/pip_list.rs +889 -0
  252. man_spider-2.0.0/uv/crates/uv/tests/it/pip_show.rs +640 -0
  253. man_spider-2.0.0/uv/crates/uv/tests/it/pip_sync.rs +6216 -0
  254. man_spider-2.0.0/uv/crates/uv/tests/it/pip_tree.rs +1240 -0
  255. man_spider-2.0.0/uv/crates/uv/tests/it/pip_uninstall.rs +511 -0
  256. man_spider-2.0.0/uv/crates/uv/tests/it/publish.rs +686 -0
  257. man_spider-2.0.0/uv/crates/uv/tests/it/python_dir.rs +21 -0
  258. man_spider-2.0.0/uv/crates/uv/tests/it/python_find.rs +1515 -0
  259. man_spider-2.0.0/uv/crates/uv/tests/it/python_install.rs +4311 -0
  260. man_spider-2.0.0/uv/crates/uv/tests/it/python_list.rs +684 -0
  261. man_spider-2.0.0/uv/crates/uv/tests/it/python_module.rs +754 -0
  262. man_spider-2.0.0/uv/crates/uv/tests/it/python_pin.rs +897 -0
  263. man_spider-2.0.0/uv/crates/uv/tests/it/python_upgrade.rs +833 -0
  264. man_spider-2.0.0/uv/crates/uv/tests/it/run.rs +6217 -0
  265. man_spider-2.0.0/uv/crates/uv/tests/it/self_update.rs +59 -0
  266. man_spider-2.0.0/uv/crates/uv/tests/it/show_settings.rs +10931 -0
  267. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__black-lock-file.snap +855 -0
  268. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__black-uv-lock-output.snap +10 -0
  269. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-lock-file.snap +486 -0
  270. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-uv-lock-output.snap +11 -0
  271. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-lock-file.snap +1438 -0
  272. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-uv-lock-output.snap +10 -0
  273. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__packse-lock-file.snap +683 -0
  274. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__packse-uv-lock-output.snap +11 -0
  275. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__saleor-lock-file.snap +2263 -0
  276. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__saleor-uv-lock-output.snap +10 -0
  277. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__transformers-lock-file.snap +6570 -0
  278. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__transformers-uv-lock-output.snap +10 -0
  279. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-lock-file.snap +4397 -0
  280. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-uv-lock-output.snap +11 -0
  281. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__jax_instability-2.snap +181 -0
  282. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_existing_package_noop-2.snap +654 -0
  283. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_one_package-2.snap +654 -0
  284. man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__packse_promote_transitive_to_direct_then_remove-2.snap +654 -0
  285. man_spider-2.0.0/uv/crates/uv/tests/it/sync.rs +15569 -0
  286. man_spider-2.0.0/uv/crates/uv/tests/it/tool_dir.rs +41 -0
  287. man_spider-2.0.0/uv/crates/uv/tests/it/tool_install.rs +4552 -0
  288. man_spider-2.0.0/uv/crates/uv/tests/it/tool_list.rs +643 -0
  289. man_spider-2.0.0/uv/crates/uv/tests/it/tool_run.rs +3562 -0
  290. man_spider-2.0.0/uv/crates/uv/tests/it/tool_uninstall.rs +190 -0
  291. man_spider-2.0.0/uv/crates/uv/tests/it/tool_upgrade.rs +1010 -0
  292. man_spider-2.0.0/uv/crates/uv/tests/it/tree.rs +1801 -0
  293. man_spider-2.0.0/uv/crates/uv/tests/it/venv.rs +1890 -0
  294. man_spider-2.0.0/uv/crates/uv/tests/it/version.rs +3261 -0
  295. man_spider-2.0.0/uv/crates/uv/tests/it/workflow.rs +608 -0
  296. man_spider-2.0.0/uv/crates/uv/tests/it/workspace.rs +2093 -0
  297. man_spider-2.0.0/uv/crates/uv/tests/it/workspace_dir.rs +127 -0
  298. man_spider-2.0.0/uv/crates/uv/tests/it/workspace_list.rs +244 -0
  299. man_spider-2.0.0/uv/crates/uv/tests/it/workspace_metadata.rs +321 -0
  300. man_spider-2.0.0/uv/crates/uv-auth/Cargo.toml +59 -0
  301. man_spider-2.0.0/uv/crates/uv-auth/README.md +13 -0
  302. man_spider-2.0.0/uv/crates/uv-auth/src/access_token.rs +34 -0
  303. man_spider-2.0.0/uv/crates/uv-auth/src/cache.rs +384 -0
  304. man_spider-2.0.0/uv/crates/uv-auth/src/credentials.rs +693 -0
  305. man_spider-2.0.0/uv/crates/uv-auth/src/index.rs +113 -0
  306. man_spider-2.0.0/uv/crates/uv-auth/src/keyring.rs +578 -0
  307. man_spider-2.0.0/uv/crates/uv-auth/src/lib.rs +24 -0
  308. man_spider-2.0.0/uv/crates/uv-auth/src/middleware.rs +2670 -0
  309. man_spider-2.0.0/uv/crates/uv-auth/src/providers.rs +145 -0
  310. man_spider-2.0.0/uv/crates/uv-auth/src/pyx.rs +809 -0
  311. man_spider-2.0.0/uv/crates/uv-auth/src/realm.rs +323 -0
  312. man_spider-2.0.0/uv/crates/uv-auth/src/service.rs +95 -0
  313. man_spider-2.0.0/uv/crates/uv-auth/src/store.rs +688 -0
  314. man_spider-2.0.0/uv/crates/uv-bench/Cargo.toml +53 -0
  315. man_spider-2.0.0/uv/crates/uv-bench/README.md +13 -0
  316. man_spider-2.0.0/uv/crates/uv-bench/benches/uv.rs +234 -0
  317. man_spider-2.0.0/uv/crates/uv-bench/inputs/platform_tags.rs +1 -0
  318. man_spider-2.0.0/uv/crates/uv-bench/src/lib.rs +1 -0
  319. man_spider-2.0.0/uv/crates/uv-bin-install/Cargo.toml +36 -0
  320. man_spider-2.0.0/uv/crates/uv-bin-install/README.md +13 -0
  321. man_spider-2.0.0/uv/crates/uv-bin-install/src/lib.rs +418 -0
  322. man_spider-2.0.0/uv/crates/uv-build/Cargo.toml +24 -0
  323. man_spider-2.0.0/uv/crates/uv-build/LICENSE-APACHE +201 -0
  324. man_spider-2.0.0/uv/crates/uv-build/LICENSE-MIT +21 -0
  325. man_spider-2.0.0/uv/crates/uv-build/README.md +5 -0
  326. man_spider-2.0.0/uv/crates/uv-build/deny.toml +8 -0
  327. man_spider-2.0.0/uv/crates/uv-build/pyproject.toml +54 -0
  328. man_spider-2.0.0/uv/crates/uv-build/python/uv_build/__init__.py +141 -0
  329. man_spider-2.0.0/uv/crates/uv-build/python/uv_build/__main__.py +17 -0
  330. man_spider-2.0.0/uv/crates/uv-build/python/uv_build/py.typed +0 -0
  331. man_spider-2.0.0/uv/crates/uv-build/ruff.toml +2 -0
  332. man_spider-2.0.0/uv/crates/uv-build/src/main.rs +139 -0
  333. man_spider-2.0.0/uv/crates/uv-build-backend/Cargo.toml +65 -0
  334. man_spider-2.0.0/uv/crates/uv-build-backend/README.md +13 -0
  335. man_spider-2.0.0/uv/crates/uv-build-backend/src/lib.rs +1828 -0
  336. man_spider-2.0.0/uv/crates/uv-build-backend/src/metadata.rs +1539 -0
  337. man_spider-2.0.0/uv/crates/uv-build-backend/src/serde_verbatim.rs +58 -0
  338. man_spider-2.0.0/uv/crates/uv-build-backend/src/settings.rs +230 -0
  339. man_spider-2.0.0/uv/crates/uv-build-backend/src/source_dist.rs +377 -0
  340. man_spider-2.0.0/uv/crates/uv-build-backend/src/wheel.rs +987 -0
  341. man_spider-2.0.0/uv/crates/uv-build-frontend/.gitignore +2 -0
  342. man_spider-2.0.0/uv/crates/uv-build-frontend/Cargo.toml +53 -0
  343. man_spider-2.0.0/uv/crates/uv-build-frontend/README.md +13 -0
  344. man_spider-2.0.0/uv/crates/uv-build-frontend/src/error.rs +682 -0
  345. man_spider-2.0.0/uv/crates/uv-build-frontend/src/lib.rs +1248 -0
  346. man_spider-2.0.0/uv/crates/uv-build-frontend/src/pipreqs/LICENSE +201 -0
  347. man_spider-2.0.0/uv/crates/uv-build-frontend/src/pipreqs/mapping +1156 -0
  348. man_spider-2.0.0/uv/crates/uv-build-frontend/src/pipreqs.rs +32 -0
  349. man_spider-2.0.0/uv/crates/uv-cache/Cargo.toml +39 -0
  350. man_spider-2.0.0/uv/crates/uv-cache/README.md +13 -0
  351. man_spider-2.0.0/uv/crates/uv-cache/src/archive.rs +39 -0
  352. man_spider-2.0.0/uv/crates/uv-cache/src/by_timestamp.rs +8 -0
  353. man_spider-2.0.0/uv/crates/uv-cache/src/cli.rs +140 -0
  354. man_spider-2.0.0/uv/crates/uv-cache/src/lib.rs +1447 -0
  355. man_spider-2.0.0/uv/crates/uv-cache/src/removal.rs +258 -0
  356. man_spider-2.0.0/uv/crates/uv-cache/src/wheel.rs +92 -0
  357. man_spider-2.0.0/uv/crates/uv-cache-info/Cargo.toml +32 -0
  358. man_spider-2.0.0/uv/crates/uv-cache-info/README.md +13 -0
  359. man_spider-2.0.0/uv/crates/uv-cache-info/src/cache_info.rs +447 -0
  360. man_spider-2.0.0/uv/crates/uv-cache-info/src/git_info.rs +179 -0
  361. man_spider-2.0.0/uv/crates/uv-cache-info/src/glob.rs +317 -0
  362. man_spider-2.0.0/uv/crates/uv-cache-info/src/lib.rs +7 -0
  363. man_spider-2.0.0/uv/crates/uv-cache-info/src/timestamp.rs +52 -0
  364. man_spider-2.0.0/uv/crates/uv-cache-key/Cargo.toml +25 -0
  365. man_spider-2.0.0/uv/crates/uv-cache-key/README.md +13 -0
  366. man_spider-2.0.0/uv/crates/uv-cache-key/src/cache_key.rs +379 -0
  367. man_spider-2.0.0/uv/crates/uv-cache-key/src/canonical_url.rs +486 -0
  368. man_spider-2.0.0/uv/crates/uv-cache-key/src/digest.rs +36 -0
  369. man_spider-2.0.0/uv/crates/uv-cache-key/src/lib.rs +7 -0
  370. man_spider-2.0.0/uv/crates/uv-cli/Cargo.toml +54 -0
  371. man_spider-2.0.0/uv/crates/uv-cli/README.md +13 -0
  372. man_spider-2.0.0/uv/crates/uv-cli/build.rs +117 -0
  373. man_spider-2.0.0/uv/crates/uv-cli/src/comma.rs +125 -0
  374. man_spider-2.0.0/uv/crates/uv-cli/src/compat.rs +368 -0
  375. man_spider-2.0.0/uv/crates/uv-cli/src/lib.rs +7768 -0
  376. man_spider-2.0.0/uv/crates/uv-cli/src/options.rs +661 -0
  377. man_spider-2.0.0/uv/crates/uv-cli/src/version.rs +178 -0
  378. man_spider-2.0.0/uv/crates/uv-client/Cargo.toml +80 -0
  379. man_spider-2.0.0/uv/crates/uv-client/README.md +13 -0
  380. man_spider-2.0.0/uv/crates/uv-client/src/base_client.rs +1599 -0
  381. man_spider-2.0.0/uv/crates/uv-client/src/cached_client.rs +971 -0
  382. man_spider-2.0.0/uv/crates/uv-client/src/error.rs +736 -0
  383. man_spider-2.0.0/uv/crates/uv-client/src/flat_index.rs +387 -0
  384. man_spider-2.0.0/uv/crates/uv-client/src/html.rs +1902 -0
  385. man_spider-2.0.0/uv/crates/uv-client/src/httpcache/control.rs +773 -0
  386. man_spider-2.0.0/uv/crates/uv-client/src/httpcache/mod.rs +1400 -0
  387. man_spider-2.0.0/uv/crates/uv-client/src/lib.rs +27 -0
  388. man_spider-2.0.0/uv/crates/uv-client/src/linehaul.rs +153 -0
  389. man_spider-2.0.0/uv/crates/uv-client/src/middleware.rs +51 -0
  390. man_spider-2.0.0/uv/crates/uv-client/src/registry_client.rs +2122 -0
  391. man_spider-2.0.0/uv/crates/uv-client/src/remote_metadata.rs +109 -0
  392. man_spider-2.0.0/uv/crates/uv-client/src/rkyvutil.rs +174 -0
  393. man_spider-2.0.0/uv/crates/uv-client/src/tls.rs +21 -0
  394. man_spider-2.0.0/uv/crates/uv-client/tests/it/http_util.rs +382 -0
  395. man_spider-2.0.0/uv/crates/uv-client/tests/it/main.rs +5 -0
  396. man_spider-2.0.0/uv/crates/uv-client/tests/it/proxy.rs +100 -0
  397. man_spider-2.0.0/uv/crates/uv-client/tests/it/remote_metadata.rs +33 -0
  398. man_spider-2.0.0/uv/crates/uv-client/tests/it/ssl_certs.rs +333 -0
  399. man_spider-2.0.0/uv/crates/uv-client/tests/it/user_agent_version.rs +288 -0
  400. man_spider-2.0.0/uv/crates/uv-configuration/Cargo.toml +49 -0
  401. man_spider-2.0.0/uv/crates/uv-configuration/README.md +13 -0
  402. man_spider-2.0.0/uv/crates/uv-configuration/src/authentication.rs +37 -0
  403. man_spider-2.0.0/uv/crates/uv-configuration/src/build_options.rs +419 -0
  404. man_spider-2.0.0/uv/crates/uv-configuration/src/concurrency.rs +40 -0
  405. man_spider-2.0.0/uv/crates/uv-configuration/src/constraints.rs +87 -0
  406. man_spider-2.0.0/uv/crates/uv-configuration/src/dependency_groups.rs +393 -0
  407. man_spider-2.0.0/uv/crates/uv-configuration/src/dry_run.rs +27 -0
  408. man_spider-2.0.0/uv/crates/uv-configuration/src/editable.rs +16 -0
  409. man_spider-2.0.0/uv/crates/uv-configuration/src/env_file.rs +135 -0
  410. man_spider-2.0.0/uv/crates/uv-configuration/src/excludes.rs +25 -0
  411. man_spider-2.0.0/uv/crates/uv-configuration/src/export_format.rs +44 -0
  412. man_spider-2.0.0/uv/crates/uv-configuration/src/extras.rs +326 -0
  413. man_spider-2.0.0/uv/crates/uv-configuration/src/hash.rs +48 -0
  414. man_spider-2.0.0/uv/crates/uv-configuration/src/install_options.rs +167 -0
  415. man_spider-2.0.0/uv/crates/uv-configuration/src/lib.rs +51 -0
  416. man_spider-2.0.0/uv/crates/uv-configuration/src/name_specifiers.rs +119 -0
  417. man_spider-2.0.0/uv/crates/uv-configuration/src/overrides.rs +80 -0
  418. man_spider-2.0.0/uv/crates/uv-configuration/src/package_options.rs +302 -0
  419. man_spider-2.0.0/uv/crates/uv-configuration/src/project_build_backend.rs +34 -0
  420. man_spider-2.0.0/uv/crates/uv-configuration/src/proxy_url.rs +237 -0
  421. man_spider-2.0.0/uv/crates/uv-configuration/src/required_version.rs +76 -0
  422. man_spider-2.0.0/uv/crates/uv-configuration/src/sources.rs +83 -0
  423. man_spider-2.0.0/uv/crates/uv-configuration/src/target_triple.rs +1079 -0
  424. man_spider-2.0.0/uv/crates/uv-configuration/src/threading.rs +69 -0
  425. man_spider-2.0.0/uv/crates/uv-configuration/src/trusted_host.rs +207 -0
  426. man_spider-2.0.0/uv/crates/uv-configuration/src/trusted_publishing.rs +17 -0
  427. man_spider-2.0.0/uv/crates/uv-configuration/src/vcs.rs +125 -0
  428. man_spider-2.0.0/uv/crates/uv-console/Cargo.toml +19 -0
  429. man_spider-2.0.0/uv/crates/uv-console/README.md +13 -0
  430. man_spider-2.0.0/uv/crates/uv-console/src/lib.rs +314 -0
  431. man_spider-2.0.0/uv/crates/uv-dev/.gitignore +1 -0
  432. man_spider-2.0.0/uv/crates/uv-dev/Cargo.toml +82 -0
  433. man_spider-2.0.0/uv/crates/uv-dev/README.md +13 -0
  434. man_spider-2.0.0/uv/crates/uv-dev/builder.dockerfile +27 -0
  435. man_spider-2.0.0/uv/crates/uv-dev/src/clear_compile.rs +33 -0
  436. man_spider-2.0.0/uv/crates/uv-dev/src/compile.rs +46 -0
  437. man_spider-2.0.0/uv/crates/uv-dev/src/generate_all.rs +37 -0
  438. man_spider-2.0.0/uv/crates/uv-dev/src/generate_cli_reference.rs +344 -0
  439. man_spider-2.0.0/uv/crates/uv-dev/src/generate_env_vars_reference.rs +108 -0
  440. man_spider-2.0.0/uv/crates/uv-dev/src/generate_json_schema.rs +136 -0
  441. man_spider-2.0.0/uv/crates/uv-dev/src/generate_options_reference.rs +403 -0
  442. man_spider-2.0.0/uv/crates/uv-dev/src/generate_sysconfig_mappings.rs +203 -0
  443. man_spider-2.0.0/uv/crates/uv-dev/src/lib.rs +87 -0
  444. man_spider-2.0.0/uv/crates/uv-dev/src/list_packages.rs +37 -0
  445. man_spider-2.0.0/uv/crates/uv-dev/src/main.rs +80 -0
  446. man_spider-2.0.0/uv/crates/uv-dev/src/render_benchmarks.rs +129 -0
  447. man_spider-2.0.0/uv/crates/uv-dev/src/validate_zip.rs +51 -0
  448. man_spider-2.0.0/uv/crates/uv-dev/src/wheel_metadata.rs +52 -0
  449. man_spider-2.0.0/uv/crates/uv-dev/sync_sysconfig_targets.sh +18 -0
  450. man_spider-2.0.0/uv/crates/uv-dev/test_sdist_building.sh +21 -0
  451. man_spider-2.0.0/uv/crates/uv-dirs/Cargo.toml +27 -0
  452. man_spider-2.0.0/uv/crates/uv-dirs/README.md +13 -0
  453. man_spider-2.0.0/uv/crates/uv-dirs/src/lib.rs +298 -0
  454. man_spider-2.0.0/uv/crates/uv-dispatch/Cargo.toml +45 -0
  455. man_spider-2.0.0/uv/crates/uv-dispatch/README.md +13 -0
  456. man_spider-2.0.0/uv/crates/uv-dispatch/src/lib.rs +626 -0
  457. man_spider-2.0.0/uv/crates/uv-distribution/Cargo.toml +68 -0
  458. man_spider-2.0.0/uv/crates/uv-distribution/README.md +13 -0
  459. man_spider-2.0.0/uv/crates/uv-distribution/src/archive.rs +40 -0
  460. man_spider-2.0.0/uv/crates/uv-distribution/src/distribution_database.rs +1403 -0
  461. man_spider-2.0.0/uv/crates/uv-distribution/src/download.rs +76 -0
  462. man_spider-2.0.0/uv/crates/uv-distribution/src/error.rs +270 -0
  463. man_spider-2.0.0/uv/crates/uv-distribution/src/index/built_wheel_index.rs +307 -0
  464. man_spider-2.0.0/uv/crates/uv-distribution/src/index/cached_wheel.rs +206 -0
  465. man_spider-2.0.0/uv/crates/uv-distribution/src/index/mod.rs +6 -0
  466. man_spider-2.0.0/uv/crates/uv-distribution/src/index/registry_wheel_index.rs +325 -0
  467. man_spider-2.0.0/uv/crates/uv-distribution/src/lib.rs +20 -0
  468. man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/build_requires.rs +357 -0
  469. man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/dependency_groups.rs +228 -0
  470. man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/lowering.rs +795 -0
  471. man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/mod.rs +170 -0
  472. man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/requires_dist.rs +867 -0
  473. man_spider-2.0.0/uv/crates/uv-distribution/src/reporter.rs +53 -0
  474. man_spider-2.0.0/uv/crates/uv-distribution/src/source/built_wheel_metadata.rs +100 -0
  475. man_spider-2.0.0/uv/crates/uv-distribution/src/source/mod.rs +3125 -0
  476. man_spider-2.0.0/uv/crates/uv-distribution/src/source/revision.rs +82 -0
  477. man_spider-2.0.0/uv/crates/uv-distribution-filename/Cargo.toml +32 -0
  478. man_spider-2.0.0/uv/crates/uv-distribution-filename/README.md +13 -0
  479. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/build_tag.rs +72 -0
  480. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/egg.rs +117 -0
  481. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/expanded_tags.rs +511 -0
  482. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/extension.rs +136 -0
  483. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/lib.rs +109 -0
  484. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/snapshots/uv_distribution_filename__wheel__tests__ok_build_tag.snap +35 -0
  485. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/snapshots/uv_distribution_filename__wheel__tests__ok_multiple_tags.snap +45 -0
  486. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/snapshots/uv_distribution_filename__wheel__tests__ok_single_tags.snap +22 -0
  487. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/source_dist.rs +238 -0
  488. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/splitter.rs +50 -0
  489. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/wheel.rs +482 -0
  490. man_spider-2.0.0/uv/crates/uv-distribution-filename/src/wheel_tag.rs +148 -0
  491. man_spider-2.0.0/uv/crates/uv-distribution-types/Cargo.toml +58 -0
  492. man_spider-2.0.0/uv/crates/uv-distribution-types/README.md +13 -0
  493. man_spider-2.0.0/uv/crates/uv-distribution-types/src/annotation.rs +87 -0
  494. man_spider-2.0.0/uv/crates/uv-distribution-types/src/any.rs +91 -0
  495. man_spider-2.0.0/uv/crates/uv-distribution-types/src/build_info.rs +55 -0
  496. man_spider-2.0.0/uv/crates/uv-distribution-types/src/build_requires.rs +187 -0
  497. man_spider-2.0.0/uv/crates/uv-distribution-types/src/buildable.rs +233 -0
  498. man_spider-2.0.0/uv/crates/uv-distribution-types/src/cached.rs +244 -0
  499. man_spider-2.0.0/uv/crates/uv-distribution-types/src/config_settings.rs +478 -0
  500. man_spider-2.0.0/uv/crates/uv-distribution-types/src/dependency_metadata.rs +114 -0
  501. man_spider-2.0.0/uv/crates/uv-distribution-types/src/diagnostic.rs +9 -0
  502. man_spider-2.0.0/uv/crates/uv-distribution-types/src/dist_error.rs +211 -0
  503. man_spider-2.0.0/uv/crates/uv-distribution-types/src/error.rs +23 -0
  504. man_spider-2.0.0/uv/crates/uv-distribution-types/src/file.rs +338 -0
  505. man_spider-2.0.0/uv/crates/uv-distribution-types/src/hash.rs +101 -0
  506. man_spider-2.0.0/uv/crates/uv-distribution-types/src/id.rs +123 -0
  507. man_spider-2.0.0/uv/crates/uv-distribution-types/src/index.rs +609 -0
  508. man_spider-2.0.0/uv/crates/uv-distribution-types/src/index_name.rs +100 -0
  509. man_spider-2.0.0/uv/crates/uv-distribution-types/src/index_url.rs +917 -0
  510. man_spider-2.0.0/uv/crates/uv-distribution-types/src/installed.rs +657 -0
  511. man_spider-2.0.0/uv/crates/uv-distribution-types/src/known_platform.rs +58 -0
  512. man_spider-2.0.0/uv/crates/uv-distribution-types/src/lib.rs +1501 -0
  513. man_spider-2.0.0/uv/crates/uv-distribution-types/src/origin.rs +12 -0
  514. man_spider-2.0.0/uv/crates/uv-distribution-types/src/pip_index.rs +70 -0
  515. man_spider-2.0.0/uv/crates/uv-distribution-types/src/prioritized_distribution.rs +1151 -0
  516. man_spider-2.0.0/uv/crates/uv-distribution-types/src/requested.rs +71 -0
  517. man_spider-2.0.0/uv/crates/uv-distribution-types/src/requirement.rs +1129 -0
  518. man_spider-2.0.0/uv/crates/uv-distribution-types/src/requires_python.rs +844 -0
  519. man_spider-2.0.0/uv/crates/uv-distribution-types/src/resolution.rs +286 -0
  520. man_spider-2.0.0/uv/crates/uv-distribution-types/src/resolved.rs +243 -0
  521. man_spider-2.0.0/uv/crates/uv-distribution-types/src/specified_requirement.rs +219 -0
  522. man_spider-2.0.0/uv/crates/uv-distribution-types/src/status_code_strategy.rs +289 -0
  523. man_spider-2.0.0/uv/crates/uv-distribution-types/src/traits.rs +245 -0
  524. man_spider-2.0.0/uv/crates/uv-extract/Cargo.toml +51 -0
  525. man_spider-2.0.0/uv/crates/uv-extract/README.md +13 -0
  526. man_spider-2.0.0/uv/crates/uv-extract/src/error.rs +148 -0
  527. man_spider-2.0.0/uv/crates/uv-extract/src/hash.rs +110 -0
  528. man_spider-2.0.0/uv/crates/uv-extract/src/lib.rs +101 -0
  529. man_spider-2.0.0/uv/crates/uv-extract/src/stream.rs +777 -0
  530. man_spider-2.0.0/uv/crates/uv-extract/src/sync.rs +122 -0
  531. man_spider-2.0.0/uv/crates/uv-extract/src/vendor/LICENSE +236 -0
  532. man_spider-2.0.0/uv/crates/uv-extract/src/vendor/cloneable_seekable_reader.rs +173 -0
  533. man_spider-2.0.0/uv/crates/uv-extract/src/vendor/mod.rs +3 -0
  534. man_spider-2.0.0/uv/crates/uv-flags/Cargo.toml +24 -0
  535. man_spider-2.0.0/uv/crates/uv-flags/README.md +13 -0
  536. man_spider-2.0.0/uv/crates/uv-flags/src/lib.rs +22 -0
  537. man_spider-2.0.0/uv/crates/uv-fs/Cargo.toml +45 -0
  538. man_spider-2.0.0/uv/crates/uv-fs/README.md +13 -0
  539. man_spider-2.0.0/uv/crates/uv-fs/src/cachedir.rs +47 -0
  540. man_spider-2.0.0/uv/crates/uv-fs/src/lib.rs +699 -0
  541. man_spider-2.0.0/uv/crates/uv-fs/src/locked_file.rs +353 -0
  542. man_spider-2.0.0/uv/crates/uv-fs/src/path.rs +553 -0
  543. man_spider-2.0.0/uv/crates/uv-fs/src/which.rs +62 -0
  544. man_spider-2.0.0/uv/crates/uv-git/Cargo.toml +39 -0
  545. man_spider-2.0.0/uv/crates/uv-git/README.md +13 -0
  546. man_spider-2.0.0/uv/crates/uv-git/src/credentials.rs +40 -0
  547. man_spider-2.0.0/uv/crates/uv-git/src/git.rs +822 -0
  548. man_spider-2.0.0/uv/crates/uv-git/src/lib.rs +12 -0
  549. man_spider-2.0.0/uv/crates/uv-git/src/rate_limit.rs +37 -0
  550. man_spider-2.0.0/uv/crates/uv-git/src/resolver.rs +279 -0
  551. man_spider-2.0.0/uv/crates/uv-git/src/source.rs +225 -0
  552. man_spider-2.0.0/uv/crates/uv-git-types/Cargo.toml +25 -0
  553. man_spider-2.0.0/uv/crates/uv-git-types/README.md +13 -0
  554. man_spider-2.0.0/uv/crates/uv-git-types/src/github.rs +85 -0
  555. man_spider-2.0.0/uv/crates/uv-git-types/src/lib.rs +239 -0
  556. man_spider-2.0.0/uv/crates/uv-git-types/src/oid.rs +130 -0
  557. man_spider-2.0.0/uv/crates/uv-git-types/src/reference.rs +80 -0
  558. man_spider-2.0.0/uv/crates/uv-globfilter/Cargo.toml +29 -0
  559. man_spider-2.0.0/uv/crates/uv-globfilter/README.md +34 -0
  560. man_spider-2.0.0/uv/crates/uv-globfilter/src/glob_dir_filter.rs +283 -0
  561. man_spider-2.0.0/uv/crates/uv-globfilter/src/lib.rs +10 -0
  562. man_spider-2.0.0/uv/crates/uv-globfilter/src/main.rs +63 -0
  563. man_spider-2.0.0/uv/crates/uv-globfilter/src/portable_glob.rs +321 -0
  564. man_spider-2.0.0/uv/crates/uv-install-wheel/Cargo.toml +61 -0
  565. man_spider-2.0.0/uv/crates/uv-install-wheel/README.md +13 -0
  566. man_spider-2.0.0/uv/crates/uv-install-wheel/src/install.rs +162 -0
  567. man_spider-2.0.0/uv/crates/uv-install-wheel/src/lib.rs +88 -0
  568. man_spider-2.0.0/uv/crates/uv-install-wheel/src/linker.rs +751 -0
  569. man_spider-2.0.0/uv/crates/uv-install-wheel/src/record.rs +16 -0
  570. man_spider-2.0.0/uv/crates/uv-install-wheel/src/script.rs +221 -0
  571. man_spider-2.0.0/uv/crates/uv-install-wheel/src/uninstall.rs +349 -0
  572. man_spider-2.0.0/uv/crates/uv-install-wheel/src/wheel.rs +1269 -0
  573. man_spider-2.0.0/uv/crates/uv-installer/Cargo.toml +58 -0
  574. man_spider-2.0.0/uv/crates/uv-installer/README.md +13 -0
  575. man_spider-2.0.0/uv/crates/uv-installer/src/compile.rs +428 -0
  576. man_spider-2.0.0/uv/crates/uv-installer/src/installer.rs +214 -0
  577. man_spider-2.0.0/uv/crates/uv-installer/src/lib.rs +17 -0
  578. man_spider-2.0.0/uv/crates/uv-installer/src/pip_compileall.py +67 -0
  579. man_spider-2.0.0/uv/crates/uv-installer/src/plan.rs +896 -0
  580. man_spider-2.0.0/uv/crates/uv-installer/src/preparer.rs +321 -0
  581. man_spider-2.0.0/uv/crates/uv-installer/src/satisfies.rs +567 -0
  582. man_spider-2.0.0/uv/crates/uv-installer/src/site_packages.rs +734 -0
  583. man_spider-2.0.0/uv/crates/uv-installer/src/uninstall.rs +37 -0
  584. man_spider-2.0.0/uv/crates/uv-keyring/Cargo.toml +52 -0
  585. man_spider-2.0.0/uv/crates/uv-keyring/README.md +64 -0
  586. man_spider-2.0.0/uv/crates/uv-keyring/src/blocking.rs +11 -0
  587. man_spider-2.0.0/uv/crates/uv-keyring/src/credential.rs +187 -0
  588. man_spider-2.0.0/uv/crates/uv-keyring/src/error.rs +93 -0
  589. man_spider-2.0.0/uv/crates/uv-keyring/src/lib.rs +613 -0
  590. man_spider-2.0.0/uv/crates/uv-keyring/src/macos.rs +450 -0
  591. man_spider-2.0.0/uv/crates/uv-keyring/src/mock.rs +341 -0
  592. man_spider-2.0.0/uv/crates/uv-keyring/src/secret_service.rs +932 -0
  593. man_spider-2.0.0/uv/crates/uv-keyring/src/windows.rs +794 -0
  594. man_spider-2.0.0/uv/crates/uv-keyring/tests/basic.rs +175 -0
  595. man_spider-2.0.0/uv/crates/uv-keyring/tests/common/mod.rs +33 -0
  596. man_spider-2.0.0/uv/crates/uv-keyring/tests/threading.rs +283 -0
  597. man_spider-2.0.0/uv/crates/uv-logging/Cargo.toml +22 -0
  598. man_spider-2.0.0/uv/crates/uv-logging/README.md +13 -0
  599. man_spider-2.0.0/uv/crates/uv-logging/src/lib.rs +95 -0
  600. man_spider-2.0.0/uv/crates/uv-macros/Cargo.toml +23 -0
  601. man_spider-2.0.0/uv/crates/uv-macros/README.md +13 -0
  602. man_spider-2.0.0/uv/crates/uv-macros/src/lib.rs +202 -0
  603. man_spider-2.0.0/uv/crates/uv-macros/src/options_metadata.rs +443 -0
  604. man_spider-2.0.0/uv/crates/uv-metadata/Cargo.toml +30 -0
  605. man_spider-2.0.0/uv/crates/uv-metadata/README.md +13 -0
  606. man_spider-2.0.0/uv/crates/uv-metadata/src/lib.rs +330 -0
  607. man_spider-2.0.0/uv/crates/uv-normalize/Cargo.toml +26 -0
  608. man_spider-2.0.0/uv/crates/uv-normalize/README.md +13 -0
  609. man_spider-2.0.0/uv/crates/uv-normalize/src/dist_info_name.rs +108 -0
  610. man_spider-2.0.0/uv/crates/uv-normalize/src/extra_name.rs +177 -0
  611. man_spider-2.0.0/uv/crates/uv-normalize/src/group_name.rs +285 -0
  612. man_spider-2.0.0/uv/crates/uv-normalize/src/lib.rs +243 -0
  613. man_spider-2.0.0/uv/crates/uv-normalize/src/package_name.rs +124 -0
  614. man_spider-2.0.0/uv/crates/uv-once-map/Cargo.toml +21 -0
  615. man_spider-2.0.0/uv/crates/uv-once-map/README.md +13 -0
  616. man_spider-2.0.0/uv/crates/uv-once-map/src/lib.rs +155 -0
  617. man_spider-2.0.0/uv/crates/uv-options-metadata/Cargo.toml +19 -0
  618. man_spider-2.0.0/uv/crates/uv-options-metadata/README.md +13 -0
  619. man_spider-2.0.0/uv/crates/uv-options-metadata/src/lib.rs +489 -0
  620. man_spider-2.0.0/uv/crates/uv-pep440/CHANGELOG.md +100 -0
  621. man_spider-2.0.0/uv/crates/uv-pep440/Cargo.toml +32 -0
  622. man_spider-2.0.0/uv/crates/uv-pep440/License-Apache +176 -0
  623. man_spider-2.0.0/uv/crates/uv-pep440/License-BSD +22 -0
  624. man_spider-2.0.0/uv/crates/uv-pep440/README.md +13 -0
  625. man_spider-2.0.0/uv/crates/uv-pep440/src/lib.rs +61 -0
  626. man_spider-2.0.0/uv/crates/uv-pep440/src/version.rs +4682 -0
  627. man_spider-2.0.0/uv/crates/uv-pep440/src/version_ranges.rs +624 -0
  628. man_spider-2.0.0/uv/crates/uv-pep440/src/version_specifier.rs +2054 -0
  629. man_spider-2.0.0/uv/crates/uv-pep508/Cargo.toml +61 -0
  630. man_spider-2.0.0/uv/crates/uv-pep508/Changelog.md +32 -0
  631. man_spider-2.0.0/uv/crates/uv-pep508/License-Apache +176 -0
  632. man_spider-2.0.0/uv/crates/uv-pep508/License-BSD +22 -0
  633. man_spider-2.0.0/uv/crates/uv-pep508/README.md +13 -0
  634. man_spider-2.0.0/uv/crates/uv-pep508/src/cursor.rs +142 -0
  635. man_spider-2.0.0/uv/crates/uv-pep508/src/lib.rs +1913 -0
  636. man_spider-2.0.0/uv/crates/uv-pep508/src/marker/algebra.rs +1817 -0
  637. man_spider-2.0.0/uv/crates/uv-pep508/src/marker/environment.rs +341 -0
  638. man_spider-2.0.0/uv/crates/uv-pep508/src/marker/lowering.rs +194 -0
  639. man_spider-2.0.0/uv/crates/uv-pep508/src/marker/mod.rs +49 -0
  640. man_spider-2.0.0/uv/crates/uv-pep508/src/marker/parse.rs +687 -0
  641. man_spider-2.0.0/uv/crates/uv-pep508/src/marker/simplify.rs +472 -0
  642. man_spider-2.0.0/uv/crates/uv-pep508/src/marker/tree.rs +3714 -0
  643. man_spider-2.0.0/uv/crates/uv-pep508/src/origin.rs +32 -0
  644. man_spider-2.0.0/uv/crates/uv-pep508/src/unnamed.rs +419 -0
  645. man_spider-2.0.0/uv/crates/uv-pep508/src/verbatim_url.rs +779 -0
  646. man_spider-2.0.0/uv/crates/uv-performance-memory-allocator/Cargo.toml +21 -0
  647. man_spider-2.0.0/uv/crates/uv-performance-memory-allocator/README.md +14 -0
  648. man_spider-2.0.0/uv/crates/uv-performance-memory-allocator/src/lib.rs +19 -0
  649. man_spider-2.0.0/uv/crates/uv-platform/Cargo.toml +34 -0
  650. man_spider-2.0.0/uv/crates/uv-platform/README.md +13 -0
  651. man_spider-2.0.0/uv/crates/uv-platform/src/arch.rs +289 -0
  652. man_spider-2.0.0/uv/crates/uv-platform/src/cpuinfo.rs +33 -0
  653. man_spider-2.0.0/uv/crates/uv-platform/src/lib.rs +510 -0
  654. man_spider-2.0.0/uv/crates/uv-platform/src/libc.rs +386 -0
  655. man_spider-2.0.0/uv/crates/uv-platform/src/os.rs +112 -0
  656. man_spider-2.0.0/uv/crates/uv-platform-tags/Cargo.toml +28 -0
  657. man_spider-2.0.0/uv/crates/uv-platform-tags/README.md +13 -0
  658. man_spider-2.0.0/uv/crates/uv-platform-tags/src/abi_tag.rs +502 -0
  659. man_spider-2.0.0/uv/crates/uv-platform-tags/src/language_tag.rs +420 -0
  660. man_spider-2.0.0/uv/crates/uv-platform-tags/src/lib.rs +11 -0
  661. man_spider-2.0.0/uv/crates/uv-platform-tags/src/platform.rs +238 -0
  662. man_spider-2.0.0/uv/crates/uv-platform-tags/src/platform_tag.rs +1254 -0
  663. man_spider-2.0.0/uv/crates/uv-platform-tags/src/tags.rs +2670 -0
  664. man_spider-2.0.0/uv/crates/uv-preview/Cargo.toml +28 -0
  665. man_spider-2.0.0/uv/crates/uv-preview/README.md +13 -0
  666. man_spider-2.0.0/uv/crates/uv-preview/src/lib.rs +340 -0
  667. man_spider-2.0.0/uv/crates/uv-publish/Cargo.toml +62 -0
  668. man_spider-2.0.0/uv/crates/uv-publish/README.md +13 -0
  669. man_spider-2.0.0/uv/crates/uv-publish/src/lib.rs +2258 -0
  670. man_spider-2.0.0/uv/crates/uv-publish/src/snapshots/uv_publish__tests__group_files.snap +43 -0
  671. man_spider-2.0.0/uv/crates/uv-publish/src/trusted_publishing/pypi.rs +127 -0
  672. man_spider-2.0.0/uv/crates/uv-publish/src/trusted_publishing/pyx.rs +153 -0
  673. man_spider-2.0.0/uv/crates/uv-publish/src/trusted_publishing.rs +198 -0
  674. man_spider-2.0.0/uv/crates/uv-pypi-types/Cargo.toml +51 -0
  675. man_spider-2.0.0/uv/crates/uv-pypi-types/README.md +13 -0
  676. man_spider-2.0.0/uv/crates/uv-pypi-types/src/base_url.rs +35 -0
  677. man_spider-2.0.0/uv/crates/uv-pypi-types/src/conflicts.rs +799 -0
  678. man_spider-2.0.0/uv/crates/uv-pypi-types/src/dependency_groups.rs +148 -0
  679. man_spider-2.0.0/uv/crates/uv-pypi-types/src/direct_url.rs +152 -0
  680. man_spider-2.0.0/uv/crates/uv-pypi-types/src/identifier.rs +186 -0
  681. man_spider-2.0.0/uv/crates/uv-pypi-types/src/lenient_requirement.rs +436 -0
  682. man_spider-2.0.0/uv/crates/uv-pypi-types/src/lib.rs +27 -0
  683. man_spider-2.0.0/uv/crates/uv-pypi-types/src/marker_environment.rs +53 -0
  684. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/build_requires.rs +13 -0
  685. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/metadata10.rs +33 -0
  686. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/metadata23.rs +396 -0
  687. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/metadata_resolver.rs +429 -0
  688. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/mod.rs +128 -0
  689. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/pyproject_toml.rs +90 -0
  690. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/requires_dist.rs +97 -0
  691. man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/requires_txt.rs +169 -0
  692. man_spider-2.0.0/uv/crates/uv-pypi-types/src/parsed_url.rs +604 -0
  693. man_spider-2.0.0/uv/crates/uv-pypi-types/src/project_status.rs +141 -0
  694. man_spider-2.0.0/uv/crates/uv-pypi-types/src/scheme.rs +17 -0
  695. man_spider-2.0.0/uv/crates/uv-pypi-types/src/simple_json.rs +875 -0
  696. man_spider-2.0.0/uv/crates/uv-pypi-types/src/supported_environments.rs +107 -0
  697. man_spider-2.0.0/uv/crates/uv-python/.gitignore +1 -0
  698. man_spider-2.0.0/uv/crates/uv-python/Cargo.toml +87 -0
  699. man_spider-2.0.0/uv/crates/uv-python/README.md +13 -0
  700. man_spider-2.0.0/uv/crates/uv-python/build.rs +76 -0
  701. man_spider-2.0.0/uv/crates/uv-python/download-metadata.json +69107 -0
  702. man_spider-2.0.0/uv/crates/uv-python/fetch-download-metadata.py +908 -0
  703. man_spider-2.0.0/uv/crates/uv-python/python/__init__.py +0 -0
  704. man_spider-2.0.0/uv/crates/uv-python/python/get_interpreter_info.py +686 -0
  705. man_spider-2.0.0/uv/crates/uv-python/python/packaging/LICENSE.APACHE +177 -0
  706. man_spider-2.0.0/uv/crates/uv-python/python/packaging/LICENSE.BSD +23 -0
  707. man_spider-2.0.0/uv/crates/uv-python/python/packaging/README.md +6 -0
  708. man_spider-2.0.0/uv/crates/uv-python/python/packaging/__init__.py +15 -0
  709. man_spider-2.0.0/uv/crates/uv-python/python/packaging/_elffile.py +109 -0
  710. man_spider-2.0.0/uv/crates/uv-python/python/packaging/_manylinux.py +259 -0
  711. man_spider-2.0.0/uv/crates/uv-python/python/packaging/_musllinux.py +85 -0
  712. man_spider-2.0.0/uv/crates/uv-python/python/ruff.toml +2 -0
  713. man_spider-2.0.0/uv/crates/uv-python/src/discovery.rs +4123 -0
  714. man_spider-2.0.0/uv/crates/uv-python/src/downloads.rs +2217 -0
  715. man_spider-2.0.0/uv/crates/uv-python/src/environment.rs +368 -0
  716. man_spider-2.0.0/uv/crates/uv-python/src/implementation.rs +156 -0
  717. man_spider-2.0.0/uv/crates/uv-python/src/installation.rs +925 -0
  718. man_spider-2.0.0/uv/crates/uv-python/src/interpreter.rs +1387 -0
  719. man_spider-2.0.0/uv/crates/uv-python/src/lib.rs +2976 -0
  720. man_spider-2.0.0/uv/crates/uv-python/src/macos_dylib.rs +63 -0
  721. man_spider-2.0.0/uv/crates/uv-python/src/managed.rs +1343 -0
  722. man_spider-2.0.0/uv/crates/uv-python/src/microsoft_store.rs +119 -0
  723. man_spider-2.0.0/uv/crates/uv-python/src/pointer_size.rs +21 -0
  724. man_spider-2.0.0/uv/crates/uv-python/src/prefix.rs +45 -0
  725. man_spider-2.0.0/uv/crates/uv-python/src/python_version.rs +301 -0
  726. man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/cursor.rs +148 -0
  727. man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/generated_mappings.rs +100 -0
  728. man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/mod.rs +435 -0
  729. man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/parser.rs +537 -0
  730. man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/replacements.rs +27 -0
  731. man_spider-2.0.0/uv/crates/uv-python/src/target.rs +43 -0
  732. man_spider-2.0.0/uv/crates/uv-python/src/version_files.rs +290 -0
  733. man_spider-2.0.0/uv/crates/uv-python/src/virtualenv.rs +447 -0
  734. man_spider-2.0.0/uv/crates/uv-python/src/windows_registry.rs +303 -0
  735. man_spider-2.0.0/uv/crates/uv-redacted/Cargo.toml +26 -0
  736. man_spider-2.0.0/uv/crates/uv-redacted/README.md +13 -0
  737. man_spider-2.0.0/uv/crates/uv-redacted/src/lib.rs +528 -0
  738. man_spider-2.0.0/uv/crates/uv-requirements/Cargo.toml +48 -0
  739. man_spider-2.0.0/uv/crates/uv-requirements/README.md +13 -0
  740. man_spider-2.0.0/uv/crates/uv-requirements/src/extras.rs +126 -0
  741. man_spider-2.0.0/uv/crates/uv-requirements/src/lib.rs +91 -0
  742. man_spider-2.0.0/uv/crates/uv-requirements/src/lookahead.rs +214 -0
  743. man_spider-2.0.0/uv/crates/uv-requirements/src/source_tree.rs +236 -0
  744. man_spider-2.0.0/uv/crates/uv-requirements/src/sources.rs +340 -0
  745. man_spider-2.0.0/uv/crates/uv-requirements/src/specification.rs +775 -0
  746. man_spider-2.0.0/uv/crates/uv-requirements/src/unnamed.rs +343 -0
  747. man_spider-2.0.0/uv/crates/uv-requirements/src/upgrade.rs +133 -0
  748. man_spider-2.0.0/uv/crates/uv-requirements-txt/Cargo.toml +51 -0
  749. man_spider-2.0.0/uv/crates/uv-requirements-txt/README.md +13 -0
  750. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/lib.rs +2970 -0
  751. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/requirement.rs +172 -0
  752. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/shquote.rs +211 -0
  753. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-basic.txt.snap +190 -0
  754. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-constraints-a.txt.snap +94 -0
  755. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-constraints-b.txt.snap +74 -0
  756. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-empty.txt.snap +15 -0
  757. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-for-poetry.txt.snap +129 -0
  758. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-include-a.txt.snap +63 -0
  759. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-include-b.txt.snap +34 -0
  760. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-poetry-with-hashes.txt.snap +175 -0
  761. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-small.txt.snap +74 -0
  762. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-whitespace.txt.snap +106 -0
  763. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-basic.txt.snap +190 -0
  764. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-constraints-a.txt.snap +94 -0
  765. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-constraints-b.txt.snap +74 -0
  766. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-empty.txt.snap +15 -0
  767. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-for-poetry.txt.snap +129 -0
  768. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-include-a.txt.snap +63 -0
  769. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-include-b.txt.snap +34 -0
  770. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-poetry-with-hashes.txt.snap +175 -0
  771. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-small.txt.snap +74 -0
  772. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-bare-url.txt.snap +320 -0
  773. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-editable.txt.snap +460 -0
  774. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-hash.txt.snap +19 -0
  775. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-semicolon.txt.snap +22 -0
  776. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-whitespace.txt.snap +106 -0
  777. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-windows-bare-url.txt.snap +320 -0
  778. man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-windows-editable.txt.snap +460 -0
  779. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/bare-url.txt +6 -0
  780. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/basic.txt +6 -0
  781. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/constraints-a.txt +2 -0
  782. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/constraints-b.txt +2 -0
  783. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/editable.txt +23 -0
  784. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/empty.txt +0 -0
  785. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/for-poetry.txt +6 -0
  786. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/hash.txt +2 -0
  787. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/include-a.txt +3 -0
  788. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/include-b.txt +1 -0
  789. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/poetry-with-hashes.txt +14 -0
  790. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/semicolon.txt +2 -0
  791. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/small.txt +4 -0
  792. man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/whitespace.txt +25 -0
  793. man_spider-2.0.0/uv/crates/uv-resolver/Cargo.toml +84 -0
  794. man_spider-2.0.0/uv/crates/uv-resolver/README.md +13 -0
  795. man_spider-2.0.0/uv/crates/uv-resolver/src/candidate_selector.rs +774 -0
  796. man_spider-2.0.0/uv/crates/uv-resolver/src/dependency_mode.rs +20 -0
  797. man_spider-2.0.0/uv/crates/uv-resolver/src/dependency_provider.rs +61 -0
  798. man_spider-2.0.0/uv/crates/uv-resolver/src/error.rs +1467 -0
  799. man_spider-2.0.0/uv/crates/uv-resolver/src/exclude_newer.rs +835 -0
  800. man_spider-2.0.0/uv/crates/uv-resolver/src/exclusions.rs +27 -0
  801. man_spider-2.0.0/uv/crates/uv-resolver/src/flat_index.rs +269 -0
  802. man_spider-2.0.0/uv/crates/uv-resolver/src/fork_indexes.rs +38 -0
  803. man_spider-2.0.0/uv/crates/uv-resolver/src/fork_strategy.rs +23 -0
  804. man_spider-2.0.0/uv/crates/uv-resolver/src/fork_urls.rs +52 -0
  805. man_spider-2.0.0/uv/crates/uv-resolver/src/graph_ops.rs +344 -0
  806. man_spider-2.0.0/uv/crates/uv-resolver/src/lib.rs +69 -0
  807. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/cyclonedx_json.rs +445 -0
  808. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/mod.rs +544 -0
  809. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/pylock_toml.rs +1770 -0
  810. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/requirements_txt.rs +216 -0
  811. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/installable.rs +590 -0
  812. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/map.rs +42 -0
  813. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/mod.rs +6672 -0
  814. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_missing.snap +133 -0
  815. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_present.snap +140 -0
  816. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_required_present.snap +132 -0
  817. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_unambiguous.snap +211 -0
  818. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_version_unambiguous.snap +211 -0
  819. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_dynamic.snap +236 -0
  820. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_unambiguous.snap +211 -0
  821. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_has_subdir.snap +111 -0
  822. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_no_subdir.snap +107 -0
  823. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_directory.snap +97 -0
  824. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_editable.snap +97 -0
  825. man_spider-2.0.0/uv/crates/uv-resolver/src/lock/tree.rs +701 -0
  826. man_spider-2.0.0/uv/crates/uv-resolver/src/manifest.rs +275 -0
  827. man_spider-2.0.0/uv/crates/uv-resolver/src/marker.rs +189 -0
  828. man_spider-2.0.0/uv/crates/uv-resolver/src/options.rs +141 -0
  829. man_spider-2.0.0/uv/crates/uv-resolver/src/pins.rs +34 -0
  830. man_spider-2.0.0/uv/crates/uv-resolver/src/preferences.rs +414 -0
  831. man_spider-2.0.0/uv/crates/uv-resolver/src/prerelease.rs +144 -0
  832. man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/dependencies.rs +278 -0
  833. man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/distribution.rs +38 -0
  834. man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/mod.rs +11 -0
  835. man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/package.rs +411 -0
  836. man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/priority.rs +279 -0
  837. man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/report.rs +2238 -0
  838. man_spider-2.0.0/uv/crates/uv-resolver/src/python_requirement.rs +186 -0
  839. man_spider-2.0.0/uv/crates/uv-resolver/src/redirect.rs +150 -0
  840. man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/display.rs +437 -0
  841. man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/mod.rs +87 -0
  842. man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/output.rs +1006 -0
  843. man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/requirements_txt.rs +225 -0
  844. man_spider-2.0.0/uv/crates/uv-resolver/src/resolution_mode.rs +61 -0
  845. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/availability.rs +219 -0
  846. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/batch_prefetch.rs +364 -0
  847. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/derivation.rs +91 -0
  848. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/environment.rs +806 -0
  849. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/fork_map.rs +69 -0
  850. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/index.rs +44 -0
  851. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/indexes.rs +75 -0
  852. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/mod.rs +4121 -0
  853. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/provider.rs +318 -0
  854. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/reporter.rs +83 -0
  855. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/system.rs +96 -0
  856. man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/urls.rs +210 -0
  857. man_spider-2.0.0/uv/crates/uv-resolver/src/universal_marker.rs +1038 -0
  858. man_spider-2.0.0/uv/crates/uv-resolver/src/version_map.rs +692 -0
  859. man_spider-2.0.0/uv/crates/uv-resolver/src/yanks.rs +60 -0
  860. man_spider-2.0.0/uv/crates/uv-scripts/Cargo.toml +38 -0
  861. man_spider-2.0.0/uv/crates/uv-scripts/README.md +13 -0
  862. man_spider-2.0.0/uv/crates/uv-scripts/src/lib.rs +1139 -0
  863. man_spider-2.0.0/uv/crates/uv-settings/Cargo.toml +56 -0
  864. man_spider-2.0.0/uv/crates/uv-settings/README.md +13 -0
  865. man_spider-2.0.0/uv/crates/uv-settings/src/combine.rs +309 -0
  866. man_spider-2.0.0/uv/crates/uv-settings/src/lib.rs +809 -0
  867. man_spider-2.0.0/uv/crates/uv-settings/src/settings.rs +2484 -0
  868. man_spider-2.0.0/uv/crates/uv-shell/Cargo.toml +37 -0
  869. man_spider-2.0.0/uv/crates/uv-shell/README.md +13 -0
  870. man_spider-2.0.0/uv/crates/uv-shell/src/lib.rs +443 -0
  871. man_spider-2.0.0/uv/crates/uv-shell/src/runnable.rs +208 -0
  872. man_spider-2.0.0/uv/crates/uv-shell/src/shlex.rs +50 -0
  873. man_spider-2.0.0/uv/crates/uv-shell/src/windows.rs +115 -0
  874. man_spider-2.0.0/uv/crates/uv-small-str/Cargo.toml +22 -0
  875. man_spider-2.0.0/uv/crates/uv-small-str/README.md +13 -0
  876. man_spider-2.0.0/uv/crates/uv-small-str/src/lib.rs +161 -0
  877. man_spider-2.0.0/uv/crates/uv-state/Cargo.toml +21 -0
  878. man_spider-2.0.0/uv/crates/uv-state/README.md +13 -0
  879. man_spider-2.0.0/uv/crates/uv-state/src/lib.rs +120 -0
  880. man_spider-2.0.0/uv/crates/uv-static/Cargo.toml +21 -0
  881. man_spider-2.0.0/uv/crates/uv-static/README.md +13 -0
  882. man_spider-2.0.0/uv/crates/uv-static/src/env_vars.rs +1297 -0
  883. man_spider-2.0.0/uv/crates/uv-static/src/lib.rs +67 -0
  884. man_spider-2.0.0/uv/crates/uv-tool/Cargo.toml +42 -0
  885. man_spider-2.0.0/uv/crates/uv-tool/README.md +13 -0
  886. man_spider-2.0.0/uv/crates/uv-tool/src/lib.rs +485 -0
  887. man_spider-2.0.0/uv/crates/uv-tool/src/receipt.rs +52 -0
  888. man_spider-2.0.0/uv/crates/uv-tool/src/tool.rs +374 -0
  889. man_spider-2.0.0/uv/crates/uv-torch/Cargo.toml +32 -0
  890. man_spider-2.0.0/uv/crates/uv-torch/README.md +13 -0
  891. man_spider-2.0.0/uv/crates/uv-torch/src/accelerator.rs +379 -0
  892. man_spider-2.0.0/uv/crates/uv-torch/src/backend.rs +1419 -0
  893. man_spider-2.0.0/uv/crates/uv-torch/src/lib.rs +5 -0
  894. man_spider-2.0.0/uv/crates/uv-trampoline/.cargo/config.toml +4 -0
  895. man_spider-2.0.0/uv/crates/uv-trampoline/Cargo.lock +286 -0
  896. man_spider-2.0.0/uv/crates/uv-trampoline/Cargo.toml +62 -0
  897. man_spider-2.0.0/uv/crates/uv-trampoline/README.md +160 -0
  898. man_spider-2.0.0/uv/crates/uv-trampoline/build.rs +17 -0
  899. man_spider-2.0.0/uv/crates/uv-trampoline/rust-toolchain.toml +2 -0
  900. man_spider-2.0.0/uv/crates/uv-trampoline/src/bin/uv-trampoline-console.rs +9 -0
  901. man_spider-2.0.0/uv/crates/uv-trampoline/src/bin/uv-trampoline-gui.rs +9 -0
  902. man_spider-2.0.0/uv/crates/uv-trampoline/src/bounce.rs +495 -0
  903. man_spider-2.0.0/uv/crates/uv-trampoline/src/diagnostics.rs +56 -0
  904. man_spider-2.0.0/uv/crates/uv-trampoline/src/lib.rs +2 -0
  905. man_spider-2.0.0/uv/crates/uv-trampoline-builder/Cargo.toml +39 -0
  906. man_spider-2.0.0/uv/crates/uv-trampoline-builder/README.md +13 -0
  907. man_spider-2.0.0/uv/crates/uv-trampoline-builder/src/lib.rs +808 -0
  908. man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-aarch64-console.exe +0 -0
  909. man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-aarch64-gui.exe +0 -0
  910. man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-i686-console.exe +0 -0
  911. man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-i686-gui.exe +0 -0
  912. man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-x86_64-console.exe +0 -0
  913. man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-x86_64-gui.exe +0 -0
  914. man_spider-2.0.0/uv/crates/uv-types/Cargo.toml +38 -0
  915. man_spider-2.0.0/uv/crates/uv-types/README.md +13 -0
  916. man_spider-2.0.0/uv/crates/uv-types/src/builds.rs +84 -0
  917. man_spider-2.0.0/uv/crates/uv-types/src/downloads.rs +9 -0
  918. man_spider-2.0.0/uv/crates/uv-types/src/hash.rs +340 -0
  919. man_spider-2.0.0/uv/crates/uv-types/src/lib.rs +12 -0
  920. man_spider-2.0.0/uv/crates/uv-types/src/requirements.rs +43 -0
  921. man_spider-2.0.0/uv/crates/uv-types/src/traits.rs +289 -0
  922. man_spider-2.0.0/uv/crates/uv-unix/Cargo.toml +20 -0
  923. man_spider-2.0.0/uv/crates/uv-unix/README.md +13 -0
  924. man_spider-2.0.0/uv/crates/uv-unix/src/lib.rs +9 -0
  925. man_spider-2.0.0/uv/crates/uv-unix/src/resource_limits.rs +111 -0
  926. man_spider-2.0.0/uv/crates/uv-version/Cargo.toml +18 -0
  927. man_spider-2.0.0/uv/crates/uv-version/README.md +13 -0
  928. man_spider-2.0.0/uv/crates/uv-version/src/lib.rs +16 -0
  929. man_spider-2.0.0/uv/crates/uv-virtualenv/Cargo.toml +40 -0
  930. man_spider-2.0.0/uv/crates/uv-virtualenv/README.md +55 -0
  931. man_spider-2.0.0/uv/crates/uv-virtualenv/src/_virtualenv.py +101 -0
  932. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/.gitattributes +1 -0
  933. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate +130 -0
  934. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.bat +71 -0
  935. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.csh +76 -0
  936. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.fish +124 -0
  937. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.nu +102 -0
  938. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.ps1 +82 -0
  939. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate_this.py +59 -0
  940. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/deactivate.bat +39 -0
  941. man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/pydoc.bat +22 -0
  942. man_spider-2.0.0/uv/crates/uv-virtualenv/src/lib.rs +77 -0
  943. man_spider-2.0.0/uv/crates/uv-virtualenv/src/virtualenv.rs +941 -0
  944. man_spider-2.0.0/uv/crates/uv-warnings/Cargo.toml +26 -0
  945. man_spider-2.0.0/uv/crates/uv-warnings/README.md +13 -0
  946. man_spider-2.0.0/uv/crates/uv-warnings/src/lib.rs +158 -0
  947. man_spider-2.0.0/uv/crates/uv-windows/Cargo.toml +23 -0
  948. man_spider-2.0.0/uv/crates/uv-windows/README.md +13 -0
  949. man_spider-2.0.0/uv/crates/uv-windows/src/ctrl_handler.rs +53 -0
  950. man_spider-2.0.0/uv/crates/uv-windows/src/job.rs +160 -0
  951. man_spider-2.0.0/uv/crates/uv-windows/src/lib.rs +16 -0
  952. man_spider-2.0.0/uv/crates/uv-windows/src/spawn.rs +89 -0
  953. man_spider-2.0.0/uv/crates/uv-workspace/Cargo.toml +57 -0
  954. man_spider-2.0.0/uv/crates/uv-workspace/README.md +13 -0
  955. man_spider-2.0.0/uv/crates/uv-workspace/src/dependency_groups.rs +335 -0
  956. man_spider-2.0.0/uv/crates/uv-workspace/src/lib.rs +10 -0
  957. man_spider-2.0.0/uv/crates/uv-workspace/src/pyproject.rs +1899 -0
  958. man_spider-2.0.0/uv/crates/uv-workspace/src/pyproject_mut.rs +1930 -0
  959. man_spider-2.0.0/uv/crates/uv-workspace/src/workspace.rs +2886 -0
  960. man_spider-2.0.0/uv/dist-workspace.toml +93 -0
  961. man_spider-2.0.0/uv/docs/.gitignore +1 -0
  962. man_spider-2.0.0/uv/docs/.overrides/main.html +47 -0
  963. man_spider-2.0.0/uv/docs/.overrides/partials/integrations/analytics/fathom.html +5 -0
  964. man_spider-2.0.0/uv/docs/assets/favicon.ico +0 -0
  965. man_spider-2.0.0/uv/docs/assets/github-add-environment.png +0 -0
  966. man_spider-2.0.0/uv/docs/assets/logo-letter.svg +3 -0
  967. man_spider-2.0.0/uv/docs/assets/pypi-add-trusted-publisher.png +0 -0
  968. man_spider-2.0.0/uv/docs/assets/pypi-with-trusted-publisher.png +0 -0
  969. man_spider-2.0.0/uv/docs/assets/uv_gui_script_hello_world.png +0 -0
  970. man_spider-2.0.0/uv/docs/assets/uv_gui_script_hello_world_pyqt.png +0 -0
  971. man_spider-2.0.0/uv/docs/concepts/authentication/certificates.md +41 -0
  972. man_spider-2.0.0/uv/docs/concepts/authentication/cli.md +69 -0
  973. man_spider-2.0.0/uv/docs/concepts/authentication/git.md +70 -0
  974. man_spider-2.0.0/uv/docs/concepts/authentication/http.md +85 -0
  975. man_spider-2.0.0/uv/docs/concepts/authentication/index.md +11 -0
  976. man_spider-2.0.0/uv/docs/concepts/authentication/third-party.md +21 -0
  977. man_spider-2.0.0/uv/docs/concepts/build-backend.md +264 -0
  978. man_spider-2.0.0/uv/docs/concepts/cache.md +208 -0
  979. man_spider-2.0.0/uv/docs/concepts/configuration-files.md +125 -0
  980. man_spider-2.0.0/uv/docs/concepts/index.md +16 -0
  981. man_spider-2.0.0/uv/docs/concepts/indexes.md +320 -0
  982. man_spider-2.0.0/uv/docs/concepts/preview.md +81 -0
  983. man_spider-2.0.0/uv/docs/concepts/projects/build.md +74 -0
  984. man_spider-2.0.0/uv/docs/concepts/projects/config.md +616 -0
  985. man_spider-2.0.0/uv/docs/concepts/projects/dependencies.md +966 -0
  986. man_spider-2.0.0/uv/docs/concepts/projects/export.md +117 -0
  987. man_spider-2.0.0/uv/docs/concepts/projects/index.md +18 -0
  988. man_spider-2.0.0/uv/docs/concepts/projects/init.md +343 -0
  989. man_spider-2.0.0/uv/docs/concepts/projects/layout.md +104 -0
  990. man_spider-2.0.0/uv/docs/concepts/projects/run.md +100 -0
  991. man_spider-2.0.0/uv/docs/concepts/projects/sync.md +222 -0
  992. man_spider-2.0.0/uv/docs/concepts/projects/workspaces.md +206 -0
  993. man_spider-2.0.0/uv/docs/concepts/python-versions.md +508 -0
  994. man_spider-2.0.0/uv/docs/concepts/resolution.md +777 -0
  995. man_spider-2.0.0/uv/docs/concepts/tools.md +282 -0
  996. man_spider-2.0.0/uv/docs/getting-started/features.md +109 -0
  997. man_spider-2.0.0/uv/docs/getting-started/first-steps.md +21 -0
  998. man_spider-2.0.0/uv/docs/getting-started/help.md +86 -0
  999. man_spider-2.0.0/uv/docs/getting-started/index.md +14 -0
  1000. man_spider-2.0.0/uv/docs/getting-started/installation.md +290 -0
  1001. man_spider-2.0.0/uv/docs/guides/index.md +13 -0
  1002. man_spider-2.0.0/uv/docs/guides/install-python.md +157 -0
  1003. man_spider-2.0.0/uv/docs/guides/integration/alternative-indexes.md +435 -0
  1004. man_spider-2.0.0/uv/docs/guides/integration/aws-lambda.md +600 -0
  1005. man_spider-2.0.0/uv/docs/guides/integration/coiled.md +142 -0
  1006. man_spider-2.0.0/uv/docs/guides/integration/dependency-bots.md +77 -0
  1007. man_spider-2.0.0/uv/docs/guides/integration/docker.md +623 -0
  1008. man_spider-2.0.0/uv/docs/guides/integration/fastapi.md +136 -0
  1009. man_spider-2.0.0/uv/docs/guides/integration/github.md +415 -0
  1010. man_spider-2.0.0/uv/docs/guides/integration/gitlab.md +86 -0
  1011. man_spider-2.0.0/uv/docs/guides/integration/index.md +18 -0
  1012. man_spider-2.0.0/uv/docs/guides/integration/jupyter.md +170 -0
  1013. man_spider-2.0.0/uv/docs/guides/integration/marimo.md +108 -0
  1014. man_spider-2.0.0/uv/docs/guides/integration/pre-commit.md +81 -0
  1015. man_spider-2.0.0/uv/docs/guides/integration/pytorch.md +481 -0
  1016. man_spider-2.0.0/uv/docs/guides/migration/index.md +14 -0
  1017. man_spider-2.0.0/uv/docs/guides/migration/pip-to-project.md +499 -0
  1018. man_spider-2.0.0/uv/docs/guides/package.md +215 -0
  1019. man_spider-2.0.0/uv/docs/guides/projects.md +282 -0
  1020. man_spider-2.0.0/uv/docs/guides/scripts.md +393 -0
  1021. man_spider-2.0.0/uv/docs/guides/tools.md +313 -0
  1022. man_spider-2.0.0/uv/docs/index.md +246 -0
  1023. man_spider-2.0.0/uv/docs/js/extra.js +140 -0
  1024. man_spider-2.0.0/uv/docs/pip/compatibility.md +510 -0
  1025. man_spider-2.0.0/uv/docs/pip/compile.md +218 -0
  1026. man_spider-2.0.0/uv/docs/pip/dependencies.md +54 -0
  1027. man_spider-2.0.0/uv/docs/pip/environments.md +151 -0
  1028. man_spider-2.0.0/uv/docs/pip/index.md +25 -0
  1029. man_spider-2.0.0/uv/docs/pip/inspection.md +42 -0
  1030. man_spider-2.0.0/uv/docs/pip/packages.md +147 -0
  1031. man_spider-2.0.0/uv/docs/reference/benchmarks.md +7 -0
  1032. man_spider-2.0.0/uv/docs/reference/index.md +11 -0
  1033. man_spider-2.0.0/uv/docs/reference/installer.md +58 -0
  1034. man_spider-2.0.0/uv/docs/reference/internals/index.md +5 -0
  1035. man_spider-2.0.0/uv/docs/reference/internals/resolver.md +336 -0
  1036. man_spider-2.0.0/uv/docs/reference/policies/index.md +5 -0
  1037. man_spider-2.0.0/uv/docs/reference/policies/license.md +19 -0
  1038. man_spider-2.0.0/uv/docs/reference/policies/platforms.md +84 -0
  1039. man_spider-2.0.0/uv/docs/reference/policies/versioning.md +39 -0
  1040. man_spider-2.0.0/uv/docs/reference/storage.md +200 -0
  1041. man_spider-2.0.0/uv/docs/reference/troubleshooting/build-failures.md +336 -0
  1042. man_spider-2.0.0/uv/docs/reference/troubleshooting/index.md +7 -0
  1043. man_spider-2.0.0/uv/docs/reference/troubleshooting/reproducible-examples.md +151 -0
  1044. man_spider-2.0.0/uv/docs/requirements.in +10 -0
  1045. man_spider-2.0.0/uv/docs/requirements.txt +156 -0
  1046. man_spider-2.0.0/uv/docs/stylesheets/extra.css +257 -0
  1047. man_spider-2.0.0/uv/mkdocs.yml +265 -0
  1048. man_spider-2.0.0/uv/pyproject.toml +97 -0
  1049. man_spider-2.0.0/uv/python/ruff.toml +2 -0
  1050. man_spider-2.0.0/uv/python/uv/__init__.py +24 -0
  1051. man_spider-2.0.0/uv/python/uv/__main__.py +52 -0
  1052. man_spider-2.0.0/uv/python/uv/_find_uv.py +101 -0
  1053. man_spider-2.0.0/uv/python/uv/py.typed +0 -0
  1054. man_spider-2.0.0/uv/ruff.toml +14 -0
  1055. man_spider-2.0.0/uv/rust-toolchain.toml +2 -0
  1056. man_spider-2.0.0/uv/rustfmt.toml +2 -0
  1057. man_spider-2.0.0/uv/scripts/benchmark/.python-version +1 -0
  1058. man_spider-2.0.0/uv/scripts/benchmark/README.md +16 -0
  1059. man_spider-2.0.0/uv/scripts/benchmark/pyproject.toml +22 -0
  1060. man_spider-2.0.0/uv/scripts/benchmark/src/benchmark/__init__.py +75 -0
  1061. man_spider-2.0.0/uv/scripts/benchmark/src/benchmark/resolver.py +1476 -0
  1062. man_spider-2.0.0/uv/scripts/benchmark/src/benchmark/tools.py +345 -0
  1063. man_spider-2.0.0/uv/scripts/benchmark/uv.lock +1048 -0
  1064. man_spider-2.0.0/uv/scripts/bump-workspace-crate-versions.py +84 -0
  1065. man_spider-2.0.0/uv/scripts/check-trampoline-version-consistency.py +56 -0
  1066. man_spider-2.0.0/uv/scripts/check_cache_compat.py +136 -0
  1067. man_spider-2.0.0/uv/scripts/check_embedded_python.py +96 -0
  1068. man_spider-2.0.0/uv/scripts/check_registry.py +219 -0
  1069. man_spider-2.0.0/uv/scripts/check_system_python.py +281 -0
  1070. man_spider-2.0.0/uv/scripts/codesign-macos.sh +36 -0
  1071. man_spider-2.0.0/uv/scripts/create-python-mirror.py +292 -0
  1072. man_spider-2.0.0/uv/scripts/generate-crate-readmes.py +161 -0
  1073. man_spider-2.0.0/uv/scripts/manual-github-release.sh +56 -0
  1074. man_spider-2.0.0/uv/scripts/nextest-setup-hook-unix.sh +35 -0
  1075. man_spider-2.0.0/uv/scripts/popular_packages/.gitignore +2 -0
  1076. man_spider-2.0.0/uv/scripts/popular_packages/download.sh +4 -0
  1077. man_spider-2.0.0/uv/scripts/popular_packages/pypi_10k_most_dependents.ipynb +86 -0
  1078. man_spider-2.0.0/uv/scripts/publish/.gitignore +1 -0
  1079. man_spider-2.0.0/uv/scripts/publish/test_publish.py +825 -0
  1080. man_spider-2.0.0/uv/scripts/publish/test_publish.py.lock +671 -0
  1081. man_spider-2.0.0/uv/scripts/registries-test.py +442 -0
  1082. man_spider-2.0.0/uv/scripts/release.sh +27 -0
  1083. man_spider-2.0.0/uv/scripts/reverse-changelog.py +56 -0
  1084. man_spider-2.0.0/uv/scripts/scenarios/.gitignore +1 -0
  1085. man_spider-2.0.0/uv/scripts/scenarios/generate.py +362 -0
  1086. man_spider-2.0.0/uv/scripts/scenarios/pylock.toml +173 -0
  1087. man_spider-2.0.0/uv/scripts/scenarios/pyproject.toml +5 -0
  1088. man_spider-2.0.0/uv/scripts/scenarios/templates/compile.mustache +106 -0
  1089. man_spider-2.0.0/uv/scripts/scenarios/templates/install.mustache +81 -0
  1090. man_spider-2.0.0/uv/scripts/scenarios/templates/lock.mustache +97 -0
  1091. man_spider-2.0.0/uv/scripts/smoke-test/__main__.py +60 -0
  1092. man_spider-2.0.0/uv/scripts/smoke-test/commands.sh +22 -0
  1093. man_spider-2.0.0/uv/scripts/sync-python-version-constants.py +113 -0
  1094. man_spider-2.0.0/uv/scripts/sync_scenarios.sh +43 -0
  1095. man_spider-2.0.0/uv/scripts/transform_readme.py +111 -0
  1096. man_spider-2.0.0/uv/scripts/update_schemastore.py +112 -0
  1097. man_spider-2.0.0/uv/scripts/uv-run-remote-script-test.py +13 -0
  1098. man_spider-2.0.0/uv/test/ecosystem/.gitignore +5 -0
  1099. man_spider-2.0.0/uv/test/ecosystem/airflow/LICENSE +253 -0
  1100. man_spider-2.0.0/uv/test/ecosystem/airflow/NOTICE +29 -0
  1101. man_spider-2.0.0/uv/test/ecosystem/airflow/pyproject.toml +635 -0
  1102. man_spider-2.0.0/uv/test/ecosystem/black/LICENSE +21 -0
  1103. man_spider-2.0.0/uv/test/ecosystem/black/PKG-INFO +2115 -0
  1104. man_spider-2.0.0/uv/test/ecosystem/black/pyproject.toml +268 -0
  1105. man_spider-2.0.0/uv/test/ecosystem/github-wikidata-bot/License +18 -0
  1106. man_spider-2.0.0/uv/test/ecosystem/github-wikidata-bot/pyproject.toml +37 -0
  1107. man_spider-2.0.0/uv/test/ecosystem/home-assistant-core/LICENSE.md +201 -0
  1108. man_spider-2.0.0/uv/test/ecosystem/home-assistant-core/pyproject.toml +845 -0
  1109. man_spider-2.0.0/uv/test/ecosystem/packse/LICENSE-APACHE +201 -0
  1110. man_spider-2.0.0/uv/test/ecosystem/packse/LICENSE-MIT +21 -0
  1111. man_spider-2.0.0/uv/test/ecosystem/packse/pyproject.toml +55 -0
  1112. man_spider-2.0.0/uv/test/ecosystem/saleor/LICENSE +30 -0
  1113. man_spider-2.0.0/uv/test/ecosystem/saleor/pyproject.toml +151 -0
  1114. man_spider-2.0.0/uv/test/ecosystem/transformers/LICENSE +203 -0
  1115. man_spider-2.0.0/uv/test/ecosystem/transformers/pyproject.toml +351 -0
  1116. man_spider-2.0.0/uv/test/ecosystem/warehouse/LICENSE +174 -0
  1117. man_spider-2.0.0/uv/test/ecosystem/warehouse/pyproject.toml +260 -0
  1118. man_spider-2.0.0/uv/test/links/abi3_package-1.0.0-cp37-abi3-manylinux_2_17_x86_64.whl +0 -0
  1119. man_spider-2.0.0/uv/test/links/basic_app-0.1.0-py3-none-any.whl +0 -0
  1120. man_spider-2.0.0/uv/test/links/basic_package-0.1.0-py3-none-any.whl +0 -0
  1121. man_spider-2.0.0/uv/test/links/basic_package-0.1.0-py3-none-any.whl.tar.zst +0 -0
  1122. man_spider-2.0.0/uv/test/links/basic_package-0.1.0.tar.gz +0 -0
  1123. man_spider-2.0.0/uv/test/links/build_tag-1.0.0-1-py2.py3-none-any.whl +0 -0
  1124. man_spider-2.0.0/uv/test/links/build_tag-1.0.0-3-py2.py3-none-any.whl +0 -0
  1125. man_spider-2.0.0/uv/test/links/build_tag-1.0.0-5-py2.py3-none-any.whl +0 -0
  1126. man_spider-2.0.0/uv/test/links/bz2-1.0.0.tar.bz2 +0 -0
  1127. man_spider-2.0.0/uv/test/links/cpython_package-1.0.0-cp314-cp314-manylinux_2_17_x86_64.whl +0 -0
  1128. man_spider-2.0.0/uv/test/links/extras-0.0.1.tar.gz +0 -0
  1129. man_spider-2.0.0/uv/test/links/extras-0.0.2.tar.gz +0 -0
  1130. man_spider-2.0.0/uv/test/links/maturin-1.4.0-py3-none-any.whl +0 -0
  1131. man_spider-2.0.0/uv/test/links/maturin-2.0.0-py3-none-linux_x86_64.whl +0 -0
  1132. man_spider-2.0.0/uv/test/links/multi_abi_package-1.0.0-cp314-cp314t.abi3-manylinux_2_17_x86_64.whl +0 -0
  1133. man_spider-2.0.0/uv/test/links/ok-1.0.0-py3-none-any.whl +0 -0
  1134. man_spider-2.0.0/uv/test/links/ok-2.0.0-py3-none-any.whl +0 -0
  1135. man_spider-2.0.0/uv/test/links/simple_launcher-0.1.0-py3-none-any.whl +0 -0
  1136. man_spider-2.0.0/uv/test/links/tqdm-1000.0.0-py3-none-any.whl +0 -0
  1137. man_spider-2.0.0/uv/test/links/tqdm-4.66.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl +0 -0
  1138. man_spider-2.0.0/uv/test/links/tqdm-999.0.0.tar.gz +0 -0
  1139. man_spider-2.0.0/uv/test/links/validation-1.0.0-py3-none-any.whl +0 -0
  1140. man_spider-2.0.0/uv/test/links/validation-2.0.0-py3-none-any.whl +0 -0
  1141. man_spider-2.0.0/uv/test/links/validation-3.0.0-py3-none-any.whl +0 -0
  1142. man_spider-2.0.0/uv/test/links/wheel_tag_test-0.1.0-py3-none-win_amd64.whl +0 -0
  1143. man_spider-2.0.0/uv/test/packages/README.md +4 -0
  1144. man_spider-2.0.0/uv/test/packages/anyio_local/.gitignore +0 -0
  1145. man_spider-2.0.0/uv/test/packages/anyio_local/.python-version +1 -0
  1146. man_spider-2.0.0/uv/test/packages/anyio_local/anyio/__init__.py +2 -0
  1147. man_spider-2.0.0/uv/test/packages/anyio_local/pyproject.toml +16 -0
  1148. man_spider-2.0.0/uv/test/packages/black_editable/.gitignore +162 -0
  1149. man_spider-2.0.0/uv/test/packages/black_editable/black/__init__.py +6 -0
  1150. man_spider-2.0.0/uv/test/packages/black_editable/pyproject.toml +33 -0
  1151. man_spider-2.0.0/uv/test/packages/built-by-uv/.gitignore +2 -0
  1152. man_spider-2.0.0/uv/test/packages/built-by-uv/.python-version +1 -0
  1153. man_spider-2.0.0/uv/test/packages/built-by-uv/LICENSE-APACHE +201 -0
  1154. man_spider-2.0.0/uv/test/packages/built-by-uv/LICENSE-MIT +21 -0
  1155. man_spider-2.0.0/uv/test/packages/built-by-uv/README.md +3 -0
  1156. man_spider-2.0.0/uv/test/packages/built-by-uv/assets/data.csv +10 -0
  1157. man_spider-2.0.0/uv/test/packages/built-by-uv/data-dir/build-script.py +1 -0
  1158. man_spider-2.0.0/uv/test/packages/built-by-uv/data-dir/dont-include-me.txt +1 -0
  1159. man_spider-2.0.0/uv/test/packages/built-by-uv/header/built_by_uv.h +8 -0
  1160. man_spider-2.0.0/uv/test/packages/built-by-uv/pyproject.toml +28 -0
  1161. man_spider-2.0.0/uv/test/packages/built-by-uv/scripts/whoami.sh +3 -0
  1162. man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/__init__.py +2 -0
  1163. man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/arithmetic/__init__.py +3 -0
  1164. man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/arithmetic/circle.py +12 -0
  1165. man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/arithmetic/pi.txt +1 -0
  1166. man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/build-only.h +4 -0
  1167. man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/cli.py +2 -0
  1168. man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/not-packaged.txt +1 -0
  1169. man_spider-2.0.0/uv/test/packages/built-by-uv/test.sh +23 -0
  1170. man_spider-2.0.0/uv/test/packages/built-by-uv/tests/test_package.py +11 -0
  1171. man_spider-2.0.0/uv/test/packages/built-by-uv/third-party-licenses/PEP-401.txt +4 -0
  1172. man_spider-2.0.0/uv/test/packages/built-by-uv/uv.lock +103 -0
  1173. man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/.gitignore +2 -0
  1174. man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/README.md +0 -0
  1175. man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/first_local/__init__.py +0 -0
  1176. man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/pyproject.toml +17 -0
  1177. man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/.gitignore +2 -0
  1178. man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/README.md +0 -0
  1179. man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/pyproject.toml +17 -0
  1180. man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/second_local/__init__.py +0 -0
  1181. man_spider-2.0.0/uv/test/packages/deptry_reproducer/.gitignore +1 -0
  1182. man_spider-2.0.0/uv/test/packages/deptry_reproducer/Cargo.lock +7 -0
  1183. man_spider-2.0.0/uv/test/packages/deptry_reproducer/Cargo.toml +11 -0
  1184. man_spider-2.0.0/uv/test/packages/deptry_reproducer/deptry_reproducer-0.1.0.tar.gz +0 -0
  1185. man_spider-2.0.0/uv/test/packages/deptry_reproducer/pyproject.toml +21 -0
  1186. man_spider-2.0.0/uv/test/packages/deptry_reproducer/python/deptry_reproducer/__init__.py +5 -0
  1187. man_spider-2.0.0/uv/test/packages/deptry_reproducer/python/deptry_reproducer/foo.py +0 -0
  1188. man_spider-2.0.0/uv/test/packages/deptry_reproducer/src/lib.rs +1 -0
  1189. man_spider-2.0.0/uv/test/packages/fake-uv/README.md +3 -0
  1190. man_spider-2.0.0/uv/test/packages/fake-uv/pyproject.toml +11 -0
  1191. man_spider-2.0.0/uv/test/packages/fake-uv/scripts/uv +4 -0
  1192. man_spider-2.0.0/uv/test/packages/fake-uv/scripts/uv.exe +1 -0
  1193. man_spider-2.0.0/uv/test/packages/flit_editable/.gitignore +162 -0
  1194. man_spider-2.0.0/uv/test/packages/flit_editable/flit_editable/__init__.py +6 -0
  1195. man_spider-2.0.0/uv/test/packages/flit_editable/pyproject.toml +17 -0
  1196. man_spider-2.0.0/uv/test/packages/hatchling_dynamic/hatch_build.py +6 -0
  1197. man_spider-2.0.0/uv/test/packages/hatchling_dynamic/hatchling_dynamic/__init__.py +0 -0
  1198. man_spider-2.0.0/uv/test/packages/hatchling_dynamic/pyproject.toml +10 -0
  1199. man_spider-2.0.0/uv/test/packages/hatchling_editable/README.md +0 -0
  1200. man_spider-2.0.0/uv/test/packages/hatchling_editable/hatchling_editable/__init__.py +2 -0
  1201. man_spider-2.0.0/uv/test/packages/hatchling_editable/logging/__init__.py +0 -0
  1202. man_spider-2.0.0/uv/test/packages/hatchling_editable/pyproject.toml +22 -0
  1203. man_spider-2.0.0/uv/test/packages/keyring_test_plugin/keyrings/__init__.py +0 -0
  1204. man_spider-2.0.0/uv/test/packages/keyring_test_plugin/keyrings/test_keyring.py +34 -0
  1205. man_spider-2.0.0/uv/test/packages/keyring_test_plugin/pyproject.toml +22 -0
  1206. man_spider-2.0.0/uv/test/packages/package.name.with.dots/README.md +6 -0
  1207. man_spider-2.0.0/uv/test/packages/package.name.with.dots/pyproject.toml +11 -0
  1208. man_spider-2.0.0/uv/test/packages/package.name.with.dots/scripts/package.name.with.dots.ps1 +2 -0
  1209. man_spider-2.0.0/uv/test/packages/package.name.with.dots/src/package_name_with_dots/__init__.py +3 -0
  1210. man_spider-2.0.0/uv/test/packages/poetry_editable/poetry_editable/__init__.py +2 -0
  1211. man_spider-2.0.0/uv/test/packages/poetry_editable/pyproject.toml +13 -0
  1212. man_spider-2.0.0/uv/test/packages/root_editable/README.md +0 -0
  1213. man_spider-2.0.0/uv/test/packages/root_editable/pyproject.toml +22 -0
  1214. man_spider-2.0.0/uv/test/packages/root_editable/root_editable/__init__.py +2 -0
  1215. man_spider-2.0.0/uv/test/packages/setup_cfg_editable/.gitignore +2 -0
  1216. man_spider-2.0.0/uv/test/packages/setup_cfg_editable/setup.cfg +3 -0
  1217. man_spider-2.0.0/uv/test/packages/setup_cfg_editable/setup.py +8 -0
  1218. man_spider-2.0.0/uv/test/packages/setup_cfg_editable/setup_cfg_editable/__init__.py +0 -0
  1219. man_spider-2.0.0/uv/test/packages/setup_py_editable/.gitignore +2 -0
  1220. man_spider-2.0.0/uv/test/packages/setup_py_editable/setup.py +9 -0
  1221. man_spider-2.0.0/uv/test/packages/setup_py_editable/setup_py_editable/__init__.py +0 -0
  1222. man_spider-2.0.0/uv/test/packages/setuptools_editable/.gitignore +2 -0
  1223. man_spider-2.0.0/uv/test/packages/setuptools_editable/pyproject.toml +13 -0
  1224. man_spider-2.0.0/uv/test/packages/setuptools_editable/setuptools_editable/__init__.py +2 -0
  1225. man_spider-2.0.0/uv/test/requirements/.gitignore +1 -0
  1226. man_spider-2.0.0/uv/test/requirements/airflow.in +2 -0
  1227. man_spider-2.0.0/uv/test/requirements/airflow2-constraints.txt +299 -0
  1228. man_spider-2.0.0/uv/test/requirements/airflow2-req.in +7 -0
  1229. man_spider-2.0.0/uv/test/requirements/all-kinds.in +12 -0
  1230. man_spider-2.0.0/uv/test/requirements/backtracking/apache-beam-dill.in +5 -0
  1231. man_spider-2.0.0/uv/test/requirements/backtracking/numpy-numba.in +9 -0
  1232. man_spider-2.0.0/uv/test/requirements/backtracking/numpy-sparse.in +9 -0
  1233. man_spider-2.0.0/uv/test/requirements/backtracking/sentry.in +11 -0
  1234. man_spider-2.0.0/uv/test/requirements/backtracking/starlette-fastapi.in +14 -0
  1235. man_spider-2.0.0/uv/test/requirements/bio_embeddings.in +2 -0
  1236. man_spider-2.0.0/uv/test/requirements/black.in +1 -0
  1237. man_spider-2.0.0/uv/test/requirements/boto3.in +3 -0
  1238. man_spider-2.0.0/uv/test/requirements/compiled/all-kinds.txt +74 -0
  1239. man_spider-2.0.0/uv/test/requirements/compiled/black.txt +17 -0
  1240. man_spider-2.0.0/uv/test/requirements/compiled/boto3.txt +19 -0
  1241. man_spider-2.0.0/uv/test/requirements/compiled/dtlssocket.txt +5 -0
  1242. man_spider-2.0.0/uv/test/requirements/compiled/flyte.txt +256 -0
  1243. man_spider-2.0.0/uv/test/requirements/compiled/jupyter.txt +300 -0
  1244. man_spider-2.0.0/uv/test/requirements/compiled/pdm_2193.txt +31 -0
  1245. man_spider-2.0.0/uv/test/requirements/compiled/scispacy.txt +216 -0
  1246. man_spider-2.0.0/uv/test/requirements/compiled/trio.txt +81 -0
  1247. man_spider-2.0.0/uv/test/requirements/dtlssocket.in +1 -0
  1248. man_spider-2.0.0/uv/test/requirements/flyte.in +35 -0
  1249. man_spider-2.0.0/uv/test/requirements/home-assistant.in +3031 -0
  1250. man_spider-2.0.0/uv/test/requirements/jupyter.in +1 -0
  1251. man_spider-2.0.0/uv/test/requirements/meine_stadt_transparent.in +1 -0
  1252. man_spider-2.0.0/uv/test/requirements/pdm_2193.in +5 -0
  1253. man_spider-2.0.0/uv/test/requirements/pydantic.in +42 -0
  1254. man_spider-2.0.0/uv/test/requirements/scispacy.in +29 -0
  1255. man_spider-2.0.0/uv/test/requirements/slow.in +16 -0
  1256. man_spider-2.0.0/uv/test/requirements/transformers/pyproject.toml +297 -0
  1257. man_spider-2.0.0/uv/test/requirements/transformers-extras.in +274 -0
  1258. man_spider-2.0.0/uv/test/requirements/trio.in +23 -0
  1259. man_spider-2.0.0/uv/test/workspaces/.gitignore +1 -0
  1260. man_spider-2.0.0/uv/test/workspaces/albatross-in-example/check_installed_albatross.py +11 -0
  1261. man_spider-2.0.0/uv/test/workspaces/albatross-in-example/examples/bird-feeder/check_installed_bird_feeder.py +10 -0
  1262. man_spider-2.0.0/uv/test/workspaces/albatross-in-example/examples/bird-feeder/pyproject.toml +9 -0
  1263. man_spider-2.0.0/uv/test/workspaces/albatross-in-example/examples/bird-feeder/src/bird_feeder/__init__.py +5 -0
  1264. man_spider-2.0.0/uv/test/workspaces/albatross-in-example/pyproject.toml +9 -0
  1265. man_spider-2.0.0/uv/test/workspaces/albatross-in-example/src/albatross/__init__.py +9 -0
  1266. man_spider-2.0.0/uv/test/workspaces/albatross-just-project/check_installed_albatross.py +4 -0
  1267. man_spider-2.0.0/uv/test/workspaces/albatross-just-project/pyproject.toml +9 -0
  1268. man_spider-2.0.0/uv/test/workspaces/albatross-just-project/src/albatross/__init__.py +2 -0
  1269. man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/excluded/bird-feeder/check_installed_bird_feeder.py +10 -0
  1270. man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/excluded/bird-feeder/pyproject.toml +9 -0
  1271. man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/excluded/bird-feeder/src/bird_feeder/__init__.py +5 -0
  1272. man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/packages/seeds/pyproject.toml +12 -0
  1273. man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/packages/seeds/src/seeds/__init__.py +5 -0
  1274. man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/pyproject.toml +13 -0
  1275. man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/src/albatross/__init__.py +5 -0
  1276. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/check_installed_albatross.py +4 -0
  1277. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/.gitignore +0 -0
  1278. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/bird-feeder/check_installed_bird_feeder.py +10 -0
  1279. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/bird-feeder/pyproject.toml +12 -0
  1280. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/bird-feeder/src/bird_feeder/__init__.py +5 -0
  1281. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/seeds/pyproject.toml +9 -0
  1282. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/seeds/src/seeds/__init__.py +5 -0
  1283. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/pyproject.toml +15 -0
  1284. man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/src/albatross/__init__.py +11 -0
  1285. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/Unrelated.md +2 -0
  1286. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/albatross/check_installed_albatross.py +4 -0
  1287. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/albatross/pyproject.toml +12 -0
  1288. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/albatross/src/albatross/__init__.py +11 -0
  1289. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/bird-feeder/check_installed_bird_feeder.py +10 -0
  1290. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/bird-feeder/pyproject.toml +12 -0
  1291. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/bird-feeder/src/bird_feeder/__init__.py +5 -0
  1292. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/seeds/pyproject.toml +9 -0
  1293. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/seeds/src/seeds/__init__.py +5 -0
  1294. man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/pyproject.toml +2 -0
  1295. man_spider-2.0.0/uv/uv.schema.json +2547 -0
  1296. man_spider-2.0.0/uv.lock +752 -0
  1297. man_spider-1.1.1/man_spider/lib/parser/__init__.py +0 -1
  1298. man_spider-1.1.1/man_spider/lib/parser/parser.py +0 -167
  1299. man_spider-1.1.1/man_spider/lib/util.py +0 -142
  1300. man_spider-1.1.1/man_spider/manspider.py +0 -188
  1301. man_spider-1.1.1/pyproject.toml +0 -24
  1302. {man_spider-1.1.1 → man_spider-2.0.0}/LICENSE +0 -0
  1303. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/__init__.py +0 -0
  1304. {man_spider-1.1.1 → man_spider-2.0.0}/man_spider/lib/__init__.py +0 -0
@@ -0,0 +1,21 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(git checkout:*)",
5
+ "Bash(gh pr checkout:*)",
6
+ "Bash(git add:*)",
7
+ "Bash(git commit -m \"$\\(cat <<''EOF''\nMigrate from Poetry to uv package manager\n\n- Change build system from poetry.core to hatchling\n- Convert Poetry-style dependency specifiers to PEP 508 format\n- Move scripts from [tool.poetry.scripts] to [project.scripts]\n- Move repository/homepage to [project.urls]\n- Add uv.lock with updated dependencies\nEOF\n\\)\")",
8
+ "Bash(git fetch:*)",
9
+ "Bash(git cherry-pick:*)",
10
+ "Bash(uv run manspider --help:*)",
11
+ "Bash(git commit:*)",
12
+ "Bash(uv sync:*)",
13
+ "Bash(uv run pytest:*)",
14
+ "Bash(uv run:*)",
15
+ "Bash(ls:*)",
16
+ "Bash(uv add:*)",
17
+ "Bash(uv run ruff check:*)",
18
+ "Bash(uv run ruff format:*)"
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,23 @@
1
+ version: 2
2
+ updates:
3
+ # Monitor Python dependencies (uv)
4
+ - package-ecosystem: "uv"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ labels:
9
+ - "dependencies"
10
+ - "python"
11
+
12
+ # Monitor GitHub Actions
13
+ - package-ecosystem: "github-actions"
14
+ directory: "/"
15
+ schedule:
16
+ interval: "weekly"
17
+ groups:
18
+ all-dependencies:
19
+ patterns:
20
+ - "*"
21
+ labels:
22
+ - "dependencies"
23
+ - "github-actions"
@@ -0,0 +1,39 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ lint:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v6
14
+
15
+ - name: Install uv
16
+ uses: astral-sh/setup-uv@v7
17
+
18
+ - name: Install dependencies
19
+ run: uv sync --dev
20
+
21
+ - name: Run ruff check
22
+ run: uv run ruff check .
23
+
24
+ - name: Run ruff format check
25
+ run: uv run ruff format --check .
26
+
27
+ test:
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - uses: actions/checkout@v6
31
+
32
+ - name: Install uv
33
+ uses: astral-sh/setup-uv@v7
34
+
35
+ - name: Install dependencies
36
+ run: uv sync --dev
37
+
38
+ - name: Run tests
39
+ run: uv run pytest
@@ -0,0 +1 @@
1
+ ��type�str�data�Gapplication/vnd.openxmlformats-officedocument.wordprocessingml.document�cached_at�A�XY����
@@ -0,0 +1 @@
1
+ ��type�str�data�image/png�cached_at�A�XY����
@@ -0,0 +1 @@
1
+ ��type�str�data�Aapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet�cached_at�A�XY��rf
@@ -0,0 +1 @@
1
+ ��type�str�data�application/pdf�cached_at�A�XY���5
@@ -0,0 +1,26 @@
1
+ FROM python:3.12-slim
2
+
3
+ # Install system dependencies
4
+ RUN apt-get update && apt-get install -y --no-install-recommends \
5
+ krb5-user \
6
+ tesseract-ocr \
7
+ tesseract-ocr-eng \
8
+ tesseract-ocr-osd \
9
+ libreoffice \
10
+ && apt-get clean \
11
+ && rm -rf /var/lib/apt/lists/*
12
+
13
+ # Install uv
14
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
15
+
16
+ # Set working directory
17
+ WORKDIR /manspider
18
+
19
+ # Copy project files
20
+ COPY pyproject.toml uv.lock README.md ./
21
+ COPY man_spider ./man_spider
22
+
23
+ # Install the package with uv
24
+ RUN uv sync --frozen --no-dev
25
+
26
+ ENTRYPOINT [".venv/bin/manspider"]
@@ -1,8 +1,34 @@
1
+ Metadata-Version: 2.4
2
+ Name: man-spider
3
+ Version: 2.0.0
4
+ Summary: Full-featured SMB spider capable of searching file content
5
+ Project-URL: Repository, https://github.com/blacklanternsecurity/MANSPIDER
6
+ Project-URL: Homepage, https://github.com/blacklanternsecurity/MANSPIDER
7
+ Author: TheTechromancer
8
+ License: GPL-3.0
9
+ License-File: LICENSE
10
+ Requires-Python: >=3.10
11
+ Requires-Dist: charset-normalizer
12
+ Requires-Dist: impacket
13
+ Requires-Dist: kreuzberg
14
+ Description-Content-Type: text/markdown
15
+
1
16
  # MANSPIDER
2
17
  ### Crawl SMB shares for juicy information. File content searching + regex is supported!
3
18
 
4
- ### UPDATE 2025-05-26
5
- **Manspider has been updated to support kerberos!** Also, the textract library has been replaced with [Extractous](https://github.com/yobix-ai/extractous), so you can now feel free to run it outside Docker. 🎉
19
+ ---
20
+
21
+ ## What's New in v2.0
22
+
23
+ **Manspider 2.0 is here!** This brings significant improvements:
24
+
25
+ - **New and improved text extraction** powered by [Kreuzberg](https://github.com/Goldziher/kreuzberg) - now supporting PDF, DOCX, XLSX, PPTX, images with OCR, and many more formats
26
+ - **Modern package management** with [uv](https://github.com/astral-sh/uv) for faster, more reliable installations
27
+ - **Python 3.14 support** - ready for the latest Python releases
28
+ - **Date filtering** - search files by modification date with `--modified-after` and `--modified-before`
29
+ - **Comprehensive unit tests** - improved reliability and stability
30
+
31
+ ---
6
32
 
7
33
  ![manspider](https://user-images.githubusercontent.com/20261699/74963251-6a08de80-53df-11ea-88f4-60c39665dfa2.gif)
8
34
 
@@ -17,19 +43,35 @@
17
43
  ### MANSPIDER will crawl every share on every target system. If provided creds don't work, it will fall back to "guest", then to a null session.
18
44
  ![manspider](https://user-images.githubusercontent.com/20261699/80316979-f9ab7e80-87ce-11ea-9628-3c22a07e8378.png)
19
45
 
20
- ### Installation:
21
- (Optional) Install these dependencies to add additional file parsing capability:
46
+ ### Installation
47
+
48
+ #### Quick Run with uvx (recommended)
49
+ ~~~bash
50
+ # Run directly without installing
51
+ uvx --from git+https://github.com/blacklanternsecurity/MANSPIDER manspider --help
22
52
  ~~~
23
- # for images (png, jpeg)
24
- $ sudo apt install tesseract-ocr
25
53
 
26
- # for legacy document support (.doc)
27
- $ sudo apt install antiword
54
+ #### Install with uv
55
+ ~~~bash
56
+ # Install globally
57
+ uv tool install git+https://github.com/blacklanternsecurity/MANSPIDER
58
+
59
+ # Run
60
+ manspider --help
28
61
  ~~~
29
- Install manspider (please be patient, this can take a while):
62
+
63
+ #### Install with pipx
64
+ ~~~bash
65
+ pipx install git+https://github.com/blacklanternsecurity/MANSPIDER
30
66
  ~~~
31
- $ pip install pipx
32
- $ pipx install git+https://github.com/blacklanternsecurity/MANSPIDER
67
+
68
+ #### Optional Dependencies
69
+ ~~~bash
70
+ # for OCR on images (png, jpeg)
71
+ sudo apt install tesseract-ocr
72
+
73
+ # for legacy .doc support (kreuzberg uses libreoffice)
74
+ sudo apt install libreoffice
33
75
  ~~~
34
76
 
35
77
  ## Installation (Docker)
@@ -111,6 +153,11 @@ $ manspider share.evilcorp.local -e kdbx kdb 1pif agilekeychain opvault lpd dash
111
153
  $ manspider share.evilcorp.local -e pfx p12 pkcs12 pem key crt cer csr jks keystore key keys der -d evilcorp -u bob -p Passw0rd
112
154
  ~~~
113
155
 
156
+ ### Example #10: Search for recently modified files
157
+ ~~~
158
+ $ manspider share.evilcorp.local -e docx xlsx pdf --modified-after 2026-01-01 -d evilcorp -u bob -p Passw0rd
159
+ ~~~
160
+
114
161
  ### Usage Tip #1:
115
162
  You can run multiple instances of manspider at one time. This is useful when one instance is already running, and you want to search what it's downloaded (similar to `grep -R`). To do this, specify the keyword `loot` as the target, which will search the downloaded files in `$HOME/.manspider/loot`.
116
163
 
@@ -140,9 +187,9 @@ For example, you could specify any or all of these:
140
187
 
141
188
  ## Usage:
142
189
  ~~~
143
- usage: manspider [-h] [-u USERNAME] [-p PASSWORD] [-d DOMAIN] [-m MAXDEPTH] [-H HASH] [-t THREADS] [-f REGEX [REGEX ...]] [-e EXT [EXT ...]] [--exclude-extensions EXT [EXT ...]]
144
- [-c REGEX [REGEX ...]] [--sharenames SHARE [SHARE ...]] [--exclude-sharenames [SHARE ...]] [--dirnames DIR [DIR ...]] [--exclude-dirnames DIR [DIR ...]] [-q] [-n]
145
- [-mfail INT] [-o] [-s SIZE] [-v]
190
+ usage: manspider [-h] [-u USERNAME] [-p PASSWORD] [-d DOMAIN] [-l LOOT_DIR] [-m MAXDEPTH] [-H HASH] [-k] [-aesKey HEX] [-dc-ip IP] [-t THREADS] [-f REGEX [REGEX ...]] [-e EXT [EXT ...]]
191
+ [--exclude-extensions EXT [EXT ...]] [-c REGEX [REGEX ...]] [--sharenames SHARE [SHARE ...]] [--exclude-sharenames [SHARE ...]] [--dirnames DIR [DIR ...]]
192
+ [--exclude-dirnames DIR [DIR ...]] [-q] [-n] [-mfail INT] [-o] [-s SIZE] [-v]
146
193
  targets [targets ...]
147
194
 
148
195
  Scan for juicy data on SMB shares. Matching files and logs are stored in $HOME/.manspider. All filters are case-insensitive.
@@ -151,26 +198,31 @@ positional arguments:
151
198
  targets IPs, Hostnames, CIDR ranges, or files containing targets to spider (NOTE: local searching also supported, specify directory name or keyword "loot" to search
152
199
  downloaded files)
153
200
 
154
- optional arguments:
201
+ options:
155
202
  -h, --help show this help message and exit
156
- -u USERNAME, --username USERNAME
203
+ -u, --username USERNAME
157
204
  username for authentication
158
- -p PASSWORD, --password PASSWORD
205
+ -p, --password PASSWORD
159
206
  password for authentication
160
- -d DOMAIN, --domain DOMAIN
161
- domain for authentication
162
- -m MAXDEPTH, --maxdepth MAXDEPTH
207
+ -d, --domain DOMAIN domain for authentication
208
+ -l, --loot-dir LOOT_DIR
209
+ loot directory (default ~/.manspider/)
210
+ -m, --maxdepth MAXDEPTH
163
211
  maximum depth to spider (default: 10)
164
- -H HASH, --hash HASH NTLM hash for authentication
165
- -t THREADS, --threads THREADS
212
+ -H, --hash HASH NTLM hash for authentication
213
+ -k, --kerberos Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on target parameters
214
+ -aesKey, --aes-key HEX
215
+ AES key to use for Kerberos Authentication (128 or 256 bits)
216
+ -dc-ip, --dc-ip IP IP Address of the domain controller. If omitted it will use the domain part (FQDN) specified in the target parameter
217
+ -t, --threads THREADS
166
218
  concurrent threads (default: 5)
167
- -f REGEX [REGEX ...], --filenames REGEX [REGEX ...]
219
+ -f, --filenames REGEX [REGEX ...]
168
220
  filter filenames using regex (space-separated)
169
- -e EXT [EXT ...], --extensions EXT [EXT ...]
221
+ -e, --extensions EXT [EXT ...]
170
222
  only show filenames with these extensions (space-separated, e.g. `docx xlsx` for only word & excel docs)
171
223
  --exclude-extensions EXT [EXT ...]
172
224
  ignore files with these extensions
173
- -c REGEX [REGEX ...], --content REGEX [REGEX ...]
225
+ -c, --content REGEX [REGEX ...]
174
226
  search for file content using regex (multiple supported)
175
227
  --sharenames SHARE [SHARE ...]
176
228
  only search shares with these names (multiple supported)
@@ -182,10 +234,38 @@ optional arguments:
182
234
  don't search directories containing these strings (multiple supported)
183
235
  -q, --quiet don't display matching file content
184
236
  -n, --no-download don't download matching files
185
- -mfail INT, --max-failed-logons INT
237
+ -mfail, --max-failed-logons INT
186
238
  limit failed logons
187
239
  -o, --or-logic use OR logic instead of AND (files are downloaded if filename OR extension OR content match)
188
- -s SIZE, --max-filesize SIZE
240
+ -s, --max-filesize SIZE
189
241
  don't retrieve files over this size, e.g. "500K" or ".5M" (default: 10M)
190
242
  -v, --verbose show debugging messages
243
+ --modified-after DATE
244
+ only show files modified after this date (format: YYYY-MM-DD)
245
+ --modified-before DATE
246
+ only show files modified before this date (format: YYYY-MM-DD)
191
247
  ~~~
248
+
249
+ ## Development
250
+
251
+ ### Testing
252
+
253
+ ```bash
254
+ # Run tests
255
+ uv run pytest
256
+ ```
257
+
258
+ ### Linting
259
+
260
+ This project uses [ruff](https://github.com/astral-sh/ruff) for linting and formatting.
261
+
262
+ ```bash
263
+ # Run linter
264
+ uv run ruff check .
265
+
266
+ # Run linter with auto-fix
267
+ uv run ruff check --fix .
268
+
269
+ # Run formatter
270
+ uv run ruff format .
271
+ ```
@@ -0,0 +1,324 @@
1
+ # MANSPIDER Integration Test Plan
2
+
3
+ ## Overview
4
+
5
+ Create an end-to-end integration test that:
6
+ 1. Spins up an SMB server using impacket's `smbserver.py`
7
+ 2. Populates it with test files (various formats and encodings)
8
+ 3. Runs MANSPIDER against it
9
+ 4. Verifies all files are discovered and text is properly extracted
10
+
11
+ ## Prerequisites
12
+
13
+ - impacket is already a dependency (used for SMB client in `man_spider/lib/smb.py`)
14
+ - Test data files already exist in `testdata/`
15
+ - pytest is available
16
+
17
+ ## Architecture Understanding
18
+
19
+ Key files:
20
+ - `man_spider/manspider.py` - CLI entry point, `main()` and `go(options)`
21
+ - `man_spider/lib/spider.py` - MANSPIDER orchestrator class
22
+ - `man_spider/lib/spiderling.py` - Worker that crawls shares and processes files
23
+ - `man_spider/lib/parser/parser.py` - Text extraction via Kreuzberg (line 141: `extract_file_sync()`)
24
+ - `man_spider/lib/smb.py` - Impacket SMB client wrapper
25
+
26
+ Text extraction flow:
27
+ 1. Spiderling downloads file to `/tmp/.manspider/` via `RemoteFile.get()`
28
+ 2. `FileParser.extract_text()` calls `extract_file_sync()` from Kreuzberg
29
+ 3. Content is matched against regex filters
30
+
31
+ ## Task 1: Clean Up Kreuzberg Tests
32
+
33
+ Remove text encoding tests from `tests/test_kreuzberg.py` - text handling will be done elsewhere.
34
+
35
+ **File:** `tests/test_kreuzberg.py`
36
+
37
+ Keep only:
38
+ ```python
39
+ @pytest.mark.parametrize("filename", [
40
+ "test.docx",
41
+ "test.pdf",
42
+ "test.xlsx",
43
+ "test.png",
44
+ "test.doc",
45
+ "test.xls",
46
+ ])
47
+ ```
48
+
49
+ Remove: test-ascii.txt, test-utf8.txt, test-utf8-bom.txt, test-utf16le.txt, test-utf16be.txt, test-utf16-bom.txt, test-latin1.txt, test-cp1252.txt
50
+
51
+ ## Task 2: Add Text Encoding Detection to Parser
52
+
53
+ **File:** `man_spider/lib/parser/parser.py`
54
+
55
+ Before calling Kreuzberg's `extract_file_sync()`, detect if file is plain text using charset-normalizer.
56
+
57
+ ```python
58
+ from charset_normalizer import from_path
59
+
60
+ def is_text_file(filepath):
61
+ """Detect if file is plain text using charset-normalizer."""
62
+ result = from_path(filepath)
63
+ return result.best() is not None
64
+
65
+ def extract_text_file(filepath):
66
+ """Extract text from plain text file, auto-detecting encoding."""
67
+ result = from_path(filepath)
68
+ best = result.best()
69
+ return str(best) if best else None
70
+ ```
71
+
72
+ Modify `extract_text()` method (around line 130):
73
+ 1. First check `is_text_file()`
74
+ 2. If True, use `extract_text_file()` directly (handles UTF-16, etc.)
75
+ 3. If False, fall back to Kreuzberg for binary formats (docx, pdf, etc.)
76
+
77
+ **Note:** Check if there's existing encoding detection in `util.py` line 100-109 (`better_decode()`) that uses libmagic - may need to reconcile or replace.
78
+
79
+ ## Task 3: Create SMB Integration Test
80
+
81
+ **File:** `tests/test_smb_integration.py`
82
+
83
+ ### 3.1 SMB Server Setup
84
+
85
+ Use impacket's SimpleSMBServer:
86
+
87
+ ```python
88
+ import tempfile
89
+ import shutil
90
+ import threading
91
+ import time
92
+ from pathlib import Path
93
+ from impacket.smbserver import SimpleSMBServer
94
+
95
+ class SMBTestServer:
96
+ def __init__(self, share_path, port=4455):
97
+ self.share_path = share_path
98
+ self.port = port
99
+ self.server = None
100
+ self.thread = None
101
+
102
+ def start(self):
103
+ # Create SMB server with anonymous access
104
+ self.server = SimpleSMBServer(listenAddress="127.0.0.1", listenPort=self.port)
105
+ self.server.addShare("testshare", self.share_path, "Test Share")
106
+
107
+ # Allow anonymous/guest access
108
+ self.server.setSMB2Support(True)
109
+
110
+ self.thread = threading.Thread(target=self.server.start)
111
+ self.thread.daemon = True
112
+ self.thread.start()
113
+ time.sleep(0.5) # Wait for server to start
114
+
115
+ def stop(self):
116
+ if self.server:
117
+ self.server.stop()
118
+ ```
119
+
120
+ ### 3.2 Test Fixture
121
+
122
+ ```python
123
+ import pytest
124
+
125
+ @pytest.fixture
126
+ def smb_server(tmp_path):
127
+ """Spin up SMB server with test files."""
128
+ # Copy test files to temp share directory
129
+ testdata = Path(__file__).parent.parent / "testdata"
130
+ share_path = tmp_path / "share"
131
+ share_path.mkdir()
132
+
133
+ # Copy all test files
134
+ for f in testdata.iterdir():
135
+ if f.is_file():
136
+ shutil.copy(f, share_path / f.name)
137
+
138
+ # Create subdirectory structure for depth testing
139
+ subdir = share_path / "subdir"
140
+ subdir.mkdir()
141
+ shutil.copy(testdata / "test.docx", subdir / "nested.docx")
142
+
143
+ server = SMBTestServer(str(share_path), port=4455)
144
+ server.start()
145
+ yield server, share_path
146
+ server.stop()
147
+ ```
148
+
149
+ ### 3.3 Integration Tests
150
+
151
+ ```python
152
+ def test_manspider_discovers_all_files(smb_server, tmp_path):
153
+ """MANSPIDER finds all files on SMB share."""
154
+ server, share_path = smb_server
155
+ loot_dir = tmp_path / "loot"
156
+
157
+ # Build options similar to CLI
158
+ from man_spider.lib.spider import MANSPIDER
159
+
160
+ # Create options object (see manspider.py for structure)
161
+ options = create_test_options(
162
+ targets=["127.0.0.1"],
163
+ port=4455,
164
+ loot=str(loot_dir),
165
+ # Use guest/anonymous auth
166
+ username="",
167
+ password="",
168
+ )
169
+
170
+ spider = MANSPIDER(options)
171
+ spider.start()
172
+
173
+ # Verify files were found
174
+ # Check loot directory or spider output
175
+ assert (loot_dir / "test.docx").exists()
176
+ # ... more assertions
177
+
178
+
179
+ def test_manspider_extracts_password_from_all_formats(smb_server, tmp_path):
180
+ """MANSPIDER extracts 'Password123' from various file formats."""
181
+ server, share_path = smb_server
182
+ loot_dir = tmp_path / "loot"
183
+
184
+ options = create_test_options(
185
+ targets=["127.0.0.1"],
186
+ port=4455,
187
+ loot=str(loot_dir),
188
+ content=["Password123"], # Content filter
189
+ )
190
+
191
+ spider = MANSPIDER(options)
192
+ spider.start()
193
+
194
+ # All files containing Password123 should be in loot
195
+ expected_files = [
196
+ "test.docx", "test.pdf", "test.xlsx", "test.doc", "test.xls",
197
+ "test-utf16le.txt", "test-utf8.txt", # Text files
198
+ ]
199
+ for filename in expected_files:
200
+ assert any(f.name == filename for f in loot_dir.rglob("*")), \
201
+ f"{filename} not found in loot"
202
+
203
+
204
+ def test_manspider_handles_text_encodings(smb_server, tmp_path):
205
+ """MANSPIDER correctly extracts text from UTF-16 and other encodings."""
206
+ server, share_path = smb_server
207
+ loot_dir = tmp_path / "loot"
208
+
209
+ options = create_test_options(
210
+ targets=["127.0.0.1"],
211
+ port=4455,
212
+ loot=str(loot_dir),
213
+ content=["Password123"],
214
+ extensions=[".txt"], # Only text files
215
+ )
216
+
217
+ spider = MANSPIDER(options)
218
+ spider.start()
219
+
220
+ # All text encoding variants should match
221
+ txt_files = list(loot_dir.rglob("*.txt"))
222
+ assert len(txt_files) >= 8, f"Expected 8 txt files, got {len(txt_files)}"
223
+ ```
224
+
225
+ ### 3.4 Helper Function
226
+
227
+ ```python
228
+ def create_test_options(**kwargs):
229
+ """Create options object matching manspider CLI structure."""
230
+ from argparse import Namespace
231
+
232
+ defaults = {
233
+ 'targets': [],
234
+ 'port': 445,
235
+ 'username': '',
236
+ 'password': '',
237
+ 'domain': '',
238
+ 'hash': '',
239
+ 'loot': '/tmp/manspider_test_loot',
240
+ 'threads': 2,
241
+ 'maxdepth': 10,
242
+ 'content': [],
243
+ 'filenames': [],
244
+ 'extensions': [],
245
+ 'exclude_extensions': [],
246
+ 'dirnames': [],
247
+ 'exclude_dirnames': [],
248
+ 'shares': [],
249
+ 'exclude_shares': [],
250
+ 'max_filesize': '10M',
251
+ 'or_logic': False,
252
+ 'quiet': True,
253
+ 'no_download': False,
254
+ }
255
+ defaults.update(kwargs)
256
+ return Namespace(**defaults)
257
+ ```
258
+
259
+ ## Task 4: Test for Binary Files with Embedded Text
260
+
261
+ Add tests for the binary test files that have "Password123" embedded:
262
+
263
+ ```python
264
+ def test_manspider_finds_password_in_binary(smb_server, tmp_path):
265
+ """MANSPIDER finds Password123 in arbitrary binary files."""
266
+ server, share_path = smb_server
267
+ loot_dir = tmp_path / "loot"
268
+
269
+ options = create_test_options(
270
+ targets=["127.0.0.1"],
271
+ port=4455,
272
+ loot=str(loot_dir),
273
+ content=["Password123"],
274
+ extensions=[".bin"],
275
+ )
276
+
277
+ spider = MANSPIDER(options)
278
+ spider.start()
279
+
280
+ # Binary files with embedded password should be found
281
+ bin_files = list(loot_dir.rglob("*.bin"))
282
+ assert len(bin_files) >= 1
283
+ ```
284
+
285
+ ## Implementation Order
286
+
287
+ 1. **Task 1**: Clean up kreuzberg tests (5 min)
288
+ 2. **Task 2**: Add charset-normalizer text detection to parser (30 min)
289
+ - Explore existing `better_decode()` in util.py first
290
+ - Modify `extract_text()` in parser.py
291
+ - Run existing tests to verify no regression
292
+ 3. **Task 3**: Create SMB integration test infrastructure (1-2 hours)
293
+ - Set up SMB server fixture
294
+ - Create helper functions
295
+ - Write basic discovery test
296
+ - Write content extraction test
297
+ 4. **Task 4**: Add binary file detection tests (15 min)
298
+
299
+ ## Key Files to Modify
300
+
301
+ | File | Change |
302
+ |------|--------|
303
+ | `tests/test_kreuzberg.py` | Remove text encoding parametrization |
304
+ | `man_spider/lib/parser/parser.py` | Add charset-normalizer detection before Kreuzberg |
305
+ | `tests/test_smb_integration.py` | New file - full integration test suite |
306
+ | `pyproject.toml` | May need to add charset-normalizer if not already dependency |
307
+
308
+ ## Notes
309
+
310
+ - `charset-normalizer` is already installed (dependency of `requests`)
311
+ - impacket's smbserver requires root/elevated permissions on port 445, so use high port (4455)
312
+ - MANSPIDER uses multiprocessing - tests may need to handle process cleanup
313
+ - Check `man_spider/lib/util.py` line 100-109 for existing `better_decode()` function that uses libmagic for encoding detection - may want to replace with charset-normalizer approach
314
+
315
+ ## Verification
316
+
317
+ After implementation, run:
318
+ ```bash
319
+ uv run pytest tests/ -v
320
+ ```
321
+
322
+ All tests should pass, including:
323
+ - Kreuzberg extraction tests (docx, pdf, xlsx, png, doc, xls)
324
+ - SMB integration tests (file discovery, content extraction, encoding handling)