Conversation
ce0ca05 to
8b873b7
Compare
This PR migrates uv's use of `chrono` to `jiff`. I did most of this work a while back as one of my tests to ensure Jiff could actually be used in a real world project. I decided to revive this because I noticed that `reqwest-retry` dropped its Chrono dependency, which is I believe the only other thing requiring Chrono in uv. (Although, we use a fork of `reqwest-middleware` at present, and that hasn't been updated to latest upstream yet. I wasn't quite sure of the process we have for that.) In course of doing this, I actually made two changes to uv: First is that the lock file now writes an RFC 3339 timestamp for `exclude-newer`. Previously, we were using Chrono's `Display` implementation for this which is a non-standard but "human readable" format. I think the right thing to do here is an RFC 3339 timestamp. Second is that, in addition to an RFC 3339 timestamp, `--exclude-newer` used to accept a "UTC date." But this PR changes it to a "local date." That is, a date in the user's system configured time zone. I think this makes more sense than a UTC date, but one alternative is to drop support for a date and just rely on an RFC 3339 timestamp. The main motivation here is that automatically assuming UTC is often somewhat confusing, since just writing an unqualified date like `2024-08-19` is often assumed to be interpreted relative to the writer's "local" time.
- Removes "experimental" labels from command documentation - Removes preview warnings - Removes `PreviewMode` from most structs and methods — we could keep it around but I figure we can propagate it again easily where needed in the future - Enables preview behavior by default everywhere, e.g., `uv venv` will download Python versions
This PR moves us to the Linux strategy for our global directories on macOS. We both feel on the team _and_ have received feedback (in Issues and Polls) that the `Application Support` directories are more intended for GUIs, and CLI tools are correct to respect the XDG variables and use the same directory paths on Linux and macOS. Namely, we now use: - `/Users/crmarsh/.local/share/uv/tools` (for tools) - `/Users/crmarsh/.local/share/uv/python` (for Pythons) - `/Users/crmarsh/.cache/uv` (for the cache) The strategy is such that if the `/Users/crmarsh/Library/Application Support/uv` already exists, we keep using it -- same goes for `/Users/crmarsh/Library/Caches/uv`, so **it's entirely backwards compatible**. If you want to force a migration to the new schema, you can run: - `uv cache clean` - `uv tool uninstall --all` - `uv python uninstall --all` Which will clean up the macOS-specific directories, paving the way for the above paths. In other words, once you run those commands, subsequent `uv` operations will automatically use the `~/.cache` and `~/.local` variants. Closes #4411. --------- Co-authored-by: Zanie Blue <[email protected]>
These are global and non-specific to the `pip` API, so I think they should be elevated. - Ran `UV_CONCURRENT_DOWNLOADS=1 cargo run pip list`; verified that `downloads` resolved to 1. - Added `concurrent-downloads = 5` under `[tool.uv]` in `pyproject.toml`; ran `cargo run pip list`; verified that `downloads` resolved to 5. - Ran `UV_CONCURRENT_DOWNLOADS=1 cargo run pip list`; verified that `downloads` resolved to 1.
Executable name requests were being treated as explicit requests to install into system environments, but I don't think it should be as it's implicit what environment you'll end up in. Following #4308, we allow multiple executables to be found so we can filter here. Concretely, this means `--system` is required to install into a system environment discovered with e.g. `--python=python`. The flag is still not required for cases where we're not mutating environment.
This is a fallback mode that we supported when we decided to use PEP 517 builds by default. I can't find a single reference to it on GitHub or in our issue tracker, so I want to drop support for it as part of v0.3.0.
First, I synced the documents manually following the output of `diff` then replaced the old one with a link.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.