@@ -19,7 +19,10 @@ use uv_pep508::{MarkerTree, Requirement};
19
19
use uv_pypi_types:: VerbatimParsedUrl ;
20
20
use uv_python:: { PythonDownloads , PythonPreference , PythonVersion } ;
21
21
use uv_redacted:: DisplaySafeUrl ;
22
- use uv_resolver:: { AnnotationStyle , ExcludeNewer , ForkStrategy , PrereleaseMode , ResolutionMode } ;
22
+ use uv_resolver:: {
23
+ AnnotationStyle , ExcludeNewerPackageEntry , ExcludeNewerTimestamp , ForkStrategy , PrereleaseMode ,
24
+ ResolutionMode ,
25
+ } ;
23
26
use uv_static:: EnvVars ;
24
27
use uv_torch:: TorchMode ;
25
28
use uv_workspace:: pyproject_mut:: AddBoundsKind ;
@@ -2644,7 +2647,16 @@ pub struct VenvArgs {
2644
2647
/// Accepts both RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`) and local dates in the same
2645
2648
/// format (e.g., `2006-12-02`) in your system's configured time zone.
2646
2649
#[ arg( long, env = EnvVars :: UV_EXCLUDE_NEWER ) ]
2647
- pub exclude_newer : Option < ExcludeNewer > ,
2650
+ pub exclude_newer : Option < ExcludeNewerTimestamp > ,
2651
+
2652
+ /// Limit candidate packages for a specific package to those that were uploaded prior to the given date.
2653
+ ///
2654
+ /// Accepts package-date pairs in the format `PACKAGE=DATE`, where `DATE` is an RFC 3339 timestamp
2655
+ /// (e.g., `2006-12-02T02:07:43Z`) or local date (e.g., `2006-12-02`) in your system's configured time zone.
2656
+ ///
2657
+ /// Can be provided multiple times for different packages.
2658
+ #[ arg( long) ]
2659
+ pub exclude_newer_package : Option < Vec < ExcludeNewerPackageEntry > > ,
2648
2660
2649
2661
/// The method to use when installing packages from the global cache.
2650
2662
///
@@ -4626,7 +4638,16 @@ pub struct ToolUpgradeArgs {
4626
4638
/// Accepts both RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`) and local dates in the same
4627
4639
/// format (e.g., `2006-12-02`) in your system's configured time zone.
4628
4640
#[ arg( long, env = EnvVars :: UV_EXCLUDE_NEWER , help_heading = "Resolver options" ) ]
4629
- pub exclude_newer : Option < ExcludeNewer > ,
4641
+ pub exclude_newer : Option < ExcludeNewerTimestamp > ,
4642
+
4643
+ /// Limit candidate packages for specific packages to those that were uploaded prior to the given date.
4644
+ ///
4645
+ /// Accepts package-date pairs in the format `PACKAGE=DATE`, where `DATE` is an RFC 3339 timestamp
4646
+ /// (e.g., `2006-12-02T02:07:43Z`) or local date (e.g., `2006-12-02`) in your system's configured time zone.
4647
+ ///
4648
+ /// Can be provided multiple times for different packages.
4649
+ #[ arg( long, help_heading = "Resolver options" ) ]
4650
+ pub exclude_newer_package : Option < Vec < ExcludeNewerPackageEntry > > ,
4630
4651
4631
4652
/// The method to use when installing packages from the global cache.
4632
4653
///
@@ -5367,7 +5388,16 @@ pub struct InstallerArgs {
5367
5388
/// Accepts both RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`) and local dates in the same
5368
5389
/// format (e.g., `2006-12-02`) in your system's configured time zone.
5369
5390
#[ arg( long, env = EnvVars :: UV_EXCLUDE_NEWER , help_heading = "Resolver options" ) ]
5370
- pub exclude_newer : Option < ExcludeNewer > ,
5391
+ pub exclude_newer : Option < ExcludeNewerTimestamp > ,
5392
+
5393
+ /// Limit candidate packages for specific packages to those that were uploaded prior to the given date.
5394
+ ///
5395
+ /// Accepts package-date pairs in the format `PACKAGE=DATE`, where `DATE` is an RFC 3339 timestamp
5396
+ /// (e.g., `2006-12-02T02:07:43Z`) or local date (e.g., `2006-12-02`) in your system's configured time zone.
5397
+ ///
5398
+ /// Can be provided multiple times for different packages.
5399
+ #[ arg( long, help_heading = "Resolver options" ) ]
5400
+ pub exclude_newer_package : Option < Vec < ExcludeNewerPackageEntry > > ,
5371
5401
5372
5402
/// The method to use when installing packages from the global cache.
5373
5403
///
@@ -5560,7 +5590,16 @@ pub struct ResolverArgs {
5560
5590
/// Accepts both RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`) and local dates in the same
5561
5591
/// format (e.g., `2006-12-02`) in your system's configured time zone.
5562
5592
#[ arg( long, env = EnvVars :: UV_EXCLUDE_NEWER , help_heading = "Resolver options" ) ]
5563
- pub exclude_newer : Option < ExcludeNewer > ,
5593
+ pub exclude_newer : Option < ExcludeNewerTimestamp > ,
5594
+
5595
+ /// Limit candidate packages for a specific package to those that were uploaded prior to the given date.
5596
+ ///
5597
+ /// Accepts package-date pairs in the format `PACKAGE=DATE`, where `DATE` is an RFC 3339 timestamp
5598
+ /// (e.g., `2006-12-02T02:07:43Z`) or local date (e.g., `2006-12-02`) in your system's configured time zone.
5599
+ ///
5600
+ /// Can be provided multiple times for different packages.
5601
+ #[ arg( long, help_heading = "Resolver options" ) ]
5602
+ pub exclude_newer_package : Option < Vec < ExcludeNewerPackageEntry > > ,
5564
5603
5565
5604
/// The method to use when installing packages from the global cache.
5566
5605
///
@@ -5749,7 +5788,16 @@ pub struct ResolverInstallerArgs {
5749
5788
/// Accepts both RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`) and local dates in the same
5750
5789
/// format (e.g., `2006-12-02`) in your system's configured time zone.
5751
5790
#[ arg( long, env = EnvVars :: UV_EXCLUDE_NEWER , help_heading = "Resolver options" ) ]
5752
- pub exclude_newer : Option < ExcludeNewer > ,
5791
+ pub exclude_newer : Option < ExcludeNewerTimestamp > ,
5792
+
5793
+ /// Limit candidate packages for specific packages to those that were uploaded prior to the given date.
5794
+ ///
5795
+ /// Accepts package-date pairs in the format `PACKAGE=DATE`, where `DATE` is an RFC 3339 timestamp
5796
+ /// (e.g., `2006-12-02T02:07:43Z`) or local date (e.g., `2006-12-02`) in your system's configured time zone.
5797
+ ///
5798
+ /// Can be provided multiple times for different packages.
5799
+ #[ arg( long, help_heading = "Resolver options" ) ]
5800
+ pub exclude_newer_package : Option < Vec < ExcludeNewerPackageEntry > > ,
5753
5801
5754
5802
/// The method to use when installing packages from the global cache.
5755
5803
///
@@ -5838,7 +5886,7 @@ pub struct FetchArgs {
5838
5886
/// Accepts both RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`) and local dates in the same
5839
5887
/// format (e.g., `2006-12-02`) in your system's configured time zone.
5840
5888
#[ arg( long, env = EnvVars :: UV_EXCLUDE_NEWER , help_heading = "Resolver options" ) ]
5841
- pub exclude_newer : Option < ExcludeNewer > ,
5889
+ pub exclude_newer : Option < ExcludeNewerTimestamp > ,
5842
5890
}
5843
5891
5844
5892
#[ derive( Args ) ]
0 commit comments