man-spider 1.1.2__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.
- man_spider-2.0.0/.claude/settings.local.json +21 -0
- man_spider-2.0.0/.github/dependabot.yml +23 -0
- man_spider-2.0.0/.github/workflows/tests.yml +39 -0
- man_spider-2.0.0/.kreuzberg/mime/187d2a512b24066d.msgpack +1 -0
- man_spider-2.0.0/.kreuzberg/mime/4587374f7aa424a4.msgpack +1 -0
- man_spider-2.0.0/.kreuzberg/mime/4ea6c5279bb0ec7a.msgpack +1 -0
- man_spider-2.0.0/.kreuzberg/mime/7897c220d66bc1f7.msgpack +1 -0
- man_spider-2.0.0/.kreuzberg/ocr/0041334e5f59f653.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/0cbfa63cad1c2848.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/156484bd65eaeed6.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/2575053167b776f4.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/295dfc898ffa5972.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/51fe93fdf7ced0dd.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/548c7de61895857c.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/54cf7013651b3d28.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/6fa03e996fd35263.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/9a9dfcf8191238cb.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/b80436d83049bb5a.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/be7ffb2b29cb43ee.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/ebcc0851c39d5b74.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/f1a8fca722be8cfb.msgpack +0 -0
- man_spider-2.0.0/.kreuzberg/ocr/ffbed6aca0e7288b.msgpack +0 -0
- man_spider-2.0.0/Dockerfile +26 -0
- man_spider-1.1.2/README.md → man_spider-2.0.0/PKG-INFO +106 -27
- man_spider-2.0.0/PLAN-smb-integration-test.md +324 -0
- man_spider-1.1.2/PKG-INFO → man_spider-2.0.0/README.md +90 -47
- man_spider-2.0.0/kreuzberg-python-bindings-README.md +1013 -0
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/lib/errors.py +8 -4
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/lib/file.py +13 -16
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/lib/logger.py +27 -32
- man_spider-2.0.0/man_spider/lib/parser/__init__.py +1 -0
- man_spider-2.0.0/man_spider/lib/parser/parser.py +212 -0
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/lib/processpool.py +24 -31
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/lib/smb.py +69 -62
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/lib/spider.py +66 -66
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/lib/spiderling.py +182 -136
- man_spider-2.0.0/man_spider/lib/util.py +208 -0
- man_spider-2.0.0/man_spider/manspider.py +303 -0
- man_spider-2.0.0/manspider.sh +1 -0
- man_spider-2.0.0/pyproject.toml +38 -0
- man_spider-2.0.0/testdata/test-ascii.txt +1 -0
- man_spider-2.0.0/testdata/test-binary-end.bin +0 -0
- man_spider-2.0.0/testdata/test-binary-large.bin +0 -0
- man_spider-2.0.0/testdata/test-binary-medium.bin +0 -0
- man_spider-2.0.0/testdata/test-binary-small.bin +0 -0
- man_spider-2.0.0/testdata/test-binary-start.bin +0 -0
- man_spider-2.0.0/testdata/test-cp1252.txt +1 -0
- man_spider-2.0.0/testdata/test-latin1.txt +1 -0
- man_spider-2.0.0/testdata/test-utf16-bom.txt +0 -0
- man_spider-2.0.0/testdata/test-utf16be.txt +0 -0
- man_spider-2.0.0/testdata/test-utf16le.txt +0 -0
- man_spider-2.0.0/testdata/test-utf8-bom.txt +1 -0
- man_spider-2.0.0/testdata/test-utf8.txt +1 -0
- man_spider-2.0.0/testdata/test.doc +0 -0
- man_spider-2.0.0/testdata/test.docx +0 -0
- man_spider-2.0.0/testdata/test.pdf +0 -0
- man_spider-2.0.0/testdata/test.png +0 -0
- man_spider-2.0.0/testdata/test.xls +0 -0
- man_spider-2.0.0/testdata/test.xlsx +0 -0
- man_spider-2.0.0/tests/test_kreuzberg.py +50 -0
- man_spider-2.0.0/tests/test_smb_integration.py +335 -0
- man_spider-2.0.0/uv/.cargo/config.toml +9 -0
- man_spider-2.0.0/uv/.claude/hooks/post-edit-format.py +77 -0
- man_spider-2.0.0/uv/.claude/hooks/session-start-web.sh +16 -0
- man_spider-2.0.0/uv/.claude/hooks/session-start.sh +7 -0
- man_spider-2.0.0/uv/.claude/settings.json +26 -0
- man_spider-2.0.0/uv/.config/nextest.toml +56 -0
- man_spider-2.0.0/uv/.editorconfig +23 -0
- man_spider-2.0.0/uv/.gitattributes +4 -0
- man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/1_bug_report.yaml +43 -0
- man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/2_feature_request.yaml +23 -0
- man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/3_question.yaml +31 -0
- man_spider-2.0.0/uv/.github/ISSUE_TEMPLATE/config.yml +8 -0
- man_spider-2.0.0/uv/.github/PULL_REQUEST_TEMPLATE.md +15 -0
- man_spider-2.0.0/uv/.github/renovate.json5 +179 -0
- man_spider-2.0.0/uv/.github/workflows/bench.yml +135 -0
- man_spider-2.0.0/uv/.github/workflows/build-dev-binaries.yml +302 -0
- man_spider-2.0.0/uv/.github/workflows/build-docker.yml +428 -0
- man_spider-2.0.0/uv/.github/workflows/build-release-binaries.yml +1095 -0
- man_spider-2.0.0/uv/.github/workflows/check-docs.yml +31 -0
- man_spider-2.0.0/uv/.github/workflows/check-fmt.yml +38 -0
- man_spider-2.0.0/uv/.github/workflows/check-generated-files.yml +38 -0
- man_spider-2.0.0/uv/.github/workflows/check-lint.yml +165 -0
- man_spider-2.0.0/uv/.github/workflows/check-publish.yml +25 -0
- man_spider-2.0.0/uv/.github/workflows/check-release.yml +24 -0
- man_spider-2.0.0/uv/.github/workflows/check-zizmor.yml +16 -0
- man_spider-2.0.0/uv/.github/workflows/ci.yml +400 -0
- man_spider-2.0.0/uv/.github/workflows/publish-crates.yml +33 -0
- man_spider-2.0.0/uv/.github/workflows/publish-docs.yml +139 -0
- man_spider-2.0.0/uv/.github/workflows/publish-pypi.yml +49 -0
- man_spider-2.0.0/uv/.github/workflows/publish-versions.yml +75 -0
- man_spider-2.0.0/uv/.github/workflows/release.yml +309 -0
- man_spider-2.0.0/uv/.github/workflows/setup-dev-drive.ps1 +92 -0
- man_spider-2.0.0/uv/.github/workflows/sync-python-releases.yml +59 -0
- man_spider-2.0.0/uv/.github/workflows/test-ecosystem.yml +65 -0
- man_spider-2.0.0/uv/.github/workflows/test-integration.yml +1006 -0
- man_spider-2.0.0/uv/.github/workflows/test-smoke.yml +182 -0
- man_spider-2.0.0/uv/.github/workflows/test-system.yml +747 -0
- man_spider-2.0.0/uv/.github/workflows/test-windows-trampolines.yml +132 -0
- man_spider-2.0.0/uv/.github/workflows/test.yml +186 -0
- man_spider-2.0.0/uv/.gitignore +53 -0
- man_spider-2.0.0/uv/.ignore +1 -0
- man_spider-2.0.0/uv/.pre-commit-config.yaml +52 -0
- man_spider-2.0.0/uv/.prettierignore +9 -0
- man_spider-2.0.0/uv/.prettierrc +10 -0
- man_spider-2.0.0/uv/.python-versions +24 -0
- man_spider-2.0.0/uv/BENCHMARKS.md +117 -0
- man_spider-2.0.0/uv/CHANGELOG.md +816 -0
- man_spider-2.0.0/uv/CLAUDE.md +14 -0
- man_spider-2.0.0/uv/CODE_OF_CONDUCT.md +125 -0
- man_spider-2.0.0/uv/CONTRIBUTING.md +337 -0
- man_spider-2.0.0/uv/Cargo.lock +8145 -0
- man_spider-2.0.0/uv/Cargo.toml +341 -0
- man_spider-2.0.0/uv/Dockerfile +50 -0
- man_spider-2.0.0/uv/LICENSE-APACHE +201 -0
- man_spider-2.0.0/uv/LICENSE-MIT +21 -0
- man_spider-2.0.0/uv/PIP_COMPATIBILITY.md +2 -0
- man_spider-2.0.0/uv/README.md +329 -0
- man_spider-2.0.0/uv/SECURITY.md +28 -0
- man_spider-2.0.0/uv/STYLE.md +134 -0
- man_spider-2.0.0/uv/_typos.toml +23 -0
- man_spider-2.0.0/uv/assets/badge/v0.json +8 -0
- man_spider-2.0.0/uv/assets/png/Astral.png +0 -0
- man_spider-2.0.0/uv/assets/png/install-cold.png +0 -0
- man_spider-2.0.0/uv/assets/png/install-warm.png +0 -0
- man_spider-2.0.0/uv/assets/png/resolve-cold.png +0 -0
- man_spider-2.0.0/uv/assets/png/resolve-warm.png +0 -0
- man_spider-2.0.0/uv/assets/svg/Astral.svg +24 -0
- man_spider-2.0.0/uv/assets/svg/Benchmark-Dark.svg +147 -0
- man_spider-2.0.0/uv/assets/svg/Benchmark-Light.svg +147 -0
- man_spider-2.0.0/uv/changelogs/0.1.x.md +1456 -0
- man_spider-2.0.0/uv/changelogs/0.2.x.md +1702 -0
- man_spider-2.0.0/uv/changelogs/0.3.x.md +360 -0
- man_spider-2.0.0/uv/changelogs/0.4.x.md +1331 -0
- man_spider-2.0.0/uv/changelogs/0.5.x.md +1662 -0
- man_spider-2.0.0/uv/changelogs/0.6.x.md +836 -0
- man_spider-2.0.0/uv/changelogs/0.7.x.md +995 -0
- man_spider-2.0.0/uv/changelogs/0.8.x.md +1108 -0
- man_spider-2.0.0/uv/clippy.toml +88 -0
- man_spider-2.0.0/uv/crates/README.md +133 -0
- man_spider-2.0.0/uv/crates/uv/Cargo.toml +212 -0
- man_spider-2.0.0/uv/crates/uv/README.md +84 -0
- man_spider-2.0.0/uv/crates/uv/build.rs +41 -0
- man_spider-2.0.0/uv/crates/uv/src/bin/uv.rs +14 -0
- man_spider-2.0.0/uv/crates/uv/src/bin/uvw.rs +103 -0
- man_spider-2.0.0/uv/crates/uv/src/bin/uvx.rs +106 -0
- man_spider-2.0.0/uv/crates/uv/src/child.rs +309 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/auth/dir.rs +26 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/auth/helper.rs +147 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/auth/login.rs +247 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/auth/logout.rs +150 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/auth/mod.rs +5 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/auth/token.rs +128 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/build_backend.rs +104 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/build_frontend.rs +1357 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/cache_clean.rs +107 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/cache_dir.rs +18 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/cache_prune.rs +94 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/cache_size.rs +47 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/diagnostics.rs +489 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/help.rs +403 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/mod.rs +308 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/check.rs +100 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/compile.rs +905 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/freeze.rs +140 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/install.rs +699 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/latest.rs +154 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/list.rs +410 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/loggers.rs +524 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/mod.rs +74 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/operations.rs +1086 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/show.rs +242 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/sync.rs +590 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/tree.rs +725 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/pip/uninstall.rs +253 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/add.rs +1456 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/environment.rs +250 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/export.rs +469 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/format.rs +102 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/init.rs +1445 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/install_target.rs +512 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/lock.rs +1593 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/lock_target.rs +428 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/mod.rs +2991 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/remove.rs +492 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/run.rs +2035 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/sync.rs +1443 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/tree.rs +293 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/project/version.rs +739 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/publish.rs +637 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/dir.rs +27 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/find.rs +171 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/install.rs +1363 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/list.rs +317 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/mod.rs +23 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/pin.rs +388 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/uninstall.rs +346 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/python/update_shell.rs +153 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/reporters.rs +863 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/self_update.rs +222 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/suggestions.json +4 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/common.rs +424 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/dir.rs +32 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/install.rs +732 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/list.rs +185 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/mod.rs +211 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/run.rs +1225 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/uninstall.rs +228 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/update_shell.rs +153 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/tool/upgrade.rs +488 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/venv.rs +346 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/workspace/dir.rs +48 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/workspace/list.rs +46 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/workspace/metadata.rs +91 -0
- man_spider-2.0.0/uv/crates/uv/src/commands/workspace/mod.rs +3 -0
- man_spider-2.0.0/uv/crates/uv/src/install_source.rs +74 -0
- man_spider-2.0.0/uv/crates/uv/src/lib.rs +2664 -0
- man_spider-2.0.0/uv/crates/uv/src/logging.rs +152 -0
- man_spider-2.0.0/uv/crates/uv/src/printer.rs +103 -0
- man_spider-2.0.0/uv/crates/uv/src/settings.rs +4244 -0
- man_spider-2.0.0/uv/crates/uv/src/windows_exception.rs +313 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/auth.rs +2140 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/branching_urls.rs +829 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/build.rs +2361 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/build_backend.rs +1447 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/cache.rs +70 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/cache_clean.rs +255 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/cache_prune.rs +447 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/cache_size.rs +59 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/common/mod.rs +2262 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/ecosystem.rs +117 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/edit.rs +14888 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/export.rs +8827 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/extract.rs +396 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/format.rs +491 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/help.rs +1175 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/init.rs +4183 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/lock.rs +33372 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/lock_conflict.rs +15349 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/lock_exclude_newer_relative.rs +1204 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/lock_scenarios.rs +5489 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/main.rs +153 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/network.rs +926 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_check.rs +222 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_compile.rs +18323 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_compile_scenarios.rs +446 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_debug.rs +16 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_freeze.rs +614 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_install.rs +14119 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_install_scenarios.rs +4369 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_list.rs +889 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_show.rs +640 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_sync.rs +6216 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_tree.rs +1240 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/pip_uninstall.rs +511 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/publish.rs +686 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/python_dir.rs +21 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/python_find.rs +1515 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/python_install.rs +4311 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/python_list.rs +684 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/python_module.rs +754 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/python_pin.rs +897 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/python_upgrade.rs +833 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/run.rs +6217 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/self_update.rs +59 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/show_settings.rs +10931 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__black-lock-file.snap +855 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__black-uv-lock-output.snap +10 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-lock-file.snap +486 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-uv-lock-output.snap +11 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-lock-file.snap +1438 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-uv-lock-output.snap +10 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__packse-lock-file.snap +683 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__packse-uv-lock-output.snap +11 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__saleor-lock-file.snap +2263 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__saleor-uv-lock-output.snap +10 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__transformers-lock-file.snap +6570 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__transformers-uv-lock-output.snap +10 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-lock-file.snap +4397 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-uv-lock-output.snap +11 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__jax_instability-2.snap +181 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_existing_package_noop-2.snap +654 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_one_package-2.snap +654 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/snapshots/it__workflow__packse_promote_transitive_to_direct_then_remove-2.snap +654 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/sync.rs +15569 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/tool_dir.rs +41 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/tool_install.rs +4552 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/tool_list.rs +643 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/tool_run.rs +3562 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/tool_uninstall.rs +190 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/tool_upgrade.rs +1010 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/tree.rs +1801 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/venv.rs +1890 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/version.rs +3261 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/workflow.rs +608 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/workspace.rs +2093 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/workspace_dir.rs +127 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/workspace_list.rs +244 -0
- man_spider-2.0.0/uv/crates/uv/tests/it/workspace_metadata.rs +321 -0
- man_spider-2.0.0/uv/crates/uv-auth/Cargo.toml +59 -0
- man_spider-2.0.0/uv/crates/uv-auth/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/access_token.rs +34 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/cache.rs +384 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/credentials.rs +693 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/index.rs +113 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/keyring.rs +578 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/lib.rs +24 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/middleware.rs +2670 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/providers.rs +145 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/pyx.rs +809 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/realm.rs +323 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/service.rs +95 -0
- man_spider-2.0.0/uv/crates/uv-auth/src/store.rs +688 -0
- man_spider-2.0.0/uv/crates/uv-bench/Cargo.toml +53 -0
- man_spider-2.0.0/uv/crates/uv-bench/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-bench/benches/uv.rs +234 -0
- man_spider-2.0.0/uv/crates/uv-bench/inputs/platform_tags.rs +1 -0
- man_spider-2.0.0/uv/crates/uv-bench/src/lib.rs +1 -0
- man_spider-2.0.0/uv/crates/uv-bin-install/Cargo.toml +36 -0
- man_spider-2.0.0/uv/crates/uv-bin-install/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-bin-install/src/lib.rs +418 -0
- man_spider-2.0.0/uv/crates/uv-build/Cargo.toml +24 -0
- man_spider-2.0.0/uv/crates/uv-build/LICENSE-APACHE +201 -0
- man_spider-2.0.0/uv/crates/uv-build/LICENSE-MIT +21 -0
- man_spider-2.0.0/uv/crates/uv-build/README.md +5 -0
- man_spider-2.0.0/uv/crates/uv-build/deny.toml +8 -0
- man_spider-2.0.0/uv/crates/uv-build/pyproject.toml +54 -0
- man_spider-2.0.0/uv/crates/uv-build/python/uv_build/__init__.py +141 -0
- man_spider-2.0.0/uv/crates/uv-build/python/uv_build/__main__.py +17 -0
- man_spider-2.0.0/uv/crates/uv-build/python/uv_build/py.typed +0 -0
- man_spider-2.0.0/uv/crates/uv-build/ruff.toml +2 -0
- man_spider-2.0.0/uv/crates/uv-build/src/main.rs +139 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/Cargo.toml +65 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/src/lib.rs +1828 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/src/metadata.rs +1539 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/src/serde_verbatim.rs +58 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/src/settings.rs +230 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/src/source_dist.rs +377 -0
- man_spider-2.0.0/uv/crates/uv-build-backend/src/wheel.rs +987 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/.gitignore +2 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/Cargo.toml +53 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/src/error.rs +682 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/src/lib.rs +1248 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/src/pipreqs/LICENSE +201 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/src/pipreqs/mapping +1156 -0
- man_spider-2.0.0/uv/crates/uv-build-frontend/src/pipreqs.rs +32 -0
- man_spider-2.0.0/uv/crates/uv-cache/Cargo.toml +39 -0
- man_spider-2.0.0/uv/crates/uv-cache/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-cache/src/archive.rs +39 -0
- man_spider-2.0.0/uv/crates/uv-cache/src/by_timestamp.rs +8 -0
- man_spider-2.0.0/uv/crates/uv-cache/src/cli.rs +140 -0
- man_spider-2.0.0/uv/crates/uv-cache/src/lib.rs +1447 -0
- man_spider-2.0.0/uv/crates/uv-cache/src/removal.rs +258 -0
- man_spider-2.0.0/uv/crates/uv-cache/src/wheel.rs +92 -0
- man_spider-2.0.0/uv/crates/uv-cache-info/Cargo.toml +32 -0
- man_spider-2.0.0/uv/crates/uv-cache-info/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-cache-info/src/cache_info.rs +447 -0
- man_spider-2.0.0/uv/crates/uv-cache-info/src/git_info.rs +179 -0
- man_spider-2.0.0/uv/crates/uv-cache-info/src/glob.rs +317 -0
- man_spider-2.0.0/uv/crates/uv-cache-info/src/lib.rs +7 -0
- man_spider-2.0.0/uv/crates/uv-cache-info/src/timestamp.rs +52 -0
- man_spider-2.0.0/uv/crates/uv-cache-key/Cargo.toml +25 -0
- man_spider-2.0.0/uv/crates/uv-cache-key/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-cache-key/src/cache_key.rs +379 -0
- man_spider-2.0.0/uv/crates/uv-cache-key/src/canonical_url.rs +486 -0
- man_spider-2.0.0/uv/crates/uv-cache-key/src/digest.rs +36 -0
- man_spider-2.0.0/uv/crates/uv-cache-key/src/lib.rs +7 -0
- man_spider-2.0.0/uv/crates/uv-cli/Cargo.toml +54 -0
- man_spider-2.0.0/uv/crates/uv-cli/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-cli/build.rs +117 -0
- man_spider-2.0.0/uv/crates/uv-cli/src/comma.rs +125 -0
- man_spider-2.0.0/uv/crates/uv-cli/src/compat.rs +368 -0
- man_spider-2.0.0/uv/crates/uv-cli/src/lib.rs +7768 -0
- man_spider-2.0.0/uv/crates/uv-cli/src/options.rs +661 -0
- man_spider-2.0.0/uv/crates/uv-cli/src/version.rs +178 -0
- man_spider-2.0.0/uv/crates/uv-client/Cargo.toml +80 -0
- man_spider-2.0.0/uv/crates/uv-client/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-client/src/base_client.rs +1599 -0
- man_spider-2.0.0/uv/crates/uv-client/src/cached_client.rs +971 -0
- man_spider-2.0.0/uv/crates/uv-client/src/error.rs +736 -0
- man_spider-2.0.0/uv/crates/uv-client/src/flat_index.rs +387 -0
- man_spider-2.0.0/uv/crates/uv-client/src/html.rs +1902 -0
- man_spider-2.0.0/uv/crates/uv-client/src/httpcache/control.rs +773 -0
- man_spider-2.0.0/uv/crates/uv-client/src/httpcache/mod.rs +1400 -0
- man_spider-2.0.0/uv/crates/uv-client/src/lib.rs +27 -0
- man_spider-2.0.0/uv/crates/uv-client/src/linehaul.rs +153 -0
- man_spider-2.0.0/uv/crates/uv-client/src/middleware.rs +51 -0
- man_spider-2.0.0/uv/crates/uv-client/src/registry_client.rs +2122 -0
- man_spider-2.0.0/uv/crates/uv-client/src/remote_metadata.rs +109 -0
- man_spider-2.0.0/uv/crates/uv-client/src/rkyvutil.rs +174 -0
- man_spider-2.0.0/uv/crates/uv-client/src/tls.rs +21 -0
- man_spider-2.0.0/uv/crates/uv-client/tests/it/http_util.rs +382 -0
- man_spider-2.0.0/uv/crates/uv-client/tests/it/main.rs +5 -0
- man_spider-2.0.0/uv/crates/uv-client/tests/it/proxy.rs +100 -0
- man_spider-2.0.0/uv/crates/uv-client/tests/it/remote_metadata.rs +33 -0
- man_spider-2.0.0/uv/crates/uv-client/tests/it/ssl_certs.rs +333 -0
- man_spider-2.0.0/uv/crates/uv-client/tests/it/user_agent_version.rs +288 -0
- man_spider-2.0.0/uv/crates/uv-configuration/Cargo.toml +49 -0
- man_spider-2.0.0/uv/crates/uv-configuration/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/authentication.rs +37 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/build_options.rs +419 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/concurrency.rs +40 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/constraints.rs +87 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/dependency_groups.rs +393 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/dry_run.rs +27 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/editable.rs +16 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/env_file.rs +135 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/excludes.rs +25 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/export_format.rs +44 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/extras.rs +326 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/hash.rs +48 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/install_options.rs +167 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/lib.rs +51 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/name_specifiers.rs +119 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/overrides.rs +80 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/package_options.rs +302 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/project_build_backend.rs +34 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/proxy_url.rs +237 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/required_version.rs +76 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/sources.rs +83 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/target_triple.rs +1079 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/threading.rs +69 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/trusted_host.rs +207 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/trusted_publishing.rs +17 -0
- man_spider-2.0.0/uv/crates/uv-configuration/src/vcs.rs +125 -0
- man_spider-2.0.0/uv/crates/uv-console/Cargo.toml +19 -0
- man_spider-2.0.0/uv/crates/uv-console/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-console/src/lib.rs +314 -0
- man_spider-2.0.0/uv/crates/uv-dev/.gitignore +1 -0
- man_spider-2.0.0/uv/crates/uv-dev/Cargo.toml +82 -0
- man_spider-2.0.0/uv/crates/uv-dev/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-dev/builder.dockerfile +27 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/clear_compile.rs +33 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/compile.rs +46 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/generate_all.rs +37 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/generate_cli_reference.rs +344 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/generate_env_vars_reference.rs +108 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/generate_json_schema.rs +136 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/generate_options_reference.rs +403 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/generate_sysconfig_mappings.rs +203 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/lib.rs +87 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/list_packages.rs +37 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/main.rs +80 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/render_benchmarks.rs +129 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/validate_zip.rs +51 -0
- man_spider-2.0.0/uv/crates/uv-dev/src/wheel_metadata.rs +52 -0
- man_spider-2.0.0/uv/crates/uv-dev/sync_sysconfig_targets.sh +18 -0
- man_spider-2.0.0/uv/crates/uv-dev/test_sdist_building.sh +21 -0
- man_spider-2.0.0/uv/crates/uv-dirs/Cargo.toml +27 -0
- man_spider-2.0.0/uv/crates/uv-dirs/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-dirs/src/lib.rs +298 -0
- man_spider-2.0.0/uv/crates/uv-dispatch/Cargo.toml +45 -0
- man_spider-2.0.0/uv/crates/uv-dispatch/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-dispatch/src/lib.rs +626 -0
- man_spider-2.0.0/uv/crates/uv-distribution/Cargo.toml +68 -0
- man_spider-2.0.0/uv/crates/uv-distribution/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/archive.rs +40 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/distribution_database.rs +1403 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/download.rs +76 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/error.rs +270 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/index/built_wheel_index.rs +307 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/index/cached_wheel.rs +206 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/index/mod.rs +6 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/index/registry_wheel_index.rs +325 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/lib.rs +20 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/build_requires.rs +357 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/dependency_groups.rs +228 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/lowering.rs +795 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/mod.rs +170 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/metadata/requires_dist.rs +867 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/reporter.rs +53 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/source/built_wheel_metadata.rs +100 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/source/mod.rs +3125 -0
- man_spider-2.0.0/uv/crates/uv-distribution/src/source/revision.rs +82 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/Cargo.toml +32 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/build_tag.rs +72 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/egg.rs +117 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/expanded_tags.rs +511 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/extension.rs +136 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/lib.rs +109 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/snapshots/uv_distribution_filename__wheel__tests__ok_build_tag.snap +35 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/snapshots/uv_distribution_filename__wheel__tests__ok_multiple_tags.snap +45 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/snapshots/uv_distribution_filename__wheel__tests__ok_single_tags.snap +22 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/source_dist.rs +238 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/splitter.rs +50 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/wheel.rs +482 -0
- man_spider-2.0.0/uv/crates/uv-distribution-filename/src/wheel_tag.rs +148 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/Cargo.toml +58 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/annotation.rs +87 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/any.rs +91 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/build_info.rs +55 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/build_requires.rs +187 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/buildable.rs +233 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/cached.rs +244 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/config_settings.rs +478 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/dependency_metadata.rs +114 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/diagnostic.rs +9 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/dist_error.rs +211 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/error.rs +23 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/file.rs +338 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/hash.rs +101 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/id.rs +123 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/index.rs +609 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/index_name.rs +100 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/index_url.rs +917 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/installed.rs +657 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/known_platform.rs +58 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/lib.rs +1501 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/origin.rs +12 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/pip_index.rs +70 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/prioritized_distribution.rs +1151 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/requested.rs +71 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/requirement.rs +1129 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/requires_python.rs +844 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/resolution.rs +286 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/resolved.rs +243 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/specified_requirement.rs +219 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/status_code_strategy.rs +289 -0
- man_spider-2.0.0/uv/crates/uv-distribution-types/src/traits.rs +245 -0
- man_spider-2.0.0/uv/crates/uv-extract/Cargo.toml +51 -0
- man_spider-2.0.0/uv/crates/uv-extract/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/error.rs +148 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/hash.rs +110 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/lib.rs +101 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/stream.rs +777 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/sync.rs +122 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/vendor/LICENSE +236 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/vendor/cloneable_seekable_reader.rs +173 -0
- man_spider-2.0.0/uv/crates/uv-extract/src/vendor/mod.rs +3 -0
- man_spider-2.0.0/uv/crates/uv-flags/Cargo.toml +24 -0
- man_spider-2.0.0/uv/crates/uv-flags/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-flags/src/lib.rs +22 -0
- man_spider-2.0.0/uv/crates/uv-fs/Cargo.toml +45 -0
- man_spider-2.0.0/uv/crates/uv-fs/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-fs/src/cachedir.rs +47 -0
- man_spider-2.0.0/uv/crates/uv-fs/src/lib.rs +699 -0
- man_spider-2.0.0/uv/crates/uv-fs/src/locked_file.rs +353 -0
- man_spider-2.0.0/uv/crates/uv-fs/src/path.rs +553 -0
- man_spider-2.0.0/uv/crates/uv-fs/src/which.rs +62 -0
- man_spider-2.0.0/uv/crates/uv-git/Cargo.toml +39 -0
- man_spider-2.0.0/uv/crates/uv-git/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-git/src/credentials.rs +40 -0
- man_spider-2.0.0/uv/crates/uv-git/src/git.rs +822 -0
- man_spider-2.0.0/uv/crates/uv-git/src/lib.rs +12 -0
- man_spider-2.0.0/uv/crates/uv-git/src/rate_limit.rs +37 -0
- man_spider-2.0.0/uv/crates/uv-git/src/resolver.rs +279 -0
- man_spider-2.0.0/uv/crates/uv-git/src/source.rs +225 -0
- man_spider-2.0.0/uv/crates/uv-git-types/Cargo.toml +25 -0
- man_spider-2.0.0/uv/crates/uv-git-types/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-git-types/src/github.rs +85 -0
- man_spider-2.0.0/uv/crates/uv-git-types/src/lib.rs +239 -0
- man_spider-2.0.0/uv/crates/uv-git-types/src/oid.rs +130 -0
- man_spider-2.0.0/uv/crates/uv-git-types/src/reference.rs +80 -0
- man_spider-2.0.0/uv/crates/uv-globfilter/Cargo.toml +29 -0
- man_spider-2.0.0/uv/crates/uv-globfilter/README.md +34 -0
- man_spider-2.0.0/uv/crates/uv-globfilter/src/glob_dir_filter.rs +283 -0
- man_spider-2.0.0/uv/crates/uv-globfilter/src/lib.rs +10 -0
- man_spider-2.0.0/uv/crates/uv-globfilter/src/main.rs +63 -0
- man_spider-2.0.0/uv/crates/uv-globfilter/src/portable_glob.rs +321 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/Cargo.toml +61 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/src/install.rs +162 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/src/lib.rs +88 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/src/linker.rs +751 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/src/record.rs +16 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/src/script.rs +221 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/src/uninstall.rs +349 -0
- man_spider-2.0.0/uv/crates/uv-install-wheel/src/wheel.rs +1269 -0
- man_spider-2.0.0/uv/crates/uv-installer/Cargo.toml +58 -0
- man_spider-2.0.0/uv/crates/uv-installer/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/compile.rs +428 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/installer.rs +214 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/lib.rs +17 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/pip_compileall.py +67 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/plan.rs +896 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/preparer.rs +321 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/satisfies.rs +567 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/site_packages.rs +734 -0
- man_spider-2.0.0/uv/crates/uv-installer/src/uninstall.rs +37 -0
- man_spider-2.0.0/uv/crates/uv-keyring/Cargo.toml +52 -0
- man_spider-2.0.0/uv/crates/uv-keyring/README.md +64 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/blocking.rs +11 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/credential.rs +187 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/error.rs +93 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/lib.rs +613 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/macos.rs +450 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/mock.rs +341 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/secret_service.rs +932 -0
- man_spider-2.0.0/uv/crates/uv-keyring/src/windows.rs +794 -0
- man_spider-2.0.0/uv/crates/uv-keyring/tests/basic.rs +175 -0
- man_spider-2.0.0/uv/crates/uv-keyring/tests/common/mod.rs +33 -0
- man_spider-2.0.0/uv/crates/uv-keyring/tests/threading.rs +283 -0
- man_spider-2.0.0/uv/crates/uv-logging/Cargo.toml +22 -0
- man_spider-2.0.0/uv/crates/uv-logging/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-logging/src/lib.rs +95 -0
- man_spider-2.0.0/uv/crates/uv-macros/Cargo.toml +23 -0
- man_spider-2.0.0/uv/crates/uv-macros/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-macros/src/lib.rs +202 -0
- man_spider-2.0.0/uv/crates/uv-macros/src/options_metadata.rs +443 -0
- man_spider-2.0.0/uv/crates/uv-metadata/Cargo.toml +30 -0
- man_spider-2.0.0/uv/crates/uv-metadata/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-metadata/src/lib.rs +330 -0
- man_spider-2.0.0/uv/crates/uv-normalize/Cargo.toml +26 -0
- man_spider-2.0.0/uv/crates/uv-normalize/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-normalize/src/dist_info_name.rs +108 -0
- man_spider-2.0.0/uv/crates/uv-normalize/src/extra_name.rs +177 -0
- man_spider-2.0.0/uv/crates/uv-normalize/src/group_name.rs +285 -0
- man_spider-2.0.0/uv/crates/uv-normalize/src/lib.rs +243 -0
- man_spider-2.0.0/uv/crates/uv-normalize/src/package_name.rs +124 -0
- man_spider-2.0.0/uv/crates/uv-once-map/Cargo.toml +21 -0
- man_spider-2.0.0/uv/crates/uv-once-map/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-once-map/src/lib.rs +155 -0
- man_spider-2.0.0/uv/crates/uv-options-metadata/Cargo.toml +19 -0
- man_spider-2.0.0/uv/crates/uv-options-metadata/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-options-metadata/src/lib.rs +489 -0
- man_spider-2.0.0/uv/crates/uv-pep440/CHANGELOG.md +100 -0
- man_spider-2.0.0/uv/crates/uv-pep440/Cargo.toml +32 -0
- man_spider-2.0.0/uv/crates/uv-pep440/License-Apache +176 -0
- man_spider-2.0.0/uv/crates/uv-pep440/License-BSD +22 -0
- man_spider-2.0.0/uv/crates/uv-pep440/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-pep440/src/lib.rs +61 -0
- man_spider-2.0.0/uv/crates/uv-pep440/src/version.rs +4682 -0
- man_spider-2.0.0/uv/crates/uv-pep440/src/version_ranges.rs +624 -0
- man_spider-2.0.0/uv/crates/uv-pep440/src/version_specifier.rs +2054 -0
- man_spider-2.0.0/uv/crates/uv-pep508/Cargo.toml +61 -0
- man_spider-2.0.0/uv/crates/uv-pep508/Changelog.md +32 -0
- man_spider-2.0.0/uv/crates/uv-pep508/License-Apache +176 -0
- man_spider-2.0.0/uv/crates/uv-pep508/License-BSD +22 -0
- man_spider-2.0.0/uv/crates/uv-pep508/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/cursor.rs +142 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/lib.rs +1913 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/marker/algebra.rs +1817 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/marker/environment.rs +341 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/marker/lowering.rs +194 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/marker/mod.rs +49 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/marker/parse.rs +687 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/marker/simplify.rs +472 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/marker/tree.rs +3714 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/origin.rs +32 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/unnamed.rs +419 -0
- man_spider-2.0.0/uv/crates/uv-pep508/src/verbatim_url.rs +779 -0
- man_spider-2.0.0/uv/crates/uv-performance-memory-allocator/Cargo.toml +21 -0
- man_spider-2.0.0/uv/crates/uv-performance-memory-allocator/README.md +14 -0
- man_spider-2.0.0/uv/crates/uv-performance-memory-allocator/src/lib.rs +19 -0
- man_spider-2.0.0/uv/crates/uv-platform/Cargo.toml +34 -0
- man_spider-2.0.0/uv/crates/uv-platform/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-platform/src/arch.rs +289 -0
- man_spider-2.0.0/uv/crates/uv-platform/src/cpuinfo.rs +33 -0
- man_spider-2.0.0/uv/crates/uv-platform/src/lib.rs +510 -0
- man_spider-2.0.0/uv/crates/uv-platform/src/libc.rs +386 -0
- man_spider-2.0.0/uv/crates/uv-platform/src/os.rs +112 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/Cargo.toml +28 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/src/abi_tag.rs +502 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/src/language_tag.rs +420 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/src/lib.rs +11 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/src/platform.rs +238 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/src/platform_tag.rs +1254 -0
- man_spider-2.0.0/uv/crates/uv-platform-tags/src/tags.rs +2670 -0
- man_spider-2.0.0/uv/crates/uv-preview/Cargo.toml +28 -0
- man_spider-2.0.0/uv/crates/uv-preview/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-preview/src/lib.rs +340 -0
- man_spider-2.0.0/uv/crates/uv-publish/Cargo.toml +62 -0
- man_spider-2.0.0/uv/crates/uv-publish/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-publish/src/lib.rs +2258 -0
- man_spider-2.0.0/uv/crates/uv-publish/src/snapshots/uv_publish__tests__group_files.snap +43 -0
- man_spider-2.0.0/uv/crates/uv-publish/src/trusted_publishing/pypi.rs +127 -0
- man_spider-2.0.0/uv/crates/uv-publish/src/trusted_publishing/pyx.rs +153 -0
- man_spider-2.0.0/uv/crates/uv-publish/src/trusted_publishing.rs +198 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/Cargo.toml +51 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/base_url.rs +35 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/conflicts.rs +799 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/dependency_groups.rs +148 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/direct_url.rs +152 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/identifier.rs +186 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/lenient_requirement.rs +436 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/lib.rs +27 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/marker_environment.rs +53 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/build_requires.rs +13 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/metadata10.rs +33 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/metadata23.rs +396 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/metadata_resolver.rs +429 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/mod.rs +128 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/pyproject_toml.rs +90 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/requires_dist.rs +97 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/metadata/requires_txt.rs +169 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/parsed_url.rs +604 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/project_status.rs +141 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/scheme.rs +17 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/simple_json.rs +875 -0
- man_spider-2.0.0/uv/crates/uv-pypi-types/src/supported_environments.rs +107 -0
- man_spider-2.0.0/uv/crates/uv-python/.gitignore +1 -0
- man_spider-2.0.0/uv/crates/uv-python/Cargo.toml +87 -0
- man_spider-2.0.0/uv/crates/uv-python/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-python/build.rs +76 -0
- man_spider-2.0.0/uv/crates/uv-python/download-metadata.json +69107 -0
- man_spider-2.0.0/uv/crates/uv-python/fetch-download-metadata.py +908 -0
- man_spider-2.0.0/uv/crates/uv-python/python/__init__.py +0 -0
- man_spider-2.0.0/uv/crates/uv-python/python/get_interpreter_info.py +686 -0
- man_spider-2.0.0/uv/crates/uv-python/python/packaging/LICENSE.APACHE +177 -0
- man_spider-2.0.0/uv/crates/uv-python/python/packaging/LICENSE.BSD +23 -0
- man_spider-2.0.0/uv/crates/uv-python/python/packaging/README.md +6 -0
- man_spider-2.0.0/uv/crates/uv-python/python/packaging/__init__.py +15 -0
- man_spider-2.0.0/uv/crates/uv-python/python/packaging/_elffile.py +109 -0
- man_spider-2.0.0/uv/crates/uv-python/python/packaging/_manylinux.py +259 -0
- man_spider-2.0.0/uv/crates/uv-python/python/packaging/_musllinux.py +85 -0
- man_spider-2.0.0/uv/crates/uv-python/python/ruff.toml +2 -0
- man_spider-2.0.0/uv/crates/uv-python/src/discovery.rs +4123 -0
- man_spider-2.0.0/uv/crates/uv-python/src/downloads.rs +2217 -0
- man_spider-2.0.0/uv/crates/uv-python/src/environment.rs +368 -0
- man_spider-2.0.0/uv/crates/uv-python/src/implementation.rs +156 -0
- man_spider-2.0.0/uv/crates/uv-python/src/installation.rs +925 -0
- man_spider-2.0.0/uv/crates/uv-python/src/interpreter.rs +1387 -0
- man_spider-2.0.0/uv/crates/uv-python/src/lib.rs +2976 -0
- man_spider-2.0.0/uv/crates/uv-python/src/macos_dylib.rs +63 -0
- man_spider-2.0.0/uv/crates/uv-python/src/managed.rs +1343 -0
- man_spider-2.0.0/uv/crates/uv-python/src/microsoft_store.rs +119 -0
- man_spider-2.0.0/uv/crates/uv-python/src/pointer_size.rs +21 -0
- man_spider-2.0.0/uv/crates/uv-python/src/prefix.rs +45 -0
- man_spider-2.0.0/uv/crates/uv-python/src/python_version.rs +301 -0
- man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/cursor.rs +148 -0
- man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/generated_mappings.rs +100 -0
- man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/mod.rs +435 -0
- man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/parser.rs +537 -0
- man_spider-2.0.0/uv/crates/uv-python/src/sysconfig/replacements.rs +27 -0
- man_spider-2.0.0/uv/crates/uv-python/src/target.rs +43 -0
- man_spider-2.0.0/uv/crates/uv-python/src/version_files.rs +290 -0
- man_spider-2.0.0/uv/crates/uv-python/src/virtualenv.rs +447 -0
- man_spider-2.0.0/uv/crates/uv-python/src/windows_registry.rs +303 -0
- man_spider-2.0.0/uv/crates/uv-redacted/Cargo.toml +26 -0
- man_spider-2.0.0/uv/crates/uv-redacted/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-redacted/src/lib.rs +528 -0
- man_spider-2.0.0/uv/crates/uv-requirements/Cargo.toml +48 -0
- man_spider-2.0.0/uv/crates/uv-requirements/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/extras.rs +126 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/lib.rs +91 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/lookahead.rs +214 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/source_tree.rs +236 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/sources.rs +340 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/specification.rs +775 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/unnamed.rs +343 -0
- man_spider-2.0.0/uv/crates/uv-requirements/src/upgrade.rs +133 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/Cargo.toml +51 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/lib.rs +2970 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/requirement.rs +172 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/shquote.rs +211 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-basic.txt.snap +190 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-constraints-a.txt.snap +94 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-constraints-b.txt.snap +74 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-empty.txt.snap +15 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-for-poetry.txt.snap +129 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-include-a.txt.snap +63 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-include-b.txt.snap +34 -0
- 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
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-small.txt.snap +74 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-whitespace.txt.snap +106 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-basic.txt.snap +190 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-constraints-a.txt.snap +94 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-constraints-b.txt.snap +74 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-empty.txt.snap +15 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-for-poetry.txt.snap +129 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-include-a.txt.snap +63 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-include-b.txt.snap +34 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-poetry-with-hashes.txt.snap +175 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-small.txt.snap +74 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-bare-url.txt.snap +320 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-editable.txt.snap +460 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-hash.txt.snap +19 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-unix-semicolon.txt.snap +22 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-whitespace.txt.snap +106 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-windows-bare-url.txt.snap +320 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-windows-editable.txt.snap +460 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/bare-url.txt +6 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/basic.txt +6 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/constraints-a.txt +2 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/constraints-b.txt +2 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/editable.txt +23 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/empty.txt +0 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/for-poetry.txt +6 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/hash.txt +2 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/include-a.txt +3 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/include-b.txt +1 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/poetry-with-hashes.txt +14 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/semicolon.txt +2 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/small.txt +4 -0
- man_spider-2.0.0/uv/crates/uv-requirements-txt/test-data/requirements-txt/whitespace.txt +25 -0
- man_spider-2.0.0/uv/crates/uv-resolver/Cargo.toml +84 -0
- man_spider-2.0.0/uv/crates/uv-resolver/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/candidate_selector.rs +774 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/dependency_mode.rs +20 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/dependency_provider.rs +61 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/error.rs +1467 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/exclude_newer.rs +835 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/exclusions.rs +27 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/flat_index.rs +269 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/fork_indexes.rs +38 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/fork_strategy.rs +23 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/fork_urls.rs +52 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/graph_ops.rs +344 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lib.rs +69 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/cyclonedx_json.rs +445 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/mod.rs +544 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/pylock_toml.rs +1770 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/export/requirements_txt.rs +216 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/installable.rs +590 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/map.rs +42 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/mod.rs +6672 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_missing.snap +133 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_present.snap +140 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_required_present.snap +132 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_unambiguous.snap +211 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_version_unambiguous.snap +211 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_dynamic.snap +236 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_unambiguous.snap +211 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_has_subdir.snap +111 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_no_subdir.snap +107 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_directory.snap +97 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_editable.snap +97 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/lock/tree.rs +701 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/manifest.rs +275 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/marker.rs +189 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/options.rs +141 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/pins.rs +34 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/preferences.rs +414 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/prerelease.rs +144 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/dependencies.rs +278 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/distribution.rs +38 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/mod.rs +11 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/package.rs +411 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/priority.rs +279 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/pubgrub/report.rs +2238 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/python_requirement.rs +186 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/redirect.rs +150 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/display.rs +437 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/mod.rs +87 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/output.rs +1006 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolution/requirements_txt.rs +225 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolution_mode.rs +61 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/availability.rs +219 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/batch_prefetch.rs +364 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/derivation.rs +91 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/environment.rs +806 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/fork_map.rs +69 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/index.rs +44 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/indexes.rs +75 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/mod.rs +4121 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/provider.rs +318 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/reporter.rs +83 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/system.rs +96 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/resolver/urls.rs +210 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/universal_marker.rs +1038 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/version_map.rs +692 -0
- man_spider-2.0.0/uv/crates/uv-resolver/src/yanks.rs +60 -0
- man_spider-2.0.0/uv/crates/uv-scripts/Cargo.toml +38 -0
- man_spider-2.0.0/uv/crates/uv-scripts/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-scripts/src/lib.rs +1139 -0
- man_spider-2.0.0/uv/crates/uv-settings/Cargo.toml +56 -0
- man_spider-2.0.0/uv/crates/uv-settings/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-settings/src/combine.rs +309 -0
- man_spider-2.0.0/uv/crates/uv-settings/src/lib.rs +809 -0
- man_spider-2.0.0/uv/crates/uv-settings/src/settings.rs +2484 -0
- man_spider-2.0.0/uv/crates/uv-shell/Cargo.toml +37 -0
- man_spider-2.0.0/uv/crates/uv-shell/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-shell/src/lib.rs +443 -0
- man_spider-2.0.0/uv/crates/uv-shell/src/runnable.rs +208 -0
- man_spider-2.0.0/uv/crates/uv-shell/src/shlex.rs +50 -0
- man_spider-2.0.0/uv/crates/uv-shell/src/windows.rs +115 -0
- man_spider-2.0.0/uv/crates/uv-small-str/Cargo.toml +22 -0
- man_spider-2.0.0/uv/crates/uv-small-str/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-small-str/src/lib.rs +161 -0
- man_spider-2.0.0/uv/crates/uv-state/Cargo.toml +21 -0
- man_spider-2.0.0/uv/crates/uv-state/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-state/src/lib.rs +120 -0
- man_spider-2.0.0/uv/crates/uv-static/Cargo.toml +21 -0
- man_spider-2.0.0/uv/crates/uv-static/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-static/src/env_vars.rs +1297 -0
- man_spider-2.0.0/uv/crates/uv-static/src/lib.rs +67 -0
- man_spider-2.0.0/uv/crates/uv-tool/Cargo.toml +42 -0
- man_spider-2.0.0/uv/crates/uv-tool/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-tool/src/lib.rs +485 -0
- man_spider-2.0.0/uv/crates/uv-tool/src/receipt.rs +52 -0
- man_spider-2.0.0/uv/crates/uv-tool/src/tool.rs +374 -0
- man_spider-2.0.0/uv/crates/uv-torch/Cargo.toml +32 -0
- man_spider-2.0.0/uv/crates/uv-torch/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-torch/src/accelerator.rs +379 -0
- man_spider-2.0.0/uv/crates/uv-torch/src/backend.rs +1419 -0
- man_spider-2.0.0/uv/crates/uv-torch/src/lib.rs +5 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/.cargo/config.toml +4 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/Cargo.lock +286 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/Cargo.toml +62 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/README.md +160 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/build.rs +17 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/rust-toolchain.toml +2 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/src/bin/uv-trampoline-console.rs +9 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/src/bin/uv-trampoline-gui.rs +9 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/src/bounce.rs +495 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/src/diagnostics.rs +56 -0
- man_spider-2.0.0/uv/crates/uv-trampoline/src/lib.rs +2 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/Cargo.toml +39 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/src/lib.rs +808 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-aarch64-console.exe +0 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-aarch64-gui.exe +0 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-i686-console.exe +0 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-i686-gui.exe +0 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-x86_64-console.exe +0 -0
- man_spider-2.0.0/uv/crates/uv-trampoline-builder/trampolines/uv-trampoline-x86_64-gui.exe +0 -0
- man_spider-2.0.0/uv/crates/uv-types/Cargo.toml +38 -0
- man_spider-2.0.0/uv/crates/uv-types/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-types/src/builds.rs +84 -0
- man_spider-2.0.0/uv/crates/uv-types/src/downloads.rs +9 -0
- man_spider-2.0.0/uv/crates/uv-types/src/hash.rs +340 -0
- man_spider-2.0.0/uv/crates/uv-types/src/lib.rs +12 -0
- man_spider-2.0.0/uv/crates/uv-types/src/requirements.rs +43 -0
- man_spider-2.0.0/uv/crates/uv-types/src/traits.rs +289 -0
- man_spider-2.0.0/uv/crates/uv-unix/Cargo.toml +20 -0
- man_spider-2.0.0/uv/crates/uv-unix/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-unix/src/lib.rs +9 -0
- man_spider-2.0.0/uv/crates/uv-unix/src/resource_limits.rs +111 -0
- man_spider-2.0.0/uv/crates/uv-version/Cargo.toml +18 -0
- man_spider-2.0.0/uv/crates/uv-version/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-version/src/lib.rs +16 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/Cargo.toml +40 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/README.md +55 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/_virtualenv.py +101 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/.gitattributes +1 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate +130 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.bat +71 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.csh +76 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.fish +124 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.nu +102 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate.ps1 +82 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/activate_this.py +59 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/deactivate.bat +39 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/activator/pydoc.bat +22 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/lib.rs +77 -0
- man_spider-2.0.0/uv/crates/uv-virtualenv/src/virtualenv.rs +941 -0
- man_spider-2.0.0/uv/crates/uv-warnings/Cargo.toml +26 -0
- man_spider-2.0.0/uv/crates/uv-warnings/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-warnings/src/lib.rs +158 -0
- man_spider-2.0.0/uv/crates/uv-windows/Cargo.toml +23 -0
- man_spider-2.0.0/uv/crates/uv-windows/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-windows/src/ctrl_handler.rs +53 -0
- man_spider-2.0.0/uv/crates/uv-windows/src/job.rs +160 -0
- man_spider-2.0.0/uv/crates/uv-windows/src/lib.rs +16 -0
- man_spider-2.0.0/uv/crates/uv-windows/src/spawn.rs +89 -0
- man_spider-2.0.0/uv/crates/uv-workspace/Cargo.toml +57 -0
- man_spider-2.0.0/uv/crates/uv-workspace/README.md +13 -0
- man_spider-2.0.0/uv/crates/uv-workspace/src/dependency_groups.rs +335 -0
- man_spider-2.0.0/uv/crates/uv-workspace/src/lib.rs +10 -0
- man_spider-2.0.0/uv/crates/uv-workspace/src/pyproject.rs +1899 -0
- man_spider-2.0.0/uv/crates/uv-workspace/src/pyproject_mut.rs +1930 -0
- man_spider-2.0.0/uv/crates/uv-workspace/src/workspace.rs +2886 -0
- man_spider-2.0.0/uv/dist-workspace.toml +93 -0
- man_spider-2.0.0/uv/docs/.gitignore +1 -0
- man_spider-2.0.0/uv/docs/.overrides/main.html +47 -0
- man_spider-2.0.0/uv/docs/.overrides/partials/integrations/analytics/fathom.html +5 -0
- man_spider-2.0.0/uv/docs/assets/favicon.ico +0 -0
- man_spider-2.0.0/uv/docs/assets/github-add-environment.png +0 -0
- man_spider-2.0.0/uv/docs/assets/logo-letter.svg +3 -0
- man_spider-2.0.0/uv/docs/assets/pypi-add-trusted-publisher.png +0 -0
- man_spider-2.0.0/uv/docs/assets/pypi-with-trusted-publisher.png +0 -0
- man_spider-2.0.0/uv/docs/assets/uv_gui_script_hello_world.png +0 -0
- man_spider-2.0.0/uv/docs/assets/uv_gui_script_hello_world_pyqt.png +0 -0
- man_spider-2.0.0/uv/docs/concepts/authentication/certificates.md +41 -0
- man_spider-2.0.0/uv/docs/concepts/authentication/cli.md +69 -0
- man_spider-2.0.0/uv/docs/concepts/authentication/git.md +70 -0
- man_spider-2.0.0/uv/docs/concepts/authentication/http.md +85 -0
- man_spider-2.0.0/uv/docs/concepts/authentication/index.md +11 -0
- man_spider-2.0.0/uv/docs/concepts/authentication/third-party.md +21 -0
- man_spider-2.0.0/uv/docs/concepts/build-backend.md +264 -0
- man_spider-2.0.0/uv/docs/concepts/cache.md +208 -0
- man_spider-2.0.0/uv/docs/concepts/configuration-files.md +125 -0
- man_spider-2.0.0/uv/docs/concepts/index.md +16 -0
- man_spider-2.0.0/uv/docs/concepts/indexes.md +320 -0
- man_spider-2.0.0/uv/docs/concepts/preview.md +81 -0
- man_spider-2.0.0/uv/docs/concepts/projects/build.md +74 -0
- man_spider-2.0.0/uv/docs/concepts/projects/config.md +616 -0
- man_spider-2.0.0/uv/docs/concepts/projects/dependencies.md +966 -0
- man_spider-2.0.0/uv/docs/concepts/projects/export.md +117 -0
- man_spider-2.0.0/uv/docs/concepts/projects/index.md +18 -0
- man_spider-2.0.0/uv/docs/concepts/projects/init.md +343 -0
- man_spider-2.0.0/uv/docs/concepts/projects/layout.md +104 -0
- man_spider-2.0.0/uv/docs/concepts/projects/run.md +100 -0
- man_spider-2.0.0/uv/docs/concepts/projects/sync.md +222 -0
- man_spider-2.0.0/uv/docs/concepts/projects/workspaces.md +206 -0
- man_spider-2.0.0/uv/docs/concepts/python-versions.md +508 -0
- man_spider-2.0.0/uv/docs/concepts/resolution.md +777 -0
- man_spider-2.0.0/uv/docs/concepts/tools.md +282 -0
- man_spider-2.0.0/uv/docs/getting-started/features.md +109 -0
- man_spider-2.0.0/uv/docs/getting-started/first-steps.md +21 -0
- man_spider-2.0.0/uv/docs/getting-started/help.md +86 -0
- man_spider-2.0.0/uv/docs/getting-started/index.md +14 -0
- man_spider-2.0.0/uv/docs/getting-started/installation.md +290 -0
- man_spider-2.0.0/uv/docs/guides/index.md +13 -0
- man_spider-2.0.0/uv/docs/guides/install-python.md +157 -0
- man_spider-2.0.0/uv/docs/guides/integration/alternative-indexes.md +435 -0
- man_spider-2.0.0/uv/docs/guides/integration/aws-lambda.md +600 -0
- man_spider-2.0.0/uv/docs/guides/integration/coiled.md +142 -0
- man_spider-2.0.0/uv/docs/guides/integration/dependency-bots.md +77 -0
- man_spider-2.0.0/uv/docs/guides/integration/docker.md +623 -0
- man_spider-2.0.0/uv/docs/guides/integration/fastapi.md +136 -0
- man_spider-2.0.0/uv/docs/guides/integration/github.md +415 -0
- man_spider-2.0.0/uv/docs/guides/integration/gitlab.md +86 -0
- man_spider-2.0.0/uv/docs/guides/integration/index.md +18 -0
- man_spider-2.0.0/uv/docs/guides/integration/jupyter.md +170 -0
- man_spider-2.0.0/uv/docs/guides/integration/marimo.md +108 -0
- man_spider-2.0.0/uv/docs/guides/integration/pre-commit.md +81 -0
- man_spider-2.0.0/uv/docs/guides/integration/pytorch.md +481 -0
- man_spider-2.0.0/uv/docs/guides/migration/index.md +14 -0
- man_spider-2.0.0/uv/docs/guides/migration/pip-to-project.md +499 -0
- man_spider-2.0.0/uv/docs/guides/package.md +215 -0
- man_spider-2.0.0/uv/docs/guides/projects.md +282 -0
- man_spider-2.0.0/uv/docs/guides/scripts.md +393 -0
- man_spider-2.0.0/uv/docs/guides/tools.md +313 -0
- man_spider-2.0.0/uv/docs/index.md +246 -0
- man_spider-2.0.0/uv/docs/js/extra.js +140 -0
- man_spider-2.0.0/uv/docs/pip/compatibility.md +510 -0
- man_spider-2.0.0/uv/docs/pip/compile.md +218 -0
- man_spider-2.0.0/uv/docs/pip/dependencies.md +54 -0
- man_spider-2.0.0/uv/docs/pip/environments.md +151 -0
- man_spider-2.0.0/uv/docs/pip/index.md +25 -0
- man_spider-2.0.0/uv/docs/pip/inspection.md +42 -0
- man_spider-2.0.0/uv/docs/pip/packages.md +147 -0
- man_spider-2.0.0/uv/docs/reference/benchmarks.md +7 -0
- man_spider-2.0.0/uv/docs/reference/index.md +11 -0
- man_spider-2.0.0/uv/docs/reference/installer.md +58 -0
- man_spider-2.0.0/uv/docs/reference/internals/index.md +5 -0
- man_spider-2.0.0/uv/docs/reference/internals/resolver.md +336 -0
- man_spider-2.0.0/uv/docs/reference/policies/index.md +5 -0
- man_spider-2.0.0/uv/docs/reference/policies/license.md +19 -0
- man_spider-2.0.0/uv/docs/reference/policies/platforms.md +84 -0
- man_spider-2.0.0/uv/docs/reference/policies/versioning.md +39 -0
- man_spider-2.0.0/uv/docs/reference/storage.md +200 -0
- man_spider-2.0.0/uv/docs/reference/troubleshooting/build-failures.md +336 -0
- man_spider-2.0.0/uv/docs/reference/troubleshooting/index.md +7 -0
- man_spider-2.0.0/uv/docs/reference/troubleshooting/reproducible-examples.md +151 -0
- man_spider-2.0.0/uv/docs/requirements.in +10 -0
- man_spider-2.0.0/uv/docs/requirements.txt +156 -0
- man_spider-2.0.0/uv/docs/stylesheets/extra.css +257 -0
- man_spider-2.0.0/uv/mkdocs.yml +265 -0
- man_spider-2.0.0/uv/pyproject.toml +97 -0
- man_spider-2.0.0/uv/python/ruff.toml +2 -0
- man_spider-2.0.0/uv/python/uv/__init__.py +24 -0
- man_spider-2.0.0/uv/python/uv/__main__.py +52 -0
- man_spider-2.0.0/uv/python/uv/_find_uv.py +101 -0
- man_spider-2.0.0/uv/python/uv/py.typed +0 -0
- man_spider-2.0.0/uv/ruff.toml +14 -0
- man_spider-2.0.0/uv/rust-toolchain.toml +2 -0
- man_spider-2.0.0/uv/rustfmt.toml +2 -0
- man_spider-2.0.0/uv/scripts/benchmark/.python-version +1 -0
- man_spider-2.0.0/uv/scripts/benchmark/README.md +16 -0
- man_spider-2.0.0/uv/scripts/benchmark/pyproject.toml +22 -0
- man_spider-2.0.0/uv/scripts/benchmark/src/benchmark/__init__.py +75 -0
- man_spider-2.0.0/uv/scripts/benchmark/src/benchmark/resolver.py +1476 -0
- man_spider-2.0.0/uv/scripts/benchmark/src/benchmark/tools.py +345 -0
- man_spider-2.0.0/uv/scripts/benchmark/uv.lock +1048 -0
- man_spider-2.0.0/uv/scripts/bump-workspace-crate-versions.py +84 -0
- man_spider-2.0.0/uv/scripts/check-trampoline-version-consistency.py +56 -0
- man_spider-2.0.0/uv/scripts/check_cache_compat.py +136 -0
- man_spider-2.0.0/uv/scripts/check_embedded_python.py +96 -0
- man_spider-2.0.0/uv/scripts/check_registry.py +219 -0
- man_spider-2.0.0/uv/scripts/check_system_python.py +281 -0
- man_spider-2.0.0/uv/scripts/codesign-macos.sh +36 -0
- man_spider-2.0.0/uv/scripts/create-python-mirror.py +292 -0
- man_spider-2.0.0/uv/scripts/generate-crate-readmes.py +161 -0
- man_spider-2.0.0/uv/scripts/manual-github-release.sh +56 -0
- man_spider-2.0.0/uv/scripts/nextest-setup-hook-unix.sh +35 -0
- man_spider-2.0.0/uv/scripts/popular_packages/.gitignore +2 -0
- man_spider-2.0.0/uv/scripts/popular_packages/download.sh +4 -0
- man_spider-2.0.0/uv/scripts/popular_packages/pypi_10k_most_dependents.ipynb +86 -0
- man_spider-2.0.0/uv/scripts/publish/.gitignore +1 -0
- man_spider-2.0.0/uv/scripts/publish/test_publish.py +825 -0
- man_spider-2.0.0/uv/scripts/publish/test_publish.py.lock +671 -0
- man_spider-2.0.0/uv/scripts/registries-test.py +442 -0
- man_spider-2.0.0/uv/scripts/release.sh +27 -0
- man_spider-2.0.0/uv/scripts/reverse-changelog.py +56 -0
- man_spider-2.0.0/uv/scripts/scenarios/.gitignore +1 -0
- man_spider-2.0.0/uv/scripts/scenarios/generate.py +362 -0
- man_spider-2.0.0/uv/scripts/scenarios/pylock.toml +173 -0
- man_spider-2.0.0/uv/scripts/scenarios/pyproject.toml +5 -0
- man_spider-2.0.0/uv/scripts/scenarios/templates/compile.mustache +106 -0
- man_spider-2.0.0/uv/scripts/scenarios/templates/install.mustache +81 -0
- man_spider-2.0.0/uv/scripts/scenarios/templates/lock.mustache +97 -0
- man_spider-2.0.0/uv/scripts/smoke-test/__main__.py +60 -0
- man_spider-2.0.0/uv/scripts/smoke-test/commands.sh +22 -0
- man_spider-2.0.0/uv/scripts/sync-python-version-constants.py +113 -0
- man_spider-2.0.0/uv/scripts/sync_scenarios.sh +43 -0
- man_spider-2.0.0/uv/scripts/transform_readme.py +111 -0
- man_spider-2.0.0/uv/scripts/update_schemastore.py +112 -0
- man_spider-2.0.0/uv/scripts/uv-run-remote-script-test.py +13 -0
- man_spider-2.0.0/uv/test/ecosystem/.gitignore +5 -0
- man_spider-2.0.0/uv/test/ecosystem/airflow/LICENSE +253 -0
- man_spider-2.0.0/uv/test/ecosystem/airflow/NOTICE +29 -0
- man_spider-2.0.0/uv/test/ecosystem/airflow/pyproject.toml +635 -0
- man_spider-2.0.0/uv/test/ecosystem/black/LICENSE +21 -0
- man_spider-2.0.0/uv/test/ecosystem/black/PKG-INFO +2115 -0
- man_spider-2.0.0/uv/test/ecosystem/black/pyproject.toml +268 -0
- man_spider-2.0.0/uv/test/ecosystem/github-wikidata-bot/License +18 -0
- man_spider-2.0.0/uv/test/ecosystem/github-wikidata-bot/pyproject.toml +37 -0
- man_spider-2.0.0/uv/test/ecosystem/home-assistant-core/LICENSE.md +201 -0
- man_spider-2.0.0/uv/test/ecosystem/home-assistant-core/pyproject.toml +845 -0
- man_spider-2.0.0/uv/test/ecosystem/packse/LICENSE-APACHE +201 -0
- man_spider-2.0.0/uv/test/ecosystem/packse/LICENSE-MIT +21 -0
- man_spider-2.0.0/uv/test/ecosystem/packse/pyproject.toml +55 -0
- man_spider-2.0.0/uv/test/ecosystem/saleor/LICENSE +30 -0
- man_spider-2.0.0/uv/test/ecosystem/saleor/pyproject.toml +151 -0
- man_spider-2.0.0/uv/test/ecosystem/transformers/LICENSE +203 -0
- man_spider-2.0.0/uv/test/ecosystem/transformers/pyproject.toml +351 -0
- man_spider-2.0.0/uv/test/ecosystem/warehouse/LICENSE +174 -0
- man_spider-2.0.0/uv/test/ecosystem/warehouse/pyproject.toml +260 -0
- man_spider-2.0.0/uv/test/links/abi3_package-1.0.0-cp37-abi3-manylinux_2_17_x86_64.whl +0 -0
- man_spider-2.0.0/uv/test/links/basic_app-0.1.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/basic_package-0.1.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/basic_package-0.1.0-py3-none-any.whl.tar.zst +0 -0
- man_spider-2.0.0/uv/test/links/basic_package-0.1.0.tar.gz +0 -0
- man_spider-2.0.0/uv/test/links/build_tag-1.0.0-1-py2.py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/build_tag-1.0.0-3-py2.py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/build_tag-1.0.0-5-py2.py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/bz2-1.0.0.tar.bz2 +0 -0
- man_spider-2.0.0/uv/test/links/cpython_package-1.0.0-cp314-cp314-manylinux_2_17_x86_64.whl +0 -0
- man_spider-2.0.0/uv/test/links/extras-0.0.1.tar.gz +0 -0
- man_spider-2.0.0/uv/test/links/extras-0.0.2.tar.gz +0 -0
- man_spider-2.0.0/uv/test/links/maturin-1.4.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/maturin-2.0.0-py3-none-linux_x86_64.whl +0 -0
- 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
- man_spider-2.0.0/uv/test/links/ok-1.0.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/ok-2.0.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/simple_launcher-0.1.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/tqdm-1000.0.0-py3-none-any.whl +0 -0
- 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
- man_spider-2.0.0/uv/test/links/tqdm-999.0.0.tar.gz +0 -0
- man_spider-2.0.0/uv/test/links/validation-1.0.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/validation-2.0.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/validation-3.0.0-py3-none-any.whl +0 -0
- man_spider-2.0.0/uv/test/links/wheel_tag_test-0.1.0-py3-none-win_amd64.whl +0 -0
- man_spider-2.0.0/uv/test/packages/README.md +4 -0
- man_spider-2.0.0/uv/test/packages/anyio_local/.gitignore +0 -0
- man_spider-2.0.0/uv/test/packages/anyio_local/.python-version +1 -0
- man_spider-2.0.0/uv/test/packages/anyio_local/anyio/__init__.py +2 -0
- man_spider-2.0.0/uv/test/packages/anyio_local/pyproject.toml +16 -0
- man_spider-2.0.0/uv/test/packages/black_editable/.gitignore +162 -0
- man_spider-2.0.0/uv/test/packages/black_editable/black/__init__.py +6 -0
- man_spider-2.0.0/uv/test/packages/black_editable/pyproject.toml +33 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/.gitignore +2 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/.python-version +1 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/LICENSE-APACHE +201 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/LICENSE-MIT +21 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/README.md +3 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/assets/data.csv +10 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/data-dir/build-script.py +1 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/data-dir/dont-include-me.txt +1 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/header/built_by_uv.h +8 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/pyproject.toml +28 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/scripts/whoami.sh +3 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/__init__.py +2 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/arithmetic/__init__.py +3 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/arithmetic/circle.py +12 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/arithmetic/pi.txt +1 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/build-only.h +4 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/cli.py +2 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/src/built_by_uv/not-packaged.txt +1 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/test.sh +23 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/tests/test_package.py +11 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/third-party-licenses/PEP-401.txt +4 -0
- man_spider-2.0.0/uv/test/packages/built-by-uv/uv.lock +103 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/.gitignore +2 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/README.md +0 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/first_local/__init__.py +0 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/first_local/pyproject.toml +17 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/.gitignore +2 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/README.md +0 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/pyproject.toml +17 -0
- man_spider-2.0.0/uv/test/packages/dependent_locals/second_local/second_local/__init__.py +0 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/.gitignore +1 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/Cargo.lock +7 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/Cargo.toml +11 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/deptry_reproducer-0.1.0.tar.gz +0 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/pyproject.toml +21 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/python/deptry_reproducer/__init__.py +5 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/python/deptry_reproducer/foo.py +0 -0
- man_spider-2.0.0/uv/test/packages/deptry_reproducer/src/lib.rs +1 -0
- man_spider-2.0.0/uv/test/packages/fake-uv/README.md +3 -0
- man_spider-2.0.0/uv/test/packages/fake-uv/pyproject.toml +11 -0
- man_spider-2.0.0/uv/test/packages/fake-uv/scripts/uv +4 -0
- man_spider-2.0.0/uv/test/packages/fake-uv/scripts/uv.exe +1 -0
- man_spider-2.0.0/uv/test/packages/flit_editable/.gitignore +162 -0
- man_spider-2.0.0/uv/test/packages/flit_editable/flit_editable/__init__.py +6 -0
- man_spider-2.0.0/uv/test/packages/flit_editable/pyproject.toml +17 -0
- man_spider-2.0.0/uv/test/packages/hatchling_dynamic/hatch_build.py +6 -0
- man_spider-2.0.0/uv/test/packages/hatchling_dynamic/hatchling_dynamic/__init__.py +0 -0
- man_spider-2.0.0/uv/test/packages/hatchling_dynamic/pyproject.toml +10 -0
- man_spider-2.0.0/uv/test/packages/hatchling_editable/README.md +0 -0
- man_spider-2.0.0/uv/test/packages/hatchling_editable/hatchling_editable/__init__.py +2 -0
- man_spider-2.0.0/uv/test/packages/hatchling_editable/logging/__init__.py +0 -0
- man_spider-2.0.0/uv/test/packages/hatchling_editable/pyproject.toml +22 -0
- man_spider-2.0.0/uv/test/packages/keyring_test_plugin/keyrings/__init__.py +0 -0
- man_spider-2.0.0/uv/test/packages/keyring_test_plugin/keyrings/test_keyring.py +34 -0
- man_spider-2.0.0/uv/test/packages/keyring_test_plugin/pyproject.toml +22 -0
- man_spider-2.0.0/uv/test/packages/package.name.with.dots/README.md +6 -0
- man_spider-2.0.0/uv/test/packages/package.name.with.dots/pyproject.toml +11 -0
- man_spider-2.0.0/uv/test/packages/package.name.with.dots/scripts/package.name.with.dots.ps1 +2 -0
- man_spider-2.0.0/uv/test/packages/package.name.with.dots/src/package_name_with_dots/__init__.py +3 -0
- man_spider-2.0.0/uv/test/packages/poetry_editable/poetry_editable/__init__.py +2 -0
- man_spider-2.0.0/uv/test/packages/poetry_editable/pyproject.toml +13 -0
- man_spider-2.0.0/uv/test/packages/root_editable/README.md +0 -0
- man_spider-2.0.0/uv/test/packages/root_editable/pyproject.toml +22 -0
- man_spider-2.0.0/uv/test/packages/root_editable/root_editable/__init__.py +2 -0
- man_spider-2.0.0/uv/test/packages/setup_cfg_editable/.gitignore +2 -0
- man_spider-2.0.0/uv/test/packages/setup_cfg_editable/setup.cfg +3 -0
- man_spider-2.0.0/uv/test/packages/setup_cfg_editable/setup.py +8 -0
- man_spider-2.0.0/uv/test/packages/setup_cfg_editable/setup_cfg_editable/__init__.py +0 -0
- man_spider-2.0.0/uv/test/packages/setup_py_editable/.gitignore +2 -0
- man_spider-2.0.0/uv/test/packages/setup_py_editable/setup.py +9 -0
- man_spider-2.0.0/uv/test/packages/setup_py_editable/setup_py_editable/__init__.py +0 -0
- man_spider-2.0.0/uv/test/packages/setuptools_editable/.gitignore +2 -0
- man_spider-2.0.0/uv/test/packages/setuptools_editable/pyproject.toml +13 -0
- man_spider-2.0.0/uv/test/packages/setuptools_editable/setuptools_editable/__init__.py +2 -0
- man_spider-2.0.0/uv/test/requirements/.gitignore +1 -0
- man_spider-2.0.0/uv/test/requirements/airflow.in +2 -0
- man_spider-2.0.0/uv/test/requirements/airflow2-constraints.txt +299 -0
- man_spider-2.0.0/uv/test/requirements/airflow2-req.in +7 -0
- man_spider-2.0.0/uv/test/requirements/all-kinds.in +12 -0
- man_spider-2.0.0/uv/test/requirements/backtracking/apache-beam-dill.in +5 -0
- man_spider-2.0.0/uv/test/requirements/backtracking/numpy-numba.in +9 -0
- man_spider-2.0.0/uv/test/requirements/backtracking/numpy-sparse.in +9 -0
- man_spider-2.0.0/uv/test/requirements/backtracking/sentry.in +11 -0
- man_spider-2.0.0/uv/test/requirements/backtracking/starlette-fastapi.in +14 -0
- man_spider-2.0.0/uv/test/requirements/bio_embeddings.in +2 -0
- man_spider-2.0.0/uv/test/requirements/black.in +1 -0
- man_spider-2.0.0/uv/test/requirements/boto3.in +3 -0
- man_spider-2.0.0/uv/test/requirements/compiled/all-kinds.txt +74 -0
- man_spider-2.0.0/uv/test/requirements/compiled/black.txt +17 -0
- man_spider-2.0.0/uv/test/requirements/compiled/boto3.txt +19 -0
- man_spider-2.0.0/uv/test/requirements/compiled/dtlssocket.txt +5 -0
- man_spider-2.0.0/uv/test/requirements/compiled/flyte.txt +256 -0
- man_spider-2.0.0/uv/test/requirements/compiled/jupyter.txt +300 -0
- man_spider-2.0.0/uv/test/requirements/compiled/pdm_2193.txt +31 -0
- man_spider-2.0.0/uv/test/requirements/compiled/scispacy.txt +216 -0
- man_spider-2.0.0/uv/test/requirements/compiled/trio.txt +81 -0
- man_spider-2.0.0/uv/test/requirements/dtlssocket.in +1 -0
- man_spider-2.0.0/uv/test/requirements/flyte.in +35 -0
- man_spider-2.0.0/uv/test/requirements/home-assistant.in +3031 -0
- man_spider-2.0.0/uv/test/requirements/jupyter.in +1 -0
- man_spider-2.0.0/uv/test/requirements/meine_stadt_transparent.in +1 -0
- man_spider-2.0.0/uv/test/requirements/pdm_2193.in +5 -0
- man_spider-2.0.0/uv/test/requirements/pydantic.in +42 -0
- man_spider-2.0.0/uv/test/requirements/scispacy.in +29 -0
- man_spider-2.0.0/uv/test/requirements/slow.in +16 -0
- man_spider-2.0.0/uv/test/requirements/transformers/pyproject.toml +297 -0
- man_spider-2.0.0/uv/test/requirements/transformers-extras.in +274 -0
- man_spider-2.0.0/uv/test/requirements/trio.in +23 -0
- man_spider-2.0.0/uv/test/workspaces/.gitignore +1 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-in-example/check_installed_albatross.py +11 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-in-example/examples/bird-feeder/check_installed_bird_feeder.py +10 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-in-example/examples/bird-feeder/pyproject.toml +9 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-in-example/examples/bird-feeder/src/bird_feeder/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-in-example/pyproject.toml +9 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-in-example/src/albatross/__init__.py +9 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-just-project/check_installed_albatross.py +4 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-just-project/pyproject.toml +9 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-just-project/src/albatross/__init__.py +2 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/excluded/bird-feeder/check_installed_bird_feeder.py +10 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/excluded/bird-feeder/pyproject.toml +9 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/excluded/bird-feeder/src/bird_feeder/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/packages/seeds/pyproject.toml +12 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/packages/seeds/src/seeds/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/pyproject.toml +13 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-project-in-excluded/src/albatross/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/check_installed_albatross.py +4 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/.gitignore +0 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/bird-feeder/check_installed_bird_feeder.py +10 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/bird-feeder/pyproject.toml +12 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/bird-feeder/src/bird_feeder/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/seeds/pyproject.toml +9 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/packages/seeds/src/seeds/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/pyproject.toml +15 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-root-workspace/src/albatross/__init__.py +11 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/Unrelated.md +2 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/albatross/check_installed_albatross.py +4 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/albatross/pyproject.toml +12 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/albatross/src/albatross/__init__.py +11 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/bird-feeder/check_installed_bird_feeder.py +10 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/bird-feeder/pyproject.toml +12 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/bird-feeder/src/bird_feeder/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/seeds/pyproject.toml +9 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/packages/seeds/src/seeds/__init__.py +5 -0
- man_spider-2.0.0/uv/test/workspaces/albatross-virtual-workspace/pyproject.toml +2 -0
- man_spider-2.0.0/uv/uv.schema.json +2547 -0
- man_spider-2.0.0/uv.lock +752 -0
- man_spider-1.1.2/man_spider/lib/parser/__init__.py +0 -1
- man_spider-1.1.2/man_spider/lib/parser/parser.py +0 -165
- man_spider-1.1.2/man_spider/lib/util.py +0 -142
- man_spider-1.1.2/man_spider/manspider.py +0 -189
- man_spider-1.1.2/pyproject.toml +0 -24
- {man_spider-1.1.2 → man_spider-2.0.0}/LICENSE +0 -0
- {man_spider-1.1.2 → man_spider-2.0.0}/man_spider/__init__.py +0 -0
- {man_spider-1.1.2 → 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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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,9 +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
|
-
|
|
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
|
|
5
30
|
|
|
6
|
-
|
|
31
|
+
---
|
|
7
32
|
|
|
8
33
|

|
|
9
34
|
|
|
@@ -18,19 +43,35 @@
|
|
|
18
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.
|
|
19
44
|

|
|
20
45
|
|
|
21
|
-
### Installation
|
|
22
|
-
|
|
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
|
|
23
52
|
~~~
|
|
24
|
-
# for images (png, jpeg)
|
|
25
|
-
$ sudo apt install tesseract-ocr
|
|
26
53
|
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
29
61
|
~~~
|
|
30
|
-
|
|
62
|
+
|
|
63
|
+
#### Install with pipx
|
|
64
|
+
~~~bash
|
|
65
|
+
pipx install git+https://github.com/blacklanternsecurity/MANSPIDER
|
|
31
66
|
~~~
|
|
32
|
-
|
|
33
|
-
|
|
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
|
|
34
75
|
~~~
|
|
35
76
|
|
|
36
77
|
## Installation (Docker)
|
|
@@ -112,6 +153,11 @@ $ manspider share.evilcorp.local -e kdbx kdb 1pif agilekeychain opvault lpd dash
|
|
|
112
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
|
|
113
154
|
~~~
|
|
114
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
|
+
|
|
115
161
|
### Usage Tip #1:
|
|
116
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`.
|
|
117
163
|
|
|
@@ -141,9 +187,9 @@ For example, you could specify any or all of these:
|
|
|
141
187
|
|
|
142
188
|
## Usage:
|
|
143
189
|
~~~
|
|
144
|
-
usage: manspider [-h] [-u USERNAME] [-p PASSWORD] [-d DOMAIN] [-m MAXDEPTH] [-H HASH] [-
|
|
145
|
-
[-c REGEX [REGEX ...]] [--sharenames SHARE [SHARE ...]] [--exclude-sharenames [SHARE ...]] [--dirnames DIR [DIR ...]]
|
|
146
|
-
[-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]
|
|
147
193
|
targets [targets ...]
|
|
148
194
|
|
|
149
195
|
Scan for juicy data on SMB shares. Matching files and logs are stored in $HOME/.manspider. All filters are case-insensitive.
|
|
@@ -152,26 +198,31 @@ positional arguments:
|
|
|
152
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
|
|
153
199
|
downloaded files)
|
|
154
200
|
|
|
155
|
-
|
|
201
|
+
options:
|
|
156
202
|
-h, --help show this help message and exit
|
|
157
|
-
-u
|
|
203
|
+
-u, --username USERNAME
|
|
158
204
|
username for authentication
|
|
159
|
-
-p
|
|
205
|
+
-p, --password PASSWORD
|
|
160
206
|
password for authentication
|
|
161
|
-
-d
|
|
162
|
-
|
|
163
|
-
|
|
207
|
+
-d, --domain DOMAIN domain for authentication
|
|
208
|
+
-l, --loot-dir LOOT_DIR
|
|
209
|
+
loot directory (default ~/.manspider/)
|
|
210
|
+
-m, --maxdepth MAXDEPTH
|
|
164
211
|
maximum depth to spider (default: 10)
|
|
165
|
-
-H
|
|
166
|
-
-
|
|
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
|
|
167
218
|
concurrent threads (default: 5)
|
|
168
|
-
-f
|
|
219
|
+
-f, --filenames REGEX [REGEX ...]
|
|
169
220
|
filter filenames using regex (space-separated)
|
|
170
|
-
-e
|
|
221
|
+
-e, --extensions EXT [EXT ...]
|
|
171
222
|
only show filenames with these extensions (space-separated, e.g. `docx xlsx` for only word & excel docs)
|
|
172
223
|
--exclude-extensions EXT [EXT ...]
|
|
173
224
|
ignore files with these extensions
|
|
174
|
-
-c
|
|
225
|
+
-c, --content REGEX [REGEX ...]
|
|
175
226
|
search for file content using regex (multiple supported)
|
|
176
227
|
--sharenames SHARE [SHARE ...]
|
|
177
228
|
only search shares with these names (multiple supported)
|
|
@@ -183,10 +234,38 @@ optional arguments:
|
|
|
183
234
|
don't search directories containing these strings (multiple supported)
|
|
184
235
|
-q, --quiet don't display matching file content
|
|
185
236
|
-n, --no-download don't download matching files
|
|
186
|
-
-mfail
|
|
237
|
+
-mfail, --max-failed-logons INT
|
|
187
238
|
limit failed logons
|
|
188
239
|
-o, --or-logic use OR logic instead of AND (files are downloaded if filename OR extension OR content match)
|
|
189
|
-
-s
|
|
240
|
+
-s, --max-filesize SIZE
|
|
190
241
|
don't retrieve files over this size, e.g. "500K" or ".5M" (default: 10M)
|
|
191
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)
|
|
192
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)
|