uv/crates/uv-resolver/src
Andrew Gallant 33480d61eb switch to jiff from chrono (#6205)
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.
2024-08-20 11:31:46 -05:00
..
pubgrub Fix messages for unavailable packages when range is plural (#6221) 2024-08-19 19:07:07 +00:00
resolution Allow user to constrain supported lock environments (#6210) 2024-08-20 13:28:04 +00:00
resolver Fix messages for unavailable packages when range is plural (#6221) 2024-08-19 19:07:07 +00:00
snapshots Allow user to constrain supported lock environments (#6210) 2024-08-20 13:28:04 +00:00
bare.rs Add support for parsing unnamed URL requirements (#2567) 2024-03-21 03:28:58 +00:00
candidate_selector.rs Respect pre-release preferences from input files (#5736) 2024-08-02 22:01:58 -04:00
dependency_mode.rs Store resolution options in lockfile (#5264) 2024-07-22 08:28:22 -04:00
dependency_provider.rs Update pubgrub (#5649) 2024-07-31 12:54:11 +00:00
error.rs pep508: fix doc test 2024-08-19 16:29:20 -07:00
exclude_newer.rs switch to jiff from chrono (#6205) 2024-08-20 11:31:46 -05:00
exclusions.rs Allow constraints to be provided in `--upgrade-package` (#4952) 2024-07-09 20:09:13 -07:00
flat_index.rs Enforce extension validity at parse time (#5888) 2024-08-08 21:39:47 -04:00
fork_urls.rs Add forks to lockfile, don't read them yet (#5480) 2024-07-30 11:11:18 +00:00
lib.rs Return a structured result from `Lock::satisfies` (#6119) 2024-08-15 13:19:40 -04:00
lock.rs Allow user to constrain supported lock environments (#6210) 2024-08-20 13:28:04 +00:00
manifest.rs Improve resolver error messages referencing workspace members (#6092) 2024-08-15 02:41:31 +00:00
marker.rs Implement marker trees using algebraic decision diagrams (#5898) 2024-08-09 13:40:02 -04:00
options.rs Use "pre-release" in prose and `Prerelease` in code (#5697) 2024-08-01 20:56:29 +00:00
pins.rs Unify resolutions only during graph building (#5479) 2024-07-26 16:29:48 +02:00
preferences.rs Store `environment-markers` in solve order (#6078) 2024-08-14 09:20:12 -04:00
prerelease.rs Retain and respect settings in tool upgrades (#5937) 2024-08-09 18:21:49 +00:00
python_requirement.rs Always narrow markers by Python version (#6076) 2024-08-15 11:50:00 -04:00
redirect.rs Preserve fragments when applying verbatim redirects (#4038) 2024-06-05 03:53:23 +00:00
requires_python.rs Normalize `python_version` markers to `python_full_version` (#6126) 2024-08-15 21:42:15 -04:00
resolution_mode.rs Omit transitive development dependencies from workspace lockfile (#5646) 2024-07-30 22:32:33 -04:00
version_map.rs Enforce extension validity at parse time (#5888) 2024-08-08 21:39:47 -04:00
yanks.rs Use fork markers and fork preferences in resolution with lockfile (#5481) 2024-07-31 15:18:58 +00:00