mirror of
https://github.com/astral-sh/uv.git
synced 2025-10-17 22:07:47 +00:00
![]() This allows `PythonDownloadRequest` which is used for parsing general install key requests to have missing segments, which unblocks requests like `windows-aarch64` or `cpython-linux` (whereas before those would require `any-any-windows-aarch64` and `cpython-any-linux` respectively). We still require strict ordering of segments. Previously, we only allowed missing segments at the end of the key. This uses a state machine for parsing, which is quite a bit more complicated. I'm a little hesitant about the possibility that this regresses error messages and the complexity of the implementation, but `uv run -p aarch64` seems valuable following #13724. The alternative to this would probably be to make these explicit in various places? e.g., expose `--python-arch`, `--python-libc`, and `--python-os`? Or make `--python-platform` (which already exists) accept a subset of the keys? There is a possibility of regressions here, e.g., if something matches this parser it will not fallback to the `PythonRequest::ExecutableName` case and we've made this parser more permissive, but I think that should be quite rare? |
||
---|---|---|
.. | ||
sysconfig | ||
discovery.rs | ||
downloads.rs | ||
environment.rs | ||
implementation.rs | ||
installation.rs | ||
interpreter.rs | ||
lib.rs | ||
macos_dylib.rs | ||
managed.rs | ||
microsoft_store.rs | ||
pointer_size.rs | ||
prefix.rs | ||
python_version.rs | ||
target.rs | ||
version_files.rs | ||
virtualenv.rs | ||
windows_registry.rs |