py-rattler 0.8.2__tar.gz → 0.9.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.
Potentially problematic release.
This version of py-rattler might be problematic. Click here for more details.
- py_rattler-0.9.0/Cargo.toml +162 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0}/PKG-INFO +2 -2
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/file_url/CHANGELOG.md +6 -0
- py_rattler-0.9.0/crates/file_url/Cargo.toml +19 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/file_url/src/lib.rs +26 -10
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/CHANGELOG.md +37 -0
- py_rattler-0.9.0/crates/rattler/Cargo.toml +66 -0
- py_rattler-0.9.0/crates/rattler/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/mod.rs +17 -9
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/transaction.rs +5 -0
- py_rattler-0.9.0/crates/rattler/src/install/unlink.rs +534 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/lib.rs +1 -1
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_cache/CHANGELOG.md +35 -0
- py_rattler-0.9.0/crates/rattler_cache/Cargo.toml +44 -0
- py_rattler-0.9.0/crates/rattler_cache/README.md +123 -0
- py_rattler-0.9.0/crates/rattler_cache/src/lib.rs +28 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_cache/src/package_cache/mod.rs +20 -3
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/CHANGELOG.md +31 -0
- py_rattler-0.9.0/crates/rattler_conda_types/Cargo.toml +62 -0
- py_rattler-0.9.0/crates/rattler_conda_types/README.md +123 -0
- py_rattler-0.9.0/crates/rattler_conda_types/src/channel/channel_url.rs +78 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/channel/mod.rs +54 -63
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/lib.rs +1 -1
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/mod.rs +1 -1
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/parse.rs +2 -2
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/snapshots/rattler_conda_types__match_spec__parse__tests__test_from_string_Lenient.snap +13 -13
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/snapshots/rattler_conda_types__match_spec__parse__tests__test_from_string_Strict.snap +13 -13
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/platform.rs +1 -1
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/mod.rs +6 -6
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data_record.rs +2 -1
- py_rattler-0.9.0/crates/rattler_conda_types/src/utils/mod.rs +6 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/utils/url.rs +0 -14
- py_rattler-0.9.0/crates/rattler_conda_types/src/utils/url_with_trailing_slash.rs +79 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version/bump.rs +107 -33
- py_rattler-0.9.0/crates/rattler_digest/Cargo.toml +32 -0
- py_rattler-0.9.0/crates/rattler_digest/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_index/CHANGELOG.md +29 -0
- py_rattler-0.9.0/crates/rattler_index/Cargo.toml +24 -0
- py_rattler-0.9.0/crates/rattler_index/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/CHANGELOG.md +23 -0
- py_rattler-0.9.0/crates/rattler_lock/Cargo.toml +35 -0
- py_rattler-0.9.0/crates/rattler_lock/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/builder.rs +223 -19
- py_rattler-0.9.0/crates/rattler_lock/src/conda.rs +367 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/file_format_version.rs +5 -1
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/lib.rs +221 -321
- py_rattler-0.9.0/crates/rattler_lock/src/parse/deserialize.rs +361 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/parse/mod.rs +32 -10
- py_rattler-0.9.0/crates/rattler_lock/src/parse/models/mod.rs +4 -0
- py_rattler-0.8.2/local_dependencies/rattler_lock/src/utils/serde/raw_conda_package_data.rs → py_rattler-0.9.0/crates/rattler_lock/src/parse/models/v5/conda_package_data.rs +42 -84
- py_rattler-0.9.0/crates/rattler_lock/src/parse/models/v5/mod.rs +5 -0
- py_rattler-0.9.0/crates/rattler_lock/src/parse/models/v5/pypi_package_data.rs +59 -0
- py_rattler-0.9.0/crates/rattler_lock/src/parse/models/v6/conda_package_data.rs +306 -0
- py_rattler-0.9.0/crates/rattler_lock/src/parse/models/v6/mod.rs +5 -0
- py_rattler-0.9.0/crates/rattler_lock/src/parse/models/v6/pypi_package_data.rs +77 -0
- py_rattler-0.9.0/crates/rattler_lock/src/parse/serialize.rs +452 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/parse/v3.rs +69 -23
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/pypi.rs +4 -17
- py_rattler-0.9.0/crates/rattler_lock/src/snapshots/rattler_lock__builder__test__merge_records_and_purls.snap +23 -0
- py_rattler-0.9.0/crates/rattler_lock/src/snapshots/rattler_lock__test__v0__numpy-conda-lock.yml.snap +5266 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v0__pypi-matplotlib-conda-lock.yml.snap +73 -413
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v0__python-conda-lock.yml.snap +97 -752
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v3__robostack-turtlesim-conda-lock.yml.snap +8754 -25523
- py_rattler-0.9.0/crates/rattler_lock/src/snapshots/rattler_lock__test__v4__absolute-path-lock.yml.snap +18 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v4__numpy-lock.yml.snap +2813 -5393
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v4__path-based-lock.yml.snap +34 -136
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v4__pypi-matplotlib-lock.yml.snap +155 -380
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v4__python-lock.yml.snap +276 -648
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v4__turtlesim-lock.yml.snap +8754 -25523
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__v5__flat-index-lock.yml.snap +19 -96
- py_rattler-0.9.0/crates/rattler_lock/src/snapshots/rattler_lock__test__v5__similar-with-and-without-purl.yml.snap +20 -0
- py_rattler-0.9.0/crates/rattler_lock/src/snapshots/rattler_lock__test__v6__conda-path-lock.yml.snap +61 -0
- py_rattler-0.9.0/crates/rattler_lock/src/snapshots/rattler_lock__test__v6__derived-channel-lock.yml.snap +31 -0
- py_rattler-0.9.0/crates/rattler_lock/src/snapshots/rattler_lock__url_or_path__test__order.snap +12 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/url_or_path.rs +117 -37
- py_rattler-0.9.0/crates/rattler_lock/src/utils/derived_fields.rs +336 -0
- py_rattler-0.9.0/crates/rattler_lock/src/utils/mod.rs +2 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/utils/serde/mod.rs +0 -3
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/utils/serde/url_or_path.rs +4 -4
- py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__location_derived_fields-1.snap +24 -0
- py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__location_derived_fields-2.snap +24 -0
- py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__location_derived_fields-3.snap +24 -0
- py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__location_derived_fields-4.snap +20 -0
- py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__location_derived_fields-5.snap +20 -0
- py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__location_derived_fields-6.snap +12 -0
- py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__location_derived_fields-7.snap +12 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/Cargo.toml +11 -9
- py_rattler-0.9.0/crates/rattler_macros/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/CHANGELOG.md +18 -0
- py_rattler-0.9.0/crates/rattler_networking/Cargo.toml +52 -0
- py_rattler-0.9.0/crates/rattler_networking/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/gcs_middleware.rs +48 -10
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/oci_middleware.rs +11 -8
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/CHANGELOG.md +35 -0
- py_rattler-0.9.0/crates/rattler_package_streaming/Cargo.toml +50 -0
- py_rattler-0.9.0/crates/rattler_package_streaming/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/reqwest/tokio.rs +17 -2
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/tests/extract.rs +3 -2
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_redaction/CHANGELOG.md +6 -0
- py_rattler-0.9.0/crates/rattler_redaction/Cargo.toml +16 -0
- py_rattler-0.9.0/crates/rattler_redaction/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/CHANGELOG.md +35 -0
- py_rattler-0.9.0/crates/rattler_repodata_gateway/Cargo.toml +88 -0
- py_rattler-0.9.0/crates/rattler_repodata_gateway/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/fetch/jlap/mod.rs +2 -2
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/fetch/mod.rs +3 -2
- py_rattler-0.9.0/crates/rattler_repodata_gateway/src/gateway/channel_config.rs +74 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/direct_url_query.rs +2 -4
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/error.rs +3 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/mod.rs +10 -78
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/query.rs +10 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/sharded_subdir/index.rs +101 -82
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/sharded_subdir/mod.rs +48 -42
- py_rattler-0.9.0/crates/rattler_repodata_gateway/src/gateway/subdir_builder.rs +158 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/sparse/mod.rs +5 -3
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/utils/mod.rs +3 -2
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/CHANGELOG.md +23 -0
- py_rattler-0.9.0/crates/rattler_shell/Cargo.toml +28 -0
- py_rattler-0.9.0/crates/rattler_shell/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/activation.rs +1 -1
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/run/mod.rs +1 -1
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/CHANGELOG.md +23 -0
- py_rattler-0.9.0/crates/rattler_solve/Cargo.toml +56 -0
- py_rattler-0.9.0/crates/rattler_solve/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/mod.rs +28 -25
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/resolvo/mod.rs +28 -15
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/backends.rs +9 -6
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_virtual_packages/CHANGELOG.md +23 -0
- py_rattler-0.9.0/crates/rattler_virtual_packages/Cargo.toml +25 -0
- py_rattler-0.9.0/crates/rattler_virtual_packages/README.md +123 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/simple_spawn_blocking/Cargo.toml +5 -6
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/Cargo.lock +79 -30
- py_rattler-0.9.0/py-rattler/Cargo.toml +78 -0
- py_rattler-0.9.0/py-rattler/README.md +123 -0
- py_rattler-0.9.0/py-rattler/docs/conda_locked_binary_package.md +3 -0
- py_rattler-0.9.0/py-rattler/docs/conda_locked_package.md +3 -0
- py_rattler-0.9.0/py-rattler/docs/conda_locked_source_package.md +3 -0
- py_rattler-0.9.0/py-rattler/docs/pypi_locked_package.md +3 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/mkdocs.yml +4 -2
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/pixi.lock +1249 -700
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/pixi.toml +7 -1
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/__init__.py +8 -4
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/lock/__init__.py +11 -4
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/lock/environment.py +11 -26
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/lock/lock_file.py +4 -2
- py_rattler-0.9.0/py-rattler/rattler/lock/package.py +302 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/networking/__init__.py +2 -2
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/networking/client.py +5 -2
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/networking/middleware.py +54 -1
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/package/about_json.py +63 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/package/index_json.py +90 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/package/paths_json.py +172 -7
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/package/run_exports_json.py +80 -2
- py_rattler-0.9.0/py-rattler/rattler/package_streaming/__init__.py +26 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/repo_data/gateway.py +13 -2
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/repo_data/package_record.py +1 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/about_json.rs +45 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/index_json.rs +83 -5
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/lib.rs +10 -1
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/lock/mod.rs +214 -122
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/networking/client.rs +7 -5
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/networking/middleware.rs +44 -3
- py_rattler-0.9.0/py-rattler/src/package_streaming/mod.rs +82 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/paths_json.rs +116 -1
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/record.rs +15 -6
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/repo_data/gateway.rs +17 -4
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/run_exports_json.rs +49 -0
- py_rattler-0.9.0/py-rattler/tests/__init__.py +0 -0
- py_rattler-0.9.0/py-rattler/tests/unit/__init__.py +0 -0
- py_rattler-0.9.0/py-rattler/tests/unit/test_package_streaming.py +69 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0}/pyproject.toml +2 -1
- py_rattler-0.9.0/rattler/__init__.py +97 -0
- py_rattler-0.9.0/rattler/channel/__init__.py +5 -0
- py_rattler-0.9.0/rattler/channel/channel.py +94 -0
- py_rattler-0.9.0/rattler/channel/channel_config.py +43 -0
- py_rattler-0.9.0/rattler/channel/channel_priority.py +14 -0
- py_rattler-0.9.0/rattler/exceptions.py +115 -0
- py_rattler-0.9.0/rattler/explicit_environment/__init__.py +3 -0
- py_rattler-0.9.0/rattler/explicit_environment/environment.py +69 -0
- py_rattler-0.9.0/rattler/index/__init__.py +3 -0
- py_rattler-0.9.0/rattler/index/index.py +28 -0
- py_rattler-0.9.0/rattler/install/__init__.py +3 -0
- py_rattler-0.9.0/rattler/install/installer.py +83 -0
- py_rattler-0.9.0/rattler/lock/__init__.py +23 -0
- py_rattler-0.9.0/rattler/lock/channel.py +52 -0
- py_rattler-0.9.0/rattler/lock/environment.py +207 -0
- py_rattler-0.9.0/rattler/lock/hash.py +33 -0
- py_rattler-0.9.0/rattler/lock/lock_file.py +118 -0
- py_rattler-0.9.0/rattler/lock/package.py +302 -0
- py_rattler-0.9.0/rattler/match_spec/__init__.py +4 -0
- py_rattler-0.9.0/rattler/match_spec/match_spec.py +240 -0
- py_rattler-0.9.0/rattler/match_spec/nameless_match_spec.py +164 -0
- py_rattler-0.9.0/rattler/networking/__init__.py +5 -0
- py_rattler-0.9.0/rattler/networking/client.py +55 -0
- py_rattler-0.9.0/rattler/networking/fetch_repo_data.py +47 -0
- py_rattler-0.9.0/rattler/networking/middleware.py +116 -0
- py_rattler-0.9.0/rattler/package/__init__.py +23 -0
- py_rattler-0.9.0/rattler/package/about_json.py +329 -0
- py_rattler-0.9.0/rattler/package/index_json.py +437 -0
- py_rattler-0.9.0/rattler/package/no_arch_type.py +142 -0
- py_rattler-0.9.0/rattler/package/package_name.py +159 -0
- py_rattler-0.9.0/rattler/package/paths_json.py +696 -0
- py_rattler-0.9.0/rattler/package/run_exports_json.py +268 -0
- py_rattler-0.9.0/rattler/package_streaming/__init__.py +26 -0
- py_rattler-0.9.0/rattler/platform/__init__.py +4 -0
- py_rattler-0.9.0/rattler/platform/arch.py +58 -0
- py_rattler-0.9.0/rattler/platform/platform.py +191 -0
- py_rattler-0.9.0/rattler/prefix/__init__.py +4 -0
- py_rattler-0.9.0/rattler/prefix/prefix_paths.py +442 -0
- py_rattler-0.9.0/rattler/prefix/prefix_record.py +192 -0
- py_rattler-0.9.0/rattler/py.typed +0 -0
- py_rattler-0.9.0/rattler/repo_data/__init__.py +16 -0
- py_rattler-0.9.0/rattler/repo_data/gateway.py +267 -0
- py_rattler-0.9.0/rattler/repo_data/package_record.py +931 -0
- py_rattler-0.9.0/rattler/repo_data/patch_instructions.py +22 -0
- py_rattler-0.9.0/rattler/repo_data/record.py +164 -0
- py_rattler-0.9.0/rattler/repo_data/repo_data.py +74 -0
- py_rattler-0.9.0/rattler/repo_data/sparse.py +171 -0
- py_rattler-0.9.0/rattler/shell/__init__.py +3 -0
- py_rattler-0.9.0/rattler/shell/shell.py +132 -0
- py_rattler-0.9.0/rattler/solver/__init__.py +3 -0
- py_rattler-0.9.0/rattler/solver/solver.py +205 -0
- py_rattler-0.9.0/rattler/utils/rattler_version.py +19 -0
- py_rattler-0.9.0/rattler/version/__init__.py +4 -0
- py_rattler-0.9.0/rattler/version/version.py +592 -0
- py_rattler-0.9.0/rattler/version/with_source.py +80 -0
- py_rattler-0.9.0/rattler/virtual_package/__init__.py +4 -0
- py_rattler-0.9.0/rattler/virtual_package/generic.py +136 -0
- py_rattler-0.9.0/rattler/virtual_package/virtual_package.py +199 -0
- py_rattler-0.8.2/Cargo.toml +0 -66
- py_rattler-0.8.2/docs/pypi_package_data.md +0 -3
- py_rattler-0.8.2/docs/pypi_package_environment_data.md +0 -3
- py_rattler-0.8.2/local_dependencies/file_url/Cargo.toml +0 -17
- py_rattler-0.8.2/local_dependencies/rattler/Cargo.toml +0 -59
- py_rattler-0.8.2/local_dependencies/rattler/src/install/unlink.rs +0 -300
- py_rattler-0.8.2/local_dependencies/rattler_cache/Cargo.toml +0 -33
- py_rattler-0.8.2/local_dependencies/rattler_cache/src/lib.rs +0 -15
- py_rattler-0.8.2/local_dependencies/rattler_conda_types/Cargo.toml +0 -59
- py_rattler-0.8.2/local_dependencies/rattler_conda_types/src/utils/mod.rs +0 -3
- py_rattler-0.8.2/local_dependencies/rattler_digest/Cargo.toml +0 -27
- py_rattler-0.8.2/local_dependencies/rattler_index/Cargo.toml +0 -21
- py_rattler-0.8.2/local_dependencies/rattler_libsolv_c/CHANGELOG.md +0 -55
- py_rattler-0.8.2/local_dependencies/rattler_libsolv_c/Cargo.toml +0 -28
- py_rattler-0.8.2/local_dependencies/rattler_libsolv_c/build.rs +0 -47
- py_rattler-0.8.2/local_dependencies/rattler_libsolv_c/src/lib.rs +0 -2754
- py_rattler-0.8.2/local_dependencies/rattler_lock/Cargo.toml +0 -33
- py_rattler-0.8.2/local_dependencies/rattler_lock/src/conda.rs +0 -178
- py_rattler-0.8.2/local_dependencies/rattler_lock/src/parse/deserialize.rs +0 -165
- py_rattler-0.8.2/local_dependencies/rattler_lock/src/parse/serialize.rs +0 -293
- py_rattler-0.8.2/local_dependencies/rattler_lock/src/snapshots/rattler_lock__test__v0__numpy-conda-lock.yml.snap +0 -12194
- py_rattler-0.8.2/local_dependencies/rattler_lock/src/snapshots/rattler_lock__test__v6__always-record-purls.yml.snap +0 -4788
- py_rattler-0.8.2/local_dependencies/rattler_lock/src/utils/mod.rs +0 -1
- py_rattler-0.8.2/local_dependencies/rattler_networking/Cargo.toml +0 -47
- py_rattler-0.8.2/local_dependencies/rattler_package_streaming/Cargo.toml +0 -45
- py_rattler-0.8.2/local_dependencies/rattler_redaction/Cargo.toml +0 -17
- py_rattler-0.8.2/local_dependencies/rattler_repodata_gateway/Cargo.toml +0 -84
- py_rattler-0.8.2/local_dependencies/rattler_repodata_gateway/src/gateway/channel_config.rs +0 -51
- py_rattler-0.8.2/local_dependencies/rattler_repodata_gateway/src/gateway/sharded_subdir/token.rs +0 -166
- py_rattler-0.8.2/local_dependencies/rattler_shell/Cargo.toml +0 -24
- py_rattler-0.8.2/local_dependencies/rattler_solve/Cargo.toml +0 -47
- py_rattler-0.8.2/local_dependencies/rattler_virtual_packages/Cargo.toml +0 -26
- py_rattler-0.8.2/rattler/lock/package.py +0 -169
- py_rattler-0.8.2/rattler/lock/pypi.py +0 -227
- {py_rattler-0.8.2 → py_rattler-0.9.0}/README.md +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/file_url/.gitignore +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/.gitignore +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/resources/launcher64.exe +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/resources/versions.txt +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/cli/auth.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/cli/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/apple_codesign.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/clobber_registry.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/driver.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/entry_point.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/installer/error.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/installer/indicatif.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/installer/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/installer/reporter.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/link.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/link_script.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/python.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__clobber_registry__tests__transaction_with_clobber-2.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__clobber_registry__tests__transaction_with_clobber-3.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__clobber_registry__tests__transaction_with_clobber-4.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__clobber_registry__tests__transaction_with_clobber-5.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__clobber_registry__tests__transaction_with_clobber-6.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__clobber_registry__tests__transaction_with_clobber-7.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__clobber_registry__tests__transaction_with_clobber.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__entry_point__test__entry_point_script.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__entry_point__test__windows.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__link__test__replace_long_prefix_in_text_file.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__link__test__replace_python_shebang-2.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__link__test__replace_python_shebang.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/snapshots/rattler__install__test__prefix_paths.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/test_utils.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/range.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_cache/src/consts.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_cache/src/package_cache/cache_key.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_cache/src/package_cache/cache_lock.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_cache/src/package_cache/reporter.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_cache/src/validation.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/benches/parse.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/benches/prefix_record_from_path.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/build_spec/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/build_spec/parse.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/channel_data.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/environment_yaml.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/explicit_environment_spec.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/generic_virtual_package.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/matcher.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/snapshots/rattler_conda_types__match_spec__parse__tests__matchspec_to_string.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/snapshots/rattler_conda_types__match_spec__parse__tests__test_from_string.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/snapshots/rattler_conda_types__match_spec__parse__tests__test_nameless_from_string_Lenient.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/snapshots/rattler_conda_types__match_spec__parse__tests__test_nameless_from_string_Strict.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/match_spec/snapshots/rattler_conda_types__match_spec__tests__serialize_matchspec.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/no_arch_type.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/about.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/archive_identifier.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/archive_type.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/entry_point.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/files.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/has_prefix.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/index.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/link.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/no_link.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/no_softlink.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/package_metadata.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/paths.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/run_exports.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__about__test__extra_field_is_recorded_when_present.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__about__test__extra_field_is_skipped.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__about__test__reconstruct_about_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__about__test__reconstruct_about_json_mamba.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__entry_point__test__entry_point.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__index__test__reconstruct_index_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__index__test__reconstruct_index_json_with_symlinks.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__link__test__link-json__jupyterlab-link.json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__link__test__link-json__setuptools-link.json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__link__test__link-json__tzdata-link.json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__paths__test__paths_sorted.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__paths__test__reconstruct_paths_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__paths__test__reconstruct_paths_json_with_symlinks.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__paths__test__roundtrip_paths_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package/snapshots/rattler_conda_types__package__run_exports__test__reconstruct_run_exports_json_with_symlinks.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/package_name.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/parse_mode.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/prefix_record.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/patches.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/sharded.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__patches__test__null_values.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__patches__test__patch_purl.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__patches__test__patching.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__patches__test__removing_1.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__patches__test__removing_2.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__test__base_url_packages.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__test__deserialize_no_packages_conda.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__test__serialize.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__test__serialize_packages-2.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/snapshots/rattler_conda_types__repo_data__test__serialize_packages.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/repo_data/topological_sort.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/run_export.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__environment_yaml__tests__deserialize_environment_yaml@asymmetric_vqgan.environment.yaml.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__environment_yaml__tests__deserialize_environment_yaml@channel_inversion.environment.yaml.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__environment_yaml__tests__deserialize_environment_yaml@conda_lock_dev.environment.yaml.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__environment_yaml__tests__deserialize_environment_yaml@mamba_dev_extra.environment.yaml.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__environment_yaml__tests__deserialize_environment_yaml@variables.environment.yaml.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__environment_yaml__tests__pip_section.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__explicit_environment_spec__test__explicit-envs__ros-noetic_linux-64.txt.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__explicit_environment_spec__test__explicit-envs__vs2015_runtime_win-64.txt.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__explicit_environment_spec__test__explicit-envs__xtensor_linux-64.txt.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__libsqlite-3_40_0-hcfcfb64_0_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__menuinst-1_4_19-py311h1ea47a8_1_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__pip-23_0-pyhd8ed1ab_0_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__pysocks-1_7_1-pyh0701188_6_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__requests-2_28_2-pyhd8ed1ab_0_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__tk-8_6_12-h8ffe710_0_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__urllib3-1_26_14-pyhd8ed1ab_0_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__vc-14_3-hb6edc58_10_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__wheel-0_38_4-pyhd8ed1ab_0_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/snapshots/rattler_conda_types__prefix_record__test__xz-5_2_6-h8d14728_0_json.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/utils/path.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/utils/serde.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version/flags.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version/parse.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version/segment.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version/snapshots/rattler_conda_types__version__parse__test__parse.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version/with_source.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version_spec/constraint.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version_spec/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version_spec/parse.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_conda_types/src/version_spec/version_tree.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_digest/CHANGELOG.md +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_digest/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_digest/src/serde.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_digest/src/tokio.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_index/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_index/tests/test_index.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/channel.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/hash.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/pypi_indexes.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__packages_for_platform-2.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/snapshots/rattler_lock__test__packages_for_platform.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/utils/serde/match_spec_map_or_vec.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/utils/serde/ordered.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/utils/serde/pep440_map_or_vec.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_lock/src/utils/serde/timestamp.rs +0 -0
- /py_rattler-0.8.2/rattler/py.typed → /py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__file +0 -0
- /py_rattler-0.8.2/tests/__init__.py → /py_rattler-0.9.0/crates/rattler_lock/src/utils/snapshots/rattler_lock__utils__derived_fields__test__https +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/CHANGELOG.md +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/tests/01-sorted-enum.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/tests/02-sorted-struct.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/tests/03-out-of-order-enum.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/tests/03-out-of-order-enum.stderr +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/tests/04-out-of-order-struct.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/tests/04-out-of-order-struct.stderr +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_macros/tests/tests.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_middleware.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/authentication.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/backends/file.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/backends/keyring.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/backends/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/backends/netrc.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/backends/snapshots/rattler_networking__authentication_storage__backends__file__tests__file_storage.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/authentication_storage/storage.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/mirror_middleware.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_networking/src/retry_policies.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/fs.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/read.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/reqwest/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/seek.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/tokio/async_read.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/tokio/fs.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/tokio/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/src/write.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/tests/resources/ca-certificates-2024.7.4-hbcca054_0.conda +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_package_streaming/tests/write.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_redaction/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/fetch/cache/cache_headers.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/fetch/cache/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/fetch/cache/snapshots/rattler_repodata_gateway__fetch__cache__test__parse_repo_data_state.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/fetch/cache/snapshots/rattler_repodata_gateway__fetch__cache__test__parse_repo_data_state_one.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/fetch/cache/snapshots/rattler_repodata_gateway__fetch__cache__test__parse_repo_data_state_two.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/barrier_cell.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/builder.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/local_subdir.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/remote_subdir.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/repo_data.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/gateway/subdir.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/reporter.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/utils/body.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/utils/encoding.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/utils/flock.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_repodata_gateway/src/utils/simple_channel_server.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/shell/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/shell/snapshots/rattler_shell__shell__tests__bash.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/shell/snapshots/rattler_shell__shell__tests__fish.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/shell/snapshots/rattler_shell__shell__tests__xonsh_bash.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/shell/snapshots/rattler_shell__shell__tests__xonsh_xsh.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__activation_script_bash.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__activation_script_cmd.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__activation_script_fish.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__activation_script_powershell.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__activation_script_xonsh.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__activation_script_zsh.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__after_activation.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_bash_append.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_bash_prepend.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_bash_replace.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_cmd_append.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_cmd_prepend.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_cmd_replace.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_powershell_append.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_powershell_prepend.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_shell/src/snapshots/rattler_shell__activation__tests__test_activation_script_powershell_replace.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/benches/bench.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/benches/sorting_bench.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/input.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/libc_byte_slice.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/output.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/flags.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/keys.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/mod.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/pool.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/queue.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/repo.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/repodata.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/solvable.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/solve_goal.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/solve_problem.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/solver.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/libsolv_c/wrapper/transaction.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/src/resolvo/conda_sorting.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_dummy_repo_install_non_existent.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_python.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_python_numpy.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_quetz.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_tensorboard.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_tensorflow.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_with_error.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__solve_xtensor_xsimd.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__libsolv_c__virtual_package_constrains.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__exclude_newer_error.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__issue_717.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__panic_on_constraint.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_dummy_repo_install_non_existent.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_locked.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_python.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_python_numpy.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_quetz.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_tensorboard.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_tensorflow.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_with_error.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__solve_xtensor_xsimd.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/backends__resolvo__virtual_package_constrains.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_abess_highest.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_certifi_highest.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_libgcc-ng_highest.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_libuuid_highest.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_python_highest.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_pytorch_highest.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_pytorch_lowest.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/snapshots/sorting__test_ordering_pytorch_lowest_direct.snap +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_solve/tests/sorting.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_virtual_packages/src/cuda.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_virtual_packages/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_virtual_packages/src/libc.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_virtual_packages/src/linux.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler_virtual_packages/src/osx.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/simple_spawn_blocking/src/lib.rs +0 -0
- {py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/simple_spawn_blocking/src/tokio.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/.gitignore +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/LICENSE +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/build.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/about_json.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/activate.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/activation_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/activation_result.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/activation_variables.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/arch.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/cache_dir_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/channel.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/channel_config.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/client.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/detect_virtual_package_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/environment.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/environment_creation_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/fetch_repo_data.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/fetch_repo_data_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/file_mode.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/gateway.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/generic_virtual_package.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/index.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/index_json.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/installer.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/invalid_channel_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/invalid_match_spec_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/invalid_package_name_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/invalid_url_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/invalid_version_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/io_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/link_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/lock_file.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/locked_package.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/match_spec.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/nameless_match_spec.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/package_hashes.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/package_name.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/package_record.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/parse_arch_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/parse_platform_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/patch_instructions.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/path_modification_behavior.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/path_type.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/paths_entry.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/paths_json.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/platform.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/prefix_paths.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/prefix_placeholder.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/prefix_record.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/repo_data.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/repo_data_record.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/run_exports_json.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/shell.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/solver.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/solver_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/sparse_repo_data.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/stylesheets/extra.css +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/transaction_error.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/version.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/version_with_source.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/docs/virtual_package.md +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/examples/install_to_prefix.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/examples/solve_and_install.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/channel/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/channel/channel.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/channel/channel_config.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/channel/channel_priority.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/exceptions.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/explicit_environment/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/explicit_environment/environment.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/index/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/index/index.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/install/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/install/installer.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/lock/channel.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/lock/hash.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/match_spec/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/match_spec/match_spec.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/match_spec/nameless_match_spec.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/networking/fetch_repo_data.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/package/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/package/no_arch_type.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/package/package_name.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/platform/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/platform/arch.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/platform/platform.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/prefix/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/prefix/prefix_paths.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/prefix/prefix_record.py +0 -0
- /py_rattler-0.8.2/tests/unit/__init__.py → /py_rattler-0.9.0/py-rattler/rattler/py.typed +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/repo_data/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/repo_data/patch_instructions.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/repo_data/record.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/repo_data/repo_data.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/repo_data/sparse.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/shell/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/shell/shell.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/solver/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/solver/solver.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/utils/rattler_version.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/version/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/version/version.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/version/with_source.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/virtual_package/__init__.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/virtual_package/generic.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/rattler/virtual_package/virtual_package.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/channel/mod.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/error.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/explicit_environment_spec.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/generic_virtual_package.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/index.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/installer.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/match_spec.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/meta.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/nameless_match_spec.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/networking/cached_repo_data.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/networking/mod.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/no_arch_type.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/package_name.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/platform.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/prefix_paths.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/repo_data/mod.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/repo_data/patch_instructions.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/repo_data/sparse.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/shell.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/solver.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/utils.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/version/component.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/version/mod.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/src/virtual_package.rs +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/conftest.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_explicit_environment.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_fetch_repo_data.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_gateway.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_index.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_install.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_matchspec.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_override.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_prefix_record.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_solver.py +0 -0
- {py_rattler-0.8.2 → py_rattler-0.9.0/py-rattler}/tests/unit/test_version.py +0 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
[workspace]
|
|
2
|
+
members = ["crates/*", "tools/*"]
|
|
3
|
+
resolver = "2"
|
|
4
|
+
|
|
5
|
+
# See: https://docs.rs/insta/latest/insta/#optional-faster-runs
|
|
6
|
+
[profile.dev.package.insta]
|
|
7
|
+
opt-level = 3
|
|
8
|
+
|
|
9
|
+
[workspace.package]
|
|
10
|
+
categories = ["development-tools"]
|
|
11
|
+
homepage = "https://github.com/conda/rattler"
|
|
12
|
+
repository = "https://github.com/conda/rattler"
|
|
13
|
+
license = "BSD-3-Clause"
|
|
14
|
+
edition = "2021"
|
|
15
|
+
readme = "README.md"
|
|
16
|
+
|
|
17
|
+
[workspace.metadata.release]
|
|
18
|
+
allow-branch = ["main"]
|
|
19
|
+
consolidate-commits = true
|
|
20
|
+
tag-prefix = ""
|
|
21
|
+
|
|
22
|
+
[profile.bench]
|
|
23
|
+
lto = true
|
|
24
|
+
|
|
25
|
+
[workspace.dependencies]
|
|
26
|
+
anyhow = "1.0.92"
|
|
27
|
+
archspec = "0.1.3"
|
|
28
|
+
assert_matches = "1.5.0"
|
|
29
|
+
async-compression = { version = "0.4.17", features = [
|
|
30
|
+
"gzip",
|
|
31
|
+
"tokio",
|
|
32
|
+
"bzip2",
|
|
33
|
+
"zstd",
|
|
34
|
+
] }
|
|
35
|
+
async-fd-lock = "0.2.0"
|
|
36
|
+
fs4 = "0.11.0"
|
|
37
|
+
async-trait = "0.1.83"
|
|
38
|
+
axum = { version = "0.7.7", default-features = false, features = [
|
|
39
|
+
"tokio",
|
|
40
|
+
"http1",
|
|
41
|
+
] }
|
|
42
|
+
base64 = "0.22.1"
|
|
43
|
+
bindgen = "0.69.5"
|
|
44
|
+
blake2 = "0.10.6"
|
|
45
|
+
bytes = "1.8.0"
|
|
46
|
+
bzip2 = "0.4.4"
|
|
47
|
+
cache_control = "0.2.0"
|
|
48
|
+
cfg-if = "1.0"
|
|
49
|
+
chrono = { version = "0.4.38", default-features = false, features = [
|
|
50
|
+
"std",
|
|
51
|
+
"serde",
|
|
52
|
+
"alloc",
|
|
53
|
+
] }
|
|
54
|
+
clap = { version = "4.5.20", features = ["derive"] }
|
|
55
|
+
cmake = "0.1.51"
|
|
56
|
+
console = { version = "0.15.8", features = ["windows-console-colors"] }
|
|
57
|
+
criterion = "0.5"
|
|
58
|
+
dashmap = "6.1.0"
|
|
59
|
+
difference = "2.0.0"
|
|
60
|
+
digest = "0.10.7"
|
|
61
|
+
dirs = "5.0.1"
|
|
62
|
+
dunce = "1.0.5"
|
|
63
|
+
enum_dispatch = "0.3.13"
|
|
64
|
+
fs-err = { version = "3.0.0", features = ["tokio"] }
|
|
65
|
+
fslock = "0.2.1"
|
|
66
|
+
futures = "0.3.31"
|
|
67
|
+
futures-util = "0.3.31"
|
|
68
|
+
fxhash = "0.2.1"
|
|
69
|
+
# lots of other crates are still stuck on older version
|
|
70
|
+
generic-array = "0.14.7"
|
|
71
|
+
getrandom = { version = "0.2.15", default-features = false }
|
|
72
|
+
glob = "0.3.1"
|
|
73
|
+
google-cloud-auth = { version = "0.17.1", default-features = false }
|
|
74
|
+
google-cloud-token = "0.1.2"
|
|
75
|
+
hex = "0.4.3"
|
|
76
|
+
hex-literal = "0.4.1"
|
|
77
|
+
http = "1.1"
|
|
78
|
+
http-cache-semantics = "2.1.0"
|
|
79
|
+
humansize = "2.1.3"
|
|
80
|
+
humantime = "2.1.0"
|
|
81
|
+
indexmap = "2.6.0"
|
|
82
|
+
indicatif = "0.17.8"
|
|
83
|
+
insta = { version = "1.41.1" }
|
|
84
|
+
itertools = "0.13.0"
|
|
85
|
+
json-patch = "3.0.1"
|
|
86
|
+
keyring = "3.6.1"
|
|
87
|
+
lazy-regex = "3.3.0"
|
|
88
|
+
lazy_static = "1.5.0"
|
|
89
|
+
libc = { version = "0.2" }
|
|
90
|
+
libloading = "0.8.5"
|
|
91
|
+
libz-sys = { version = "1.1.20", default-features = false }
|
|
92
|
+
md-5 = "0.10.6"
|
|
93
|
+
memchr = "2.7.4"
|
|
94
|
+
memmap2 = "0.9.5"
|
|
95
|
+
netrc-rs = "0.1.2"
|
|
96
|
+
nom = "7.1.3"
|
|
97
|
+
num_cpus = "1.16.0"
|
|
98
|
+
once_cell = "1.20.2"
|
|
99
|
+
ouroboros = "0.18.4"
|
|
100
|
+
parking_lot = "0.12.3"
|
|
101
|
+
pathdiff = "0.2.2"
|
|
102
|
+
pep440_rs = { version = "0.7.2" }
|
|
103
|
+
pep508_rs = { version = "0.9.1" }
|
|
104
|
+
percent-encoding = "2.3.1"
|
|
105
|
+
pin-project-lite = "0.2.15"
|
|
106
|
+
plist = "1"
|
|
107
|
+
purl = { version = "0.1.3", features = ["serde"] }
|
|
108
|
+
quote = "1.0.37"
|
|
109
|
+
rand = "0.8.5"
|
|
110
|
+
reflink-copy = "0.1.20"
|
|
111
|
+
regex = "1.11.1"
|
|
112
|
+
reqwest = { version = "0.12.9", default-features = false }
|
|
113
|
+
reqwest-middleware = "0.4.0"
|
|
114
|
+
reqwest-retry = "0.7.0"
|
|
115
|
+
resolvo = { version = "0.8.4" }
|
|
116
|
+
retry-policies = { version = "0.4.0", default-features = false }
|
|
117
|
+
rmp-serde = { version = "1.3.0" }
|
|
118
|
+
rstest = { version = "0.23.0" }
|
|
119
|
+
rstest_reuse = "0.7.0"
|
|
120
|
+
simd-json = { version = "0.14.2", features = ["serde_impl"] }
|
|
121
|
+
serde = { version = "1.0.214" }
|
|
122
|
+
serde_json = { version = "1.0.132" }
|
|
123
|
+
serde_repr = "0.1"
|
|
124
|
+
serde-value = "0.7.0"
|
|
125
|
+
serde_with = "3.11.0"
|
|
126
|
+
serde_yaml = "0.9.34"
|
|
127
|
+
serde-untagged = "0.1.6"
|
|
128
|
+
sha2 = "0.10.8"
|
|
129
|
+
shlex = "1.3.0"
|
|
130
|
+
similar-asserts = "1.6.0"
|
|
131
|
+
smallvec = { version = "1.13.2", features = [
|
|
132
|
+
"serde",
|
|
133
|
+
"const_new",
|
|
134
|
+
"const_generics",
|
|
135
|
+
"union",
|
|
136
|
+
] }
|
|
137
|
+
strum = { version = "0.26.3", features = ["derive"] }
|
|
138
|
+
superslice = "1.0.0"
|
|
139
|
+
syn = "2.0.86"
|
|
140
|
+
sysinfo = "0.32.0"
|
|
141
|
+
tar = "0.4.42"
|
|
142
|
+
tempdir = "0.3.7"
|
|
143
|
+
tempfile = "3.13.0"
|
|
144
|
+
temp-env = "0.3.6"
|
|
145
|
+
test-log = "0.2.16"
|
|
146
|
+
thiserror = "1.0"
|
|
147
|
+
tokio = { version = "1.41.0", default-features = false }
|
|
148
|
+
tokio-stream = "0.1.16"
|
|
149
|
+
tokio-util = "0.7.12"
|
|
150
|
+
tower = { version = "0.5.1", default-features = false }
|
|
151
|
+
tower-http = { version = "0.6.1", default-features = false }
|
|
152
|
+
tracing = "0.1.40"
|
|
153
|
+
tracing-subscriber = { version = "0.3.18", default-features = false }
|
|
154
|
+
tracing-test = { version = "0.2.5" }
|
|
155
|
+
trybuild = { version = "1.0.101" }
|
|
156
|
+
typed-path = { version = "0.9.3" }
|
|
157
|
+
url = { version = "2.5.2" }
|
|
158
|
+
uuid = { version = "1.11.0", default-features = false }
|
|
159
|
+
walkdir = "2.5.0"
|
|
160
|
+
windows-sys = { version = "0.59.0", default-features = false }
|
|
161
|
+
zip = { version = "2.2.0", default-features = false }
|
|
162
|
+
zstd = { version = "0.13.2", default-features = false }
|
|
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.2.0](https://github.com/conda/rattler/compare/file_url-v0.1.7...file_url-v0.2.0) - 2024-11-30
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- merge pixi-build branch ([#950](https://github.com/conda/rattler/pull/950))
|
|
14
|
+
|
|
9
15
|
## [0.1.7](https://github.com/conda/rattler/compare/file_url-v0.1.6...file_url-v0.1.7) - 2024-11-04
|
|
10
16
|
|
|
11
17
|
### Other
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
[package]
|
|
2
|
+
name = "file_url"
|
|
3
|
+
version = "0.2.0"
|
|
4
|
+
edition.workspace = true
|
|
5
|
+
authors = ["Bas Zalmstra <zalmstra.bas@gmail.com>"]
|
|
6
|
+
description = "Helper functions to work with file:// urls"
|
|
7
|
+
categories.workspace = true
|
|
8
|
+
repository.workspace = true
|
|
9
|
+
license.workspace = true
|
|
10
|
+
|
|
11
|
+
[dependencies]
|
|
12
|
+
url = { workspace = true }
|
|
13
|
+
percent-encoding = { workspace = true }
|
|
14
|
+
itertools = { workspace = true }
|
|
15
|
+
typed-path = { workspace = true }
|
|
16
|
+
thiserror = "1.0.66"
|
|
17
|
+
|
|
18
|
+
[dev-dependencies]
|
|
19
|
+
rstest = { workspace = true }
|
|
@@ -9,7 +9,8 @@ use std::path::PathBuf;
|
|
|
9
9
|
use std::str::FromStr;
|
|
10
10
|
use thiserror::Error;
|
|
11
11
|
use typed_path::{
|
|
12
|
-
Utf8TypedComponent, Utf8TypedPath, Utf8UnixComponent, Utf8WindowsComponent,
|
|
12
|
+
Utf8TypedComponent, Utf8TypedPath, Utf8TypedPathBuf, Utf8UnixComponent, Utf8WindowsComponent,
|
|
13
|
+
Utf8WindowsPrefix,
|
|
13
14
|
};
|
|
14
15
|
use url::{Host, Url};
|
|
15
16
|
|
|
@@ -33,14 +34,7 @@ fn is_windows_drive_letter_segment(segment: &str) -> Option<String> {
|
|
|
33
34
|
None
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
///
|
|
38
|
-
/// We assume that any passed URL that represents a path is an absolute path.
|
|
39
|
-
///
|
|
40
|
-
/// [`Url::to_file_path`] has a different code path for Windows and other operating systems, this
|
|
41
|
-
/// can cause URLs to parse perfectly fine on Windows, but fail to parse on Linux. This function
|
|
42
|
-
/// tries to parse the URL as a path on all operating systems.
|
|
43
|
-
pub fn url_to_path(url: &Url) -> Option<PathBuf> {
|
|
37
|
+
fn url_to_path_inner<T: From<String>>(url: &Url) -> Option<T> {
|
|
44
38
|
if url.scheme() != "file" {
|
|
45
39
|
return None;
|
|
46
40
|
}
|
|
@@ -77,7 +71,29 @@ pub fn url_to_path(url: &Url) -> Option<PathBuf> {
|
|
|
77
71
|
}
|
|
78
72
|
}
|
|
79
73
|
|
|
80
|
-
Some(
|
|
74
|
+
Some(T::from(path))
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/// Tries to convert a `file://` based URL to a path.
|
|
78
|
+
///
|
|
79
|
+
/// We assume that any passed URL that represents a path is an absolute path.
|
|
80
|
+
///
|
|
81
|
+
/// [`Url::to_file_path`] has a different code path for Windows and other operating systems, this
|
|
82
|
+
/// can cause URLs to parse perfectly fine on Windows, but fail to parse on Linux. This function
|
|
83
|
+
/// tries to parse the URL as a path on all operating systems.
|
|
84
|
+
pub fn url_to_path(url: &Url) -> Option<PathBuf> {
|
|
85
|
+
url_to_path_inner(url)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/// Tries to convert a `file://` based URL to a path.
|
|
89
|
+
///
|
|
90
|
+
/// We assume that any passed URL that represents a path is an absolute path.
|
|
91
|
+
///
|
|
92
|
+
/// [`Url::to_file_path`] has a different code path for Windows and other operating systems, this
|
|
93
|
+
/// can cause URLs to parse perfectly fine on Windows, but fail to parse on Linux. This function
|
|
94
|
+
/// tries to parse the URL as a path on all operating systems.
|
|
95
|
+
pub fn url_to_typed_path(url: &Url) -> Option<Utf8TypedPathBuf> {
|
|
96
|
+
url_to_path_inner(url)
|
|
81
97
|
}
|
|
82
98
|
|
|
83
99
|
const FRAGMENT: &AsciiSet = &CONTROLS.add(b' ').add(b'"').add(b'<').add(b'>').add(b'`');
|
|
@@ -6,6 +6,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.28.6](https://github.com/conda/rattler/compare/rattler-v0.28.5...rattler-v0.28.6) - 2024-12-12
|
|
10
|
+
|
|
11
|
+
### Other
|
|
12
|
+
- updated the following local packages: rattler_cache, rattler_conda_types
|
|
13
|
+
|
|
14
|
+
## [0.28.5](https://github.com/conda/rattler/compare/rattler-v0.28.4...rattler-v0.28.5) - 2024-12-05
|
|
15
|
+
|
|
16
|
+
### Other
|
|
17
|
+
|
|
18
|
+
- updated the following local packages: rattler_networking
|
|
19
|
+
|
|
20
|
+
## [0.28.4](https://github.com/conda/rattler/compare/rattler-v0.28.3...rattler-v0.28.4) - 2024-11-30
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- use `fs-err` also for tokio ([#958](https://github.com/conda/rattler/pull/958))
|
|
25
|
+
- Move files to .trash folder if they are in use ([#953](https://github.com/conda/rattler/pull/953))
|
|
26
|
+
- merge pixi-build branch ([#950](https://github.com/conda/rattler/pull/950))
|
|
27
|
+
|
|
28
|
+
## [0.28.3](https://github.com/conda/rattler/compare/rattler-v0.28.2...rattler-v0.28.3) - 2024-11-18
|
|
29
|
+
|
|
30
|
+
### Other
|
|
31
|
+
|
|
32
|
+
- updated the following local packages: rattler_networking
|
|
33
|
+
|
|
34
|
+
## [0.28.2](https://github.com/conda/rattler/compare/rattler-v0.28.1...rattler-v0.28.2) - 2024-11-18
|
|
35
|
+
|
|
36
|
+
### Other
|
|
37
|
+
|
|
38
|
+
- updated the following local packages: rattler_conda_types
|
|
39
|
+
|
|
40
|
+
## [0.28.1](https://github.com/conda/rattler/compare/rattler-v0.28.0...rattler-v0.28.1) - 2024-11-14
|
|
41
|
+
|
|
42
|
+
### Other
|
|
43
|
+
|
|
44
|
+
- updated the following local packages: rattler_cache, rattler_conda_types, rattler_package_streaming
|
|
45
|
+
|
|
9
46
|
## [0.28.0](https://github.com/conda/rattler/compare/rattler-v0.27.16...rattler-v0.28.0) - 2024-11-04
|
|
10
47
|
|
|
11
48
|
### Added
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
[package]
|
|
2
|
+
name = "rattler"
|
|
3
|
+
version = "0.28.6"
|
|
4
|
+
edition.workspace = true
|
|
5
|
+
authors = ["Bas Zalmstra <zalmstra.bas@gmail.com>"]
|
|
6
|
+
description = "Rust library to install conda environments"
|
|
7
|
+
categories.workspace = true
|
|
8
|
+
homepage.workspace = true
|
|
9
|
+
repository.workspace = true
|
|
10
|
+
license.workspace = true
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
|
|
13
|
+
[features]
|
|
14
|
+
default = ['native-tls']
|
|
15
|
+
native-tls = ['reqwest/native-tls', 'rattler_package_streaming/native-tls']
|
|
16
|
+
rustls-tls = ['reqwest/rustls-tls', 'rattler_package_streaming/rustls-tls']
|
|
17
|
+
cli-tools = ['dep:clap']
|
|
18
|
+
indicatif = ['dep:indicatif', 'dep:console']
|
|
19
|
+
|
|
20
|
+
[dependencies]
|
|
21
|
+
anyhow = { workspace = true }
|
|
22
|
+
clap = { workspace = true, optional = true }
|
|
23
|
+
digest = { workspace = true }
|
|
24
|
+
dirs = { workspace = true }
|
|
25
|
+
fs-err = { workspace = true }
|
|
26
|
+
futures = { workspace = true }
|
|
27
|
+
humantime = { workspace = true }
|
|
28
|
+
indexmap = { workspace = true }
|
|
29
|
+
indicatif = { workspace = true, optional = true }
|
|
30
|
+
itertools = { workspace = true }
|
|
31
|
+
memchr = { workspace = true }
|
|
32
|
+
memmap2 = { workspace = true }
|
|
33
|
+
once_cell = { workspace = true }
|
|
34
|
+
parking_lot = { workspace = true }
|
|
35
|
+
rattler_cache = { path = "../rattler_cache", version = "0.2.14", default-features = false }
|
|
36
|
+
rattler_conda_types = { path = "../rattler_conda_types", version = "0.29.4", default-features = false }
|
|
37
|
+
rattler_digest = { path = "../rattler_digest", version = "1.0.3", default-features = false }
|
|
38
|
+
rattler_networking = { path = "../rattler_networking", version = "0.21.8", default-features = false }
|
|
39
|
+
rattler_shell = { path = "../rattler_shell", version = "0.22.9", default-features = false }
|
|
40
|
+
rattler_package_streaming = { path = "../rattler_package_streaming", version = "0.22.17", default-features = false, features = ["reqwest"] }
|
|
41
|
+
reflink-copy = { workspace = true }
|
|
42
|
+
regex = { workspace = true }
|
|
43
|
+
reqwest = { workspace = true, features = ["stream", "json", "gzip"] }
|
|
44
|
+
reqwest-middleware = { workspace = true }
|
|
45
|
+
smallvec = { workspace = true }
|
|
46
|
+
simple_spawn_blocking = { path = "../simple_spawn_blocking", version = "1.0", default-features = false, features = ["tokio"] }
|
|
47
|
+
tempfile = { workspace = true }
|
|
48
|
+
thiserror = { workspace = true }
|
|
49
|
+
tokio = { workspace = true, features = ["rt", "io-util", "macros"] }
|
|
50
|
+
tracing = { workspace = true }
|
|
51
|
+
url = { workspace = true, features = ["serde"] }
|
|
52
|
+
uuid = { workspace = true, features = ["v4", "fast-rng"] }
|
|
53
|
+
console = { workspace = true, optional = true }
|
|
54
|
+
|
|
55
|
+
[dev-dependencies]
|
|
56
|
+
assert_matches = { workspace = true }
|
|
57
|
+
rand = { workspace = true }
|
|
58
|
+
rstest = { workspace = true }
|
|
59
|
+
tracing-test = { workspace = true }
|
|
60
|
+
insta = { workspace = true, features = ["yaml"] }
|
|
61
|
+
rattler_lock = { path = "../rattler_lock" }
|
|
62
|
+
tools = { path="../tools" }
|
|
63
|
+
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
|
|
64
|
+
axum = { workspace = true }
|
|
65
|
+
tower-http = { workspace = true, features = ["fs"] }
|
|
66
|
+
tower = { workspace = true, features = ["util"] }
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<a href="https://github.com/conda/rattler/">
|
|
2
|
+
<picture>
|
|
3
|
+
<source srcset="https://github.com/user-attachments/assets/6f3f05bc-6363-4974-9517-fe5c0fcffd1a" type="image/jpeg">
|
|
4
|
+
<source srcset="https://github.com/user-attachments/assets/dc30403d-6392-460a-b923-986c2164ef79" type="image/webp">
|
|
5
|
+
<source srcset="https://github.com/user-attachments/assets/bfd64756-061d-49f5-af4e-388743bdb855" type="image/png">
|
|
6
|
+
<img src="https://github.com/user-attachments/assets/bfd64756-061d-49f5-af4e-388743bdb855" alt="banner">
|
|
7
|
+
</picture>
|
|
8
|
+
</a>
|
|
9
|
+
|
|
10
|
+
# Rattler: Rust crates for fast handling of conda packages
|
|
11
|
+
|
|
12
|
+
![License][license-badge]
|
|
13
|
+
[![Build Status][build-badge]][build]
|
|
14
|
+
[![Project Chat][chat-badge]][chat-url]
|
|
15
|
+
[![Pixi Badge][pixi-badge]][pixi-url]
|
|
16
|
+
[![docs main][docs-main-badge]][docs-main]
|
|
17
|
+
[![python docs main][py-docs-main-badge]][py-docs-main]
|
|
18
|
+
|
|
19
|
+
[license-badge]: https://img.shields.io/badge/license-BSD--3--Clause-blue?style=flat-square
|
|
20
|
+
[build-badge]: https://img.shields.io/github/actions/workflow/status/conda/rattler/rust-compile.yml?style=flat-square&branch=main
|
|
21
|
+
[build]: https://github.com/conda/rattler/actions
|
|
22
|
+
[chat-badge]: https://img.shields.io/discord/1082332781146800168.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2&style=flat-square
|
|
23
|
+
[chat-url]: https://discord.gg/kKV8ZxyzY4
|
|
24
|
+
[docs-main-badge]: https://img.shields.io/badge/rust_docs-main-yellow.svg?style=flat-square
|
|
25
|
+
[docs-main]: https://conda.github.io/rattler
|
|
26
|
+
[py-docs-main-badge]: https://img.shields.io/badge/python_docs-main-yellow.svg?style=flat-square
|
|
27
|
+
[py-docs-main]: https://conda.github.io/rattler/py-rattler
|
|
28
|
+
[pixi-badge]:https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/prefix-dev/pixi/main/assets/badge/v0.json
|
|
29
|
+
[pixi-url]: https://pixi.sh
|
|
30
|
+
|
|
31
|
+
Rattler is a library that provides common functionality used within the conda ecosystem ([what is conda & conda-forge?](#what-is-conda--conda-forge)).
|
|
32
|
+
The goal of the library is to enable programs and other libraries to easily interact with the conda ecosystem without being dependent on Python.
|
|
33
|
+
Its primary use case is as a library that you can use to provide conda related workflows in your own tools.
|
|
34
|
+
|
|
35
|
+
Rattler is written in Rust and tries to provide a clean API to its functionalities (see: [Components](#components)).
|
|
36
|
+
With the primary goal in mind we aim to provide bindings to different languages to make it easy to integrate Rattler in non-rust projects.
|
|
37
|
+
|
|
38
|
+
Rattler is actively used by [pixi](https://github.com/prefix-dev/pixi), [rattler-build](https://github.com/prefix-dev/rattler-build), and the https://prefix.dev backend.
|
|
39
|
+
|
|
40
|
+
## Showcase
|
|
41
|
+
|
|
42
|
+
This repository also contains a binary (use `cargo run` to try) that shows some of the capabilities of the library.
|
|
43
|
+
This is an example of installing an environment containing `cowpy` and all its dependencies _from scratch_ (including Python!):
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
## Give it a try!
|
|
48
|
+
|
|
49
|
+
Before you begin, make sure you have the following prerequisites:
|
|
50
|
+
- A recent version of [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
|
51
|
+
- A recent version of [pixi](https://github.com/prefix-dev/pixi)
|
|
52
|
+
|
|
53
|
+
Follow these steps to clone, compile, and run the rattler project:
|
|
54
|
+
```shell
|
|
55
|
+
# Clone the rattler repository along with its submodules:
|
|
56
|
+
git clone --recursive https://github.com/conda/rattler.git
|
|
57
|
+
cd rattler
|
|
58
|
+
|
|
59
|
+
# Compile and execute rattler to create a JupyterLab instance:
|
|
60
|
+
pixi run rattler create jupyterlab
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The above command will execute the `rattler` executable in release mode.
|
|
64
|
+
It will download and install an environment into the `.prefix` folder that contains [`jupyterlab`](https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html) and all the dependencies required to run it (like `python`)
|
|
65
|
+
|
|
66
|
+
Run the following command to start jupyterlab:
|
|
67
|
+
|
|
68
|
+
```shell
|
|
69
|
+
# on windows
|
|
70
|
+
.\.prefix\Scripts\jupyter-lab.exe
|
|
71
|
+
|
|
72
|
+
# on linux or macOS
|
|
73
|
+
./.prefix/bin/jupyter-lab
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Voila!
|
|
77
|
+
You have a working installation of jupyterlab installed on your system!
|
|
78
|
+
You can of course install any package you want this way.
|
|
79
|
+
Try it!
|
|
80
|
+
|
|
81
|
+
## Contributing 😍
|
|
82
|
+
|
|
83
|
+
We would love to have you contribute!
|
|
84
|
+
See the CONTRIBUTION.md for more info. For questions, requests or a casual chat, we are very active on our discord server.
|
|
85
|
+
You can [join our discord server via this link][chat-url].
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
## Components
|
|
89
|
+
|
|
90
|
+
Rattler consists of several crates that provide different functionalities.
|
|
91
|
+
|
|
92
|
+
* **rattler_conda_types**: foundational types for all datastructures used within the conda eco-system.
|
|
93
|
+
* **rattler_package_streaming**: provides functionality to download, extract and create conda package archives.
|
|
94
|
+
* **rattler_repodata_gateway**: downloads, reads and processes information about existing conda packages from an index.
|
|
95
|
+
* **rattler_shell**: code to activate an existing environment and run programs in it.
|
|
96
|
+
* **rattler_solve**: a backend agnostic library to solve the package satisfiability problem.
|
|
97
|
+
* **rattler_virtual_packages**: a crate to detect system capabilities.
|
|
98
|
+
* **rattler_index**: create local conda channels from local packages.
|
|
99
|
+
* **rattler**: functionality to create complete environments from scratch using the crates above.
|
|
100
|
+
* **rattler-lock**: a library to create and parse lockfiles for conda environments.
|
|
101
|
+
* **rattler-networking**: common functionality for networking, like authentication, mirroring and more.
|
|
102
|
+
* **rattler-bin**: an example of a package manager using all the crates above (see: [showcase](#showcase))
|
|
103
|
+
|
|
104
|
+
You can find these crates in the `crates` folder.
|
|
105
|
+
|
|
106
|
+
Additionally, we provide Python bindings for most of the functionalities provided by the above crates.
|
|
107
|
+
A python package `py-rattler` is available on [conda-forge](https://prefix.dev/channels/conda-forge/packages/py-rattler) and [PyPI](https://pypi.org/project/py-rattler/).
|
|
108
|
+
Documentation for the python bindings can be found [here](https://conda.github.io/rattler/py-rattler).
|
|
109
|
+
|
|
110
|
+
## What is conda & conda-forge?
|
|
111
|
+
|
|
112
|
+
The conda ecosystem provides **cross-platform**, **binary** packages that you can use with **any programming language**.
|
|
113
|
+
`conda` is an open-source package management system and environment management system that can install and manage multiple versions of software packages and their dependencies.
|
|
114
|
+
`conda` is written in Python.
|
|
115
|
+
The aim of Rattler is to provide all functionality required to work with the conda ecosystem from Rust.
|
|
116
|
+
Rattler is not a reimplementation of `conda`.
|
|
117
|
+
`conda` is a package management tool.
|
|
118
|
+
Rattler is a _library_ to work with the conda ecosystem from different languages and applications.
|
|
119
|
+
For example, it powers the backend of https://prefix.dev.
|
|
120
|
+
|
|
121
|
+
`conda-forge` is a community-driven effort to bring new and existing software into the conda ecosystem.
|
|
122
|
+
It provides _tens-of-thousands of up-to-date_ packages that are maintained by a community of contributors.
|
|
123
|
+
For an overview of available packages see https://prefix.dev.
|
|
@@ -41,6 +41,7 @@ use std::{
|
|
|
41
41
|
|
|
42
42
|
pub use apple_codesign::AppleCodeSignBehavior;
|
|
43
43
|
pub use driver::InstallDriver;
|
|
44
|
+
use fs_err::tokio as tokio_fs;
|
|
44
45
|
use futures::{stream::FuturesUnordered, FutureExt, StreamExt};
|
|
45
46
|
#[cfg(feature = "indicatif")]
|
|
46
47
|
pub use installer::{
|
|
@@ -60,7 +61,7 @@ use simple_spawn_blocking::Cancelled;
|
|
|
60
61
|
use tokio::task::JoinError;
|
|
61
62
|
use tracing::instrument;
|
|
62
63
|
pub use transaction::{Transaction, TransactionError, TransactionOperation};
|
|
63
|
-
pub use unlink::unlink_package;
|
|
64
|
+
pub use unlink::{empty_trash, unlink_package};
|
|
64
65
|
|
|
65
66
|
use crate::install::entry_point::{
|
|
66
67
|
create_unix_python_entry_point, create_windows_python_entry_point,
|
|
@@ -265,7 +266,7 @@ pub async fn link_package(
|
|
|
265
266
|
.to_owned();
|
|
266
267
|
|
|
267
268
|
// Ensure target directory exists
|
|
268
|
-
|
|
269
|
+
tokio_fs::create_dir_all(&target_dir)
|
|
269
270
|
.await
|
|
270
271
|
.map_err(InstallError::FailedToCreateTargetDirectory)?;
|
|
271
272
|
|
|
@@ -299,9 +300,16 @@ pub async fn link_package(
|
|
|
299
300
|
match options.allow_hard_links {
|
|
300
301
|
Some(value) => ready(value).left_future(),
|
|
301
302
|
None => can_create_hardlinks(target_dir, package_dir).right_future(),
|
|
302
|
-
}
|
|
303
|
+
},
|
|
303
304
|
);
|
|
304
|
-
let allow_ref_links = options.allow_ref_links.
|
|
305
|
+
let allow_ref_links = options.allow_ref_links.unwrap_or_else(|| {
|
|
306
|
+
match reflink_copy::check_reflink_support(package_dir, target_dir) {
|
|
307
|
+
Ok(reflink_copy::ReflinkSupport::Supported) => true,
|
|
308
|
+
Ok(reflink_copy::ReflinkSupport::NotSupported) => false,
|
|
309
|
+
Ok(reflink_copy::ReflinkSupport::Unknown) => allow_hard_links,
|
|
310
|
+
Err(_) => false,
|
|
311
|
+
}
|
|
312
|
+
});
|
|
305
313
|
|
|
306
314
|
// Determine the platform to use
|
|
307
315
|
let platform = options.platform.unwrap_or(Platform::current());
|
|
@@ -661,12 +669,12 @@ async fn can_create_symlinks(target_dir: &Path) -> bool {
|
|
|
661
669
|
let uuid = uuid::Uuid::new_v4();
|
|
662
670
|
let symlink_path = target_dir.join(format!("symtest_{uuid}"));
|
|
663
671
|
#[cfg(windows)]
|
|
664
|
-
let result =
|
|
672
|
+
let result = tokio_fs::symlink_file("./", &symlink_path).await;
|
|
665
673
|
#[cfg(unix)]
|
|
666
|
-
let result =
|
|
674
|
+
let result = tokio_fs::symlink("./", &symlink_path).await;
|
|
667
675
|
match result {
|
|
668
676
|
Ok(_) => {
|
|
669
|
-
if let Err(e) =
|
|
677
|
+
if let Err(e) = tokio_fs::remove_file(&symlink_path).await {
|
|
670
678
|
tracing::warn!(
|
|
671
679
|
"failed to delete temporary file '{}': {e}",
|
|
672
680
|
symlink_path.display()
|
|
@@ -693,7 +701,7 @@ async fn can_create_hardlinks(target_dir: &Path, package_dir: &Path) -> bool {
|
|
|
693
701
|
#[cfg(unix)]
|
|
694
702
|
async fn paths_have_same_filesystem(a: &Path, b: &Path) -> bool {
|
|
695
703
|
use std::os::unix::fs::MetadataExt;
|
|
696
|
-
match tokio::join!(
|
|
704
|
+
match tokio::join!(tokio_fs::metadata(a), tokio_fs::metadata(b)) {
|
|
697
705
|
(Ok(a), Ok(b)) => a.dev() == b.dev(),
|
|
698
706
|
_ => false,
|
|
699
707
|
}
|
|
@@ -762,7 +770,7 @@ mod test {
|
|
|
762
770
|
};
|
|
763
771
|
|
|
764
772
|
test_install_python(
|
|
765
|
-
packages.filter_map(|p|
|
|
773
|
+
packages.filter_map(|p| p.as_conda()?.location().as_url().cloned()),
|
|
766
774
|
"conda-lock",
|
|
767
775
|
current_platform,
|
|
768
776
|
)
|
{py_rattler-0.8.2/local_dependencies → py_rattler-0.9.0/crates}/rattler/src/install/transaction.rs
RENAMED
|
@@ -219,6 +219,11 @@ fn is_python_record(record: &PackageRecord) -> bool {
|
|
|
219
219
|
|
|
220
220
|
/// Returns true if the `from` and `to` describe the same package content
|
|
221
221
|
fn describe_same_content(from: &PackageRecord, to: &PackageRecord) -> bool {
|
|
222
|
+
// If one hash is set and the other is not, the packages are different
|
|
223
|
+
if from.sha256.is_some() != to.sha256.is_some() || from.md5.is_some() != to.md5.is_some() {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
|
|
222
227
|
// If the hashes of the packages match we consider them to be equal
|
|
223
228
|
if let (Some(a), Some(b)) = (from.sha256.as_ref(), to.sha256.as_ref()) {
|
|
224
229
|
return a == b;
|