projen 0.101.8 → 0.101.10

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.
Files changed (166) hide show
  1. package/.jsii +1077 -310
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +1 -1
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +3 -3
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-build.js +1 -1
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/circleci/circleci.js +1 -1
  33. package/lib/cli/cmds/new.js +1 -8
  34. package/lib/component.d.ts +21 -1
  35. package/lib/component.js +27 -3
  36. package/lib/dependencies.js +1 -1
  37. package/lib/dev-env.js +1 -1
  38. package/lib/docker-compose/docker-compose-service.js +1 -1
  39. package/lib/docker-compose/docker-compose.js +1 -1
  40. package/lib/file.js +1 -1
  41. package/lib/gitattributes.js +1 -1
  42. package/lib/github/actions-provider.js +1 -1
  43. package/lib/github/auto-approve.js +1 -1
  44. package/lib/github/auto-merge.js +1 -1
  45. package/lib/github/auto-queue.js +1 -1
  46. package/lib/github/dependabot.js +1 -1
  47. package/lib/github/dependency-review.js +1 -1
  48. package/lib/github/github-credentials.js +1 -1
  49. package/lib/github/github-project.js +1 -1
  50. package/lib/github/github.js +1 -1
  51. package/lib/github/merge-queue.js +1 -1
  52. package/lib/github/mergify.js +1 -1
  53. package/lib/github/pr-template.js +1 -1
  54. package/lib/github/pull-request-backport.js +1 -1
  55. package/lib/github/pull-request-lint.js +1 -1
  56. package/lib/github/stale.js +1 -1
  57. package/lib/github/task-workflow-job.js +1 -1
  58. package/lib/github/task-workflow.js +1 -1
  59. package/lib/github/workflow-actions.js +1 -1
  60. package/lib/github/workflow-jobs.js +1 -1
  61. package/lib/github/workflow-steps.js +1 -1
  62. package/lib/github/workflows.js +1 -1
  63. package/lib/gitlab/configuration.js +1 -1
  64. package/lib/gitlab/gitlab-configuration.js +1 -1
  65. package/lib/gitlab/nested-configuration.js +1 -1
  66. package/lib/gitpod.js +1 -1
  67. package/lib/ignore-file.js +1 -1
  68. package/lib/ini.js +1 -1
  69. package/lib/java/java-project.js +1 -1
  70. package/lib/java/junit.js +1 -1
  71. package/lib/java/maven-compile.js +1 -1
  72. package/lib/java/maven-packaging.js +1 -1
  73. package/lib/java/maven-sample.js +1 -1
  74. package/lib/java/pom.js +2 -2
  75. package/lib/java/projenrc.d.ts +2 -1
  76. package/lib/java/projenrc.js +6 -9
  77. package/lib/javascript/biome/biome.d.ts +5 -1
  78. package/lib/javascript/biome/biome.js +8 -2
  79. package/lib/javascript/bundler.js +1 -1
  80. package/lib/javascript/eslint.d.ts +5 -1
  81. package/lib/javascript/eslint.js +8 -2
  82. package/lib/javascript/jest.js +4 -4
  83. package/lib/javascript/license-checker.js +1 -1
  84. package/lib/javascript/node-package.js +1 -1
  85. package/lib/javascript/node-project.js +1 -1
  86. package/lib/javascript/npm-config.js +1 -1
  87. package/lib/javascript/pnpm-workspace-config.js +2 -2
  88. package/lib/javascript/pnpm-workspace.js +1 -1
  89. package/lib/javascript/prettier.js +1 -1
  90. package/lib/javascript/projenrc.d.ts +2 -1
  91. package/lib/javascript/projenrc.js +6 -8
  92. package/lib/javascript/render-options.d.ts +15 -1
  93. package/lib/javascript/render-options.js +7 -3
  94. package/lib/javascript/typescript-config.js +2 -2
  95. package/lib/javascript/upgrade-dependencies.js +2 -2
  96. package/lib/javascript/yarnrc.js +1 -1
  97. package/lib/json-patch.js +1 -1
  98. package/lib/json.js +1 -1
  99. package/lib/license.js +1 -1
  100. package/lib/logger.js +1 -1
  101. package/lib/logging.js +3 -2
  102. package/lib/makefile.js +1 -1
  103. package/lib/object-file.js +1 -1
  104. package/lib/project-build.js +1 -1
  105. package/lib/project-tree.js +1 -1
  106. package/lib/project.d.ts +19 -5
  107. package/lib/project.js +34 -11
  108. package/lib/projects.js +7 -5
  109. package/lib/projenrc-json.d.ts +2 -1
  110. package/lib/projenrc-json.js +6 -8
  111. package/lib/projenrc.js +1 -1
  112. package/lib/python/pip.js +1 -1
  113. package/lib/python/poetry.js +2 -2
  114. package/lib/python/projenrc.d.ts +2 -1
  115. package/lib/python/projenrc.js +6 -9
  116. package/lib/python/pyproject-toml-file.js +1 -1
  117. package/lib/python/pyproject-toml.d.ts +66 -9
  118. package/lib/python/pyproject-toml.js +7 -1
  119. package/lib/python/pytest-sample.js +1 -1
  120. package/lib/python/pytest.js +1 -1
  121. package/lib/python/python-project.js +1 -1
  122. package/lib/python/python-sample.js +1 -1
  123. package/lib/python/requirements-file.js +1 -1
  124. package/lib/python/setuppy.js +1 -1
  125. package/lib/python/setuptools.js +1 -1
  126. package/lib/python/uv-config.d.ts +301 -128
  127. package/lib/python/uv-config.js +165 -106
  128. package/lib/python/uv.js +1 -1
  129. package/lib/python/venv.js +1 -1
  130. package/lib/readme.js +1 -1
  131. package/lib/release/publisher.js +1 -1
  132. package/lib/release/release-trigger.js +1 -1
  133. package/lib/release/release.js +1 -1
  134. package/lib/renovatebot.js +1 -1
  135. package/lib/run-task.cjs +245 -49
  136. package/lib/sample-file.js +2 -2
  137. package/lib/script-runner.js +1 -1
  138. package/lib/source-code.js +1 -1
  139. package/lib/task-shell.js +1 -1
  140. package/lib/task.js +1 -1
  141. package/lib/tasks.js +1 -1
  142. package/lib/testing.js +1 -1
  143. package/lib/textfile.js +1 -1
  144. package/lib/toml.js +1 -1
  145. package/lib/typescript/projenrc-ts.d.ts +2 -1
  146. package/lib/typescript/projenrc-ts.js +6 -8
  147. package/lib/typescript/projenrc.d.ts +3 -1
  148. package/lib/typescript/projenrc.js +7 -9
  149. package/lib/typescript/typescript-runner.js +1 -1
  150. package/lib/typescript/typescript-typedoc.js +1 -1
  151. package/lib/typescript/typescript.js +5 -5
  152. package/lib/util/exec.d.ts +7 -0
  153. package/lib/util/exec.js +36 -13
  154. package/lib/version.js +2 -2
  155. package/lib/vscode/devcontainer.js +1 -1
  156. package/lib/vscode/extensions.js +1 -1
  157. package/lib/vscode/launch-config.js +1 -1
  158. package/lib/vscode/settings.js +1 -1
  159. package/lib/vscode/vscode.js +1 -1
  160. package/lib/web/next.js +3 -3
  161. package/lib/web/postcss.js +1 -1
  162. package/lib/web/react.js +3 -3
  163. package/lib/web/tailwind.js +1 -1
  164. package/lib/xmlfile.js +1 -1
  165. package/lib/yaml.js +1 -1
  166. package/package.json +1 -1
@@ -32,6 +32,10 @@ export interface UvConfiguration {
32
32
  * @schema UvConfiguration#allow-insecure-host
33
33
  */
34
34
  readonly allowInsecureHost?: string[];
35
+ /**
36
+ * @schema UvConfiguration#audit
37
+ */
38
+ readonly audit?: AuditOptions;
35
39
  /**
36
40
  * Configuration for the uv build backend.
37
41
  *
@@ -246,24 +250,41 @@ export interface UvConfiguration {
246
250
  */
247
251
  readonly excludeDependencies?: string[];
248
252
  /**
249
- * Limit candidate packages to those that were uploaded prior to a given point in time.
253
+ * Limit candidate packages to those that were uploaded prior to the given date.
254
+ *
255
+ * The date is compared against the upload time of each individual distribution artifact
256
+ * (i.e., when each file was uploaded to the package index), not the release date of the
257
+ * package version.
258
+ *
259
+ * Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), a "friendly" duration (e.g.,
260
+ * `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).
250
261
  *
251
- * Accepts a superset of [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html) (e.g.,
252
- * `2006-12-02T02:07:43Z`). A full timestamp is required to ensure that the resolver will
253
- * behave consistently across timezones.
262
+ * Durations do not respect semantics of the local time zone and are always resolved to a fixed
263
+ * number of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).
264
+ * Calendar units such as months and years are not allowed.
254
265
  *
255
266
  * @schema UvConfiguration#exclude-newer
256
267
  */
257
268
  readonly excludeNewer?: string;
258
269
  /**
259
- * Limit candidate packages for specific packages to those that were uploaded prior to the given date.
270
+ * Limit candidate packages for specific packages to those that were uploaded prior to the
271
+ * given date.
272
+ *
273
+ * Accepts a dictionary format of `PACKAGE = "DATE"` pairs, where `DATE` is an RFC 3339
274
+ * timestamp (e.g., `2006-12-02T02:07:43Z`), a "friendly" duration (e.g., `24 hours`, `1 week`,
275
+ * `30 days`), or a ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).
260
276
  *
261
- * Accepts package-date pairs in a dictionary format.
277
+ * Durations do not respect semantics of the local time zone and are always resolved to a fixed
278
+ * number of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).
279
+ * Calendar units such as months and years are not allowed.
280
+ *
281
+ * Set a package to `false` to exempt it from the global [`exclude-newer`](#exclude-newer)
282
+ * constraint entirely.
262
283
  *
263
284
  * @schema UvConfiguration#exclude-newer-package
264
285
  */
265
286
  readonly excludeNewerPackage?: {
266
- [key: string]: string;
287
+ [key: string]: ExcludeNewerOverride;
267
288
  };
268
289
  /**
269
290
  * Additional build dependencies for packages.
@@ -336,6 +357,18 @@ export interface UvConfiguration {
336
357
  * @schema UvConfiguration#fork-strategy
337
358
  */
338
359
  readonly forkStrategy?: ForkStrategy;
360
+ /**
361
+ * The URL of the HTTP proxy to use.
362
+ *
363
+ * @schema UvConfiguration#http-proxy
364
+ */
365
+ readonly httpProxy?: string;
366
+ /**
367
+ * The URL of the HTTPS proxy to use.
368
+ *
369
+ * @schema UvConfiguration#https-proxy
370
+ */
371
+ readonly httpsProxy?: string;
339
372
  /**
340
373
  * The indexes to use when resolving dependencies.
341
374
  *
@@ -354,7 +387,7 @@ export interface UvConfiguration {
354
387
  * ```toml
355
388
  * [[tool.uv.index]]
356
389
  * name = "pytorch"
357
- * url = "https://download.pytorch.org/whl/cu121"
390
+ * url = "https://download.pytorch.org/whl/cu130"
358
391
  * explicit = true
359
392
  *
360
393
  * [tool.uv.sources]
@@ -405,7 +438,7 @@ export interface UvConfiguration {
405
438
  /**
406
439
  * The method to use when installing packages from the global cache.
407
440
  *
408
- * Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and
441
+ * Defaults to `clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on
409
442
  * Windows.
410
443
  *
411
444
  * WARNING: The use of symlink link mode is discouraged, as they create tight coupling between
@@ -413,7 +446,7 @@ export interface UvConfiguration {
413
446
  * will break all installed packages by way of removing the underlying source files. Use
414
447
  * symlinks with caution.
415
448
  *
416
- * @default clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and
449
+ * @default clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on
417
450
  * @schema UvConfiguration#link-mode
418
451
  */
419
452
  readonly linkMode?: LinkMode;
@@ -427,13 +460,10 @@ export interface UvConfiguration {
427
460
  /**
428
461
  * Whether to load TLS certificates from the platform's native certificate store.
429
462
  *
430
- * By default, uv loads certificates from the bundled `webpki-roots` crate. The
431
- * `webpki-roots` are a reliable set of trust roots from Mozilla, and including them in uv
432
- * improves portability and performance (especially on macOS).
463
+ * By default, uv uses bundled Mozilla root certificates. When enabled, this loads
464
+ * certificates from the platform's native certificate store instead.
433
465
  *
434
- * However, in some cases, you may want to use the platform's native certificate store,
435
- * especially if you're relying on a corporate trust root (e.g., for a mandatory proxy) that's
436
- * included in your system's certificate store.
466
+ * (Deprecated: use `system-certs` instead.)
437
467
  *
438
468
  * @schema UvConfiguration#native-tls
439
469
  */
@@ -501,6 +531,12 @@ export interface UvConfiguration {
501
531
  * @schema UvConfiguration#no-index
502
532
  */
503
533
  readonly noIndex?: boolean;
534
+ /**
535
+ * A list of hosts to exclude from proxying.
536
+ *
537
+ * @schema UvConfiguration#no-proxy
538
+ */
539
+ readonly noProxy?: string[];
504
540
  /**
505
541
  * Ignore the `tool.uv.sources` table when resolving dependencies. Used to lock against the
506
542
  * standards-compliant, publishable package metadata, as opposed to using any local or Git
@@ -509,6 +545,12 @@ export interface UvConfiguration {
509
545
  * @schema UvConfiguration#no-sources
510
546
  */
511
547
  readonly noSources?: boolean;
548
+ /**
549
+ * Ignore `tool.uv.sources` for the specified packages.
550
+ *
551
+ * @schema UvConfiguration#no-sources-package
552
+ */
553
+ readonly noSourcesPackage?: string[];
512
554
  /**
513
555
  * Disable network access, relying only on locally cached data and locally available files.
514
556
  *
@@ -585,8 +627,6 @@ export interface UvConfiguration {
585
627
  /**
586
628
  * URL pointing to JSON of custom Python installations.
587
629
  *
588
- * Note that currently, only local paths are supported.
589
- *
590
630
  * @schema UvConfiguration#python-downloads-json-url
591
631
  */
592
632
  readonly pythonDownloadsJsonUrl?: string;
@@ -662,6 +702,34 @@ export interface UvConfiguration {
662
702
  readonly sources?: {
663
703
  [key: string]: any[];
664
704
  };
705
+ /**
706
+ * Whether to load TLS certificates from the platform's native certificate store.
707
+ *
708
+ * By default, uv uses bundled Mozilla root certificates. When enabled, this loads
709
+ * certificates from the platform's native certificate store instead.
710
+ *
711
+ * @schema UvConfiguration#system-certs
712
+ */
713
+ readonly systemCerts?: boolean;
714
+ /**
715
+ * The backend to use when fetching packages in the PyTorch ecosystem.
716
+ *
717
+ * When set, uv will ignore the configured index URLs for packages in the PyTorch ecosystem,
718
+ * and will instead use the defined backend.
719
+ *
720
+ * For example, when set to `cpu`, uv will use the CPU-only PyTorch index; when set to `cu126`,
721
+ * uv will use the PyTorch index for CUDA 12.6.
722
+ *
723
+ * The `auto` mode will attempt to detect the appropriate PyTorch index based on the currently
724
+ * installed CUDA drivers.
725
+ *
726
+ * This setting is only respected by `uv pip` commands.
727
+ *
728
+ * This option is in preview and may change in any future release.
729
+ *
730
+ * @schema UvConfiguration#torch-backend
731
+ */
732
+ readonly torchBackend?: TorchMode;
665
733
  /**
666
734
  * Configure trusted publishing.
667
735
  *
@@ -721,6 +789,35 @@ export declare enum AddBoundsKind {
721
789
  This option is not recommended, as versions are already pinned in the uv lockfile. (exact) */
722
790
  EXACT = "exact"
723
791
  }
792
+ /**
793
+ * @schema AuditOptions
794
+ */
795
+ export interface AuditOptions {
796
+ /**
797
+ * A list of vulnerability IDs to ignore during auditing.
798
+ *
799
+ * Vulnerabilities matching any of the provided IDs (including aliases) will be excluded from
800
+ * the audit results.
801
+ *
802
+ * @schema AuditOptions#ignore
803
+ */
804
+ readonly ignore?: string[];
805
+ /**
806
+ * A list of vulnerability IDs to ignore during auditing, but only while no fix is available.
807
+ *
808
+ * Vulnerabilities matching any of the provided IDs (including aliases) will be excluded from
809
+ * the audit results as long as they have no known fix versions. Once a fix version becomes
810
+ * available, the vulnerability will be reported again.
811
+ *
812
+ * @schema AuditOptions#ignore-until-fixed
813
+ */
814
+ readonly ignoreUntilFixed?: string[];
815
+ }
816
+ /**
817
+ * Converts an object of type 'AuditOptions' to JSON representation.
818
+ * @internal
819
+ */
820
+ export declare function toJson_AuditOptions(obj: AuditOptions | undefined): Record<string, any> | undefined;
724
821
  /**
725
822
  * Settings for the uv build backend (`uv_build`).
726
823
  *
@@ -849,6 +946,9 @@ export interface BuildBackendSettings {
849
946
  /**
850
947
  * Glob expressions which files and directories to exclude from the source distribution.
851
948
  *
949
+ * These exclusions are also applied to wheels to ensure that a wheel built from a source tree
950
+ * is consistent with a wheel built from a source distribution.
951
+ *
852
952
  * @schema BuildBackendSettings#source-exclude
853
953
  */
854
954
  readonly sourceExclude?: string[];
@@ -953,6 +1053,15 @@ export interface StaticMetadata {
953
1053
  * @internal
954
1054
  */
955
1055
  export declare function toJson_StaticMetadata(obj: StaticMetadata | undefined): Record<string, any> | undefined;
1056
+ /**
1057
+ * @schema ExcludeNewerOverride
1058
+ */
1059
+ export declare class ExcludeNewerOverride {
1060
+ readonly value: boolean | string;
1061
+ static fromBoolean(value: boolean): ExcludeNewerOverride;
1062
+ static fromString(value: string): ExcludeNewerOverride;
1063
+ private constructor();
1064
+ }
956
1065
  /**
957
1066
  * @schema ForkStrategy
958
1067
  */
@@ -1012,6 +1121,31 @@ export interface Index {
1012
1121
  * @schema Index#default
1013
1122
  */
1014
1123
  readonly default?: boolean;
1124
+ /**
1125
+ * An index-specific `exclude-newer` cutoff.
1126
+ *
1127
+ * Accepts the same date, timestamp, and duration values as the global `exclude-newer`
1128
+ * setting. Set this to `false` to disable `exclude-newer` for this index entirely.
1129
+ *
1130
+ * When set to a value, packages resolved from this index will use that cutoff instead of the
1131
+ * globally-specified value, unless a package-specific `exclude-newer-package` override is
1132
+ * present.
1133
+ *
1134
+ * This option is in preview and may change in any future release.
1135
+ *
1136
+ * ```toml
1137
+ * [tool.uv]
1138
+ * exclude-newer = "2025-01-01T00:00:00Z"
1139
+ *
1140
+ * [[tool.uv.index]]
1141
+ * name = "internal"
1142
+ * url = "https://internal.example.com/simple"
1143
+ * exclude-newer = "7 days"
1144
+ * ```
1145
+ *
1146
+ * @schema Index#exclude-newer
1147
+ */
1148
+ readonly excludeNewer?: ExcludeNewerOverride;
1015
1149
  /**
1016
1150
  * Mark the index as explicit.
1017
1151
  *
@@ -1021,7 +1155,7 @@ export interface Index {
1021
1155
  * ```toml
1022
1156
  * [[tool.uv.index]]
1023
1157
  * name = "pytorch"
1024
- * url = "https://download.pytorch.org/whl/cu121"
1158
+ * url = "https://download.pytorch.org/whl/cu130"
1025
1159
  * explicit = true
1026
1160
  *
1027
1161
  * [tool.uv.sources]
@@ -1064,7 +1198,7 @@ export interface Index {
1064
1198
  * ```toml
1065
1199
  * [[tool.uv.index]]
1066
1200
  * name = "pytorch"
1067
- * url = "https://download.pytorch.org/whl/cu121"
1201
+ * url = "https://download.pytorch.org/whl/cu130"
1068
1202
  *
1069
1203
  * [tool.uv.sources]
1070
1204
  * torch = { index = "pytorch" }
@@ -1152,16 +1286,23 @@ export declare enum KeyringProviderType {
1152
1286
  SUBPROCESS = "subprocess"
1153
1287
  }
1154
1288
  /**
1289
+ * The method to use when linking.
1290
+ *
1291
+ * Defaults to [`LinkMode::Clone`] on macOS and Linux (which support copy-on-write on
1292
+ * APFS and btrfs/xfs/bcachefs respectively), and [`LinkMode::Hardlink`] on other
1293
+ * platforms.
1294
+ *
1295
+ * @default LinkMode::Clone`] on macOS and Linux (which support copy-on-write on
1155
1296
  * @schema LinkMode
1156
1297
  */
1157
1298
  export declare enum LinkMode {
1158
- /** Clone (i.e., copy-on-write) packages from the wheel into the `site-packages` directory. (clone) */
1299
+ /** Clone (i.e., copy-on-write) packages from the source into the destination. (clone) */
1159
1300
  CLONE = "clone",
1160
- /** Copy packages from the wheel into the `site-packages` directory. (copy) */
1301
+ /** Copy packages from the source into the destination. (copy) */
1161
1302
  COPY = "copy",
1162
- /** Hard link packages from the wheel into the `site-packages` directory. (hardlink) */
1303
+ /** Hard link packages from the source into the destination. (hardlink) */
1163
1304
  HARDLINK = "hardlink",
1164
- /** Symbolically link packages from the wheel into the `site-packages` directory. (symlink) */
1305
+ /** Symbolically link packages from the source into the destination. (symlink) */
1165
1306
  SYMLINK = "symlink"
1166
1307
  }
1167
1308
  /**
@@ -1306,9 +1447,16 @@ export interface PipOptions {
1306
1447
  /**
1307
1448
  * Limit candidate packages to those that were uploaded prior to a given point in time.
1308
1449
  *
1309
- * Accepts a superset of [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html) (e.g.,
1310
- * `2006-12-02T02:07:43Z`). A full timestamp is required to ensure that the resolver will
1311
- * behave consistently across timezones.
1450
+ * The date is compared against the upload time of each individual distribution artifact
1451
+ * (i.e., when each file was uploaded to the package index), not the release date of the
1452
+ * package version.
1453
+ *
1454
+ * Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), a "friendly" duration (e.g.,
1455
+ * `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).
1456
+ *
1457
+ * Durations do not respect semantics of the local time zone and are always resolved to a fixed
1458
+ * number of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).
1459
+ * Calendar units such as months and years are not allowed.
1312
1460
  *
1313
1461
  * @schema PipOptions#exclude-newer
1314
1462
  */
@@ -1316,12 +1464,21 @@ export interface PipOptions {
1316
1464
  /**
1317
1465
  * Limit candidate packages for specific packages to those that were uploaded prior to the given date.
1318
1466
  *
1319
- * Accepts package-date pairs in a dictionary format.
1467
+ * Accepts a dictionary format of `PACKAGE = "DATE"` pairs, where `DATE` is an RFC 3339
1468
+ * timestamp (e.g., `2006-12-02T02:07:43Z`), a "friendly" duration (e.g., `24 hours`, `1 week`,
1469
+ * `30 days`), or a ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).
1470
+ *
1471
+ * Durations do not respect semantics of the local time zone and are always resolved to a fixed
1472
+ * number of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).
1473
+ * Calendar units such as months and years are not allowed.
1474
+ *
1475
+ * Set a package to `false` to exempt it from the global [`exclude-newer`](#exclude-newer)
1476
+ * constraint entirely.
1320
1477
  *
1321
1478
  * @schema PipOptions#exclude-newer-package
1322
1479
  */
1323
1480
  readonly excludeNewerPackage?: {
1324
- [key: string]: string;
1481
+ [key: string]: ExcludeNewerOverride;
1325
1482
  };
1326
1483
  /**
1327
1484
  * Include optional dependencies from the specified extra; may be provided more than once.
@@ -1446,7 +1603,7 @@ export interface PipOptions {
1446
1603
  /**
1447
1604
  * The method to use when installing packages from the global cache.
1448
1605
  *
1449
- * Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and
1606
+ * Defaults to `clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on
1450
1607
  * Windows.
1451
1608
  *
1452
1609
  * WARNING: The use of symlink link mode is discouraged, as they create tight coupling between
@@ -1454,7 +1611,7 @@ export interface PipOptions {
1454
1611
  * will break all installed packages by way of removing the underlying source files. Use
1455
1612
  * symlinks with caution.
1456
1613
  *
1457
- * @default clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and
1614
+ * @default clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on
1458
1615
  * @schema PipOptions#link-mode
1459
1616
  */
1460
1617
  readonly linkMode?: LinkMode;
@@ -1548,6 +1705,12 @@ export interface PipOptions {
1548
1705
  * @schema PipOptions#no-sources
1549
1706
  */
1550
1707
  readonly noSources?: boolean;
1708
+ /**
1709
+ * Ignore `tool.uv.sources` for the specified packages.
1710
+ *
1711
+ * @schema PipOptions#no-sources-package
1712
+ */
1713
+ readonly noSourcesPackage?: string[];
1551
1714
  /**
1552
1715
  * Include extras in the output file.
1553
1716
  *
@@ -1726,6 +1889,8 @@ export interface PipOptions {
1726
1889
  * The `auto` mode will attempt to detect the appropriate PyTorch index based on the currently
1727
1890
  * installed CUDA drivers.
1728
1891
  *
1892
+ * This setting is only respected by `uv pip` commands.
1893
+ *
1729
1894
  * This option is in preview and may change in any future release.
1730
1895
  *
1731
1896
  * @schema PipOptions#torch-backend
@@ -1832,6 +1997,111 @@ export declare enum ResolutionMode {
1832
1997
  compatible version of any transitive dependencies. (lowest-direct) */
1833
1998
  LOWEST_HYPHEN_DIRECT = "lowest-direct"
1834
1999
  }
2000
+ /**
2001
+ * The strategy to use when determining the appropriate PyTorch index.
2002
+ *
2003
+ * @schema TorchMode
2004
+ */
2005
+ export declare enum TorchMode {
2006
+ /** Select the appropriate PyTorch index based on the operating system and CUDA driver version. (auto) */
2007
+ AUTO = "auto",
2008
+ /** Use the CPU-only PyTorch index. (cpu) */
2009
+ CPU = "cpu",
2010
+ /** Use the PyTorch index for CUDA 13.0. (cu130) */
2011
+ CU130 = "cu130",
2012
+ /** Use the PyTorch index for CUDA 12.9. (cu129) */
2013
+ CU129 = "cu129",
2014
+ /** Use the PyTorch index for CUDA 12.8. (cu128) */
2015
+ CU128 = "cu128",
2016
+ /** Use the PyTorch index for CUDA 12.6. (cu126) */
2017
+ CU126 = "cu126",
2018
+ /** Use the PyTorch index for CUDA 12.5. (cu125) */
2019
+ CU125 = "cu125",
2020
+ /** Use the PyTorch index for CUDA 12.4. (cu124) */
2021
+ CU124 = "cu124",
2022
+ /** Use the PyTorch index for CUDA 12.3. (cu123) */
2023
+ CU123 = "cu123",
2024
+ /** Use the PyTorch index for CUDA 12.2. (cu122) */
2025
+ CU122 = "cu122",
2026
+ /** Use the PyTorch index for CUDA 12.1. (cu121) */
2027
+ CU121 = "cu121",
2028
+ /** Use the PyTorch index for CUDA 12.0. (cu120) */
2029
+ CU120 = "cu120",
2030
+ /** Use the PyTorch index for CUDA 11.8. (cu118) */
2031
+ CU118 = "cu118",
2032
+ /** Use the PyTorch index for CUDA 11.7. (cu117) */
2033
+ CU117 = "cu117",
2034
+ /** Use the PyTorch index for CUDA 11.6. (cu116) */
2035
+ CU116 = "cu116",
2036
+ /** Use the PyTorch index for CUDA 11.5. (cu115) */
2037
+ CU115 = "cu115",
2038
+ /** Use the PyTorch index for CUDA 11.4. (cu114) */
2039
+ CU114 = "cu114",
2040
+ /** Use the PyTorch index for CUDA 11.3. (cu113) */
2041
+ CU113 = "cu113",
2042
+ /** Use the PyTorch index for CUDA 11.2. (cu112) */
2043
+ CU112 = "cu112",
2044
+ /** Use the PyTorch index for CUDA 11.1. (cu111) */
2045
+ CU111 = "cu111",
2046
+ /** Use the PyTorch index for CUDA 11.0. (cu110) */
2047
+ CU110 = "cu110",
2048
+ /** Use the PyTorch index for CUDA 10.2. (cu102) */
2049
+ CU102 = "cu102",
2050
+ /** Use the PyTorch index for CUDA 10.1. (cu101) */
2051
+ CU101 = "cu101",
2052
+ /** Use the PyTorch index for CUDA 10.0. (cu100) */
2053
+ CU100 = "cu100",
2054
+ /** Use the PyTorch index for CUDA 9.2. (cu92) */
2055
+ CU92 = "cu92",
2056
+ /** Use the PyTorch index for CUDA 9.1. (cu91) */
2057
+ CU91 = "cu91",
2058
+ /** Use the PyTorch index for CUDA 9.0. (cu90) */
2059
+ CU90 = "cu90",
2060
+ /** Use the PyTorch index for CUDA 8.0. (cu80) */
2061
+ CU80 = "cu80",
2062
+ /** Use the PyTorch index for ROCm 7.2. (rocm7.2) */
2063
+ ROCM7_2 = "rocm7.2",
2064
+ /** Use the PyTorch index for ROCm 7.1. (rocm7.1) */
2065
+ ROCM7_1 = "rocm7.1",
2066
+ /** Use the PyTorch index for ROCm 7.0. (rocm7.0) */
2067
+ ROCM7_0 = "rocm7.0",
2068
+ /** Use the PyTorch index for ROCm 6.4. (rocm6.4) */
2069
+ ROCM6_4 = "rocm6.4",
2070
+ /** Use the PyTorch index for ROCm 6.3. (rocm6.3) */
2071
+ ROCM6_3 = "rocm6.3",
2072
+ /** Use the PyTorch index for ROCm 6.2.4. (rocm6.2.4) */
2073
+ ROCM6_2_4 = "rocm6.2.4",
2074
+ /** Use the PyTorch index for ROCm 6.2. (rocm6.2) */
2075
+ ROCM6_2 = "rocm6.2",
2076
+ /** Use the PyTorch index for ROCm 6.1. (rocm6.1) */
2077
+ ROCM6_1 = "rocm6.1",
2078
+ /** Use the PyTorch index for ROCm 6.0. (rocm6.0) */
2079
+ ROCM6_0 = "rocm6.0",
2080
+ /** Use the PyTorch index for ROCm 5.7. (rocm5.7) */
2081
+ ROCM5_7 = "rocm5.7",
2082
+ /** Use the PyTorch index for ROCm 5.6. (rocm5.6) */
2083
+ ROCM5_6 = "rocm5.6",
2084
+ /** Use the PyTorch index for ROCm 5.5. (rocm5.5) */
2085
+ ROCM5_5 = "rocm5.5",
2086
+ /** Use the PyTorch index for ROCm 5.4.2. (rocm5.4.2) */
2087
+ ROCM5_4_2 = "rocm5.4.2",
2088
+ /** Use the PyTorch index for ROCm 5.4. (rocm5.4) */
2089
+ ROCM5_4 = "rocm5.4",
2090
+ /** Use the PyTorch index for ROCm 5.3. (rocm5.3) */
2091
+ ROCM5_3 = "rocm5.3",
2092
+ /** Use the PyTorch index for ROCm 5.2. (rocm5.2) */
2093
+ ROCM5_2 = "rocm5.2",
2094
+ /** Use the PyTorch index for ROCm 5.1.1. (rocm5.1.1) */
2095
+ ROCM5_1_1 = "rocm5.1.1",
2096
+ /** Use the PyTorch index for ROCm 4.2. (rocm4.2) */
2097
+ ROCM4_2 = "rocm4.2",
2098
+ /** Use the PyTorch index for ROCm 4.1. (rocm4.1) */
2099
+ ROCM4_1 = "rocm4.1",
2100
+ /** Use the PyTorch index for ROCm 4.0.1. (rocm4.0.1) */
2101
+ ROCM4_0_1 = "rocm4.0.1",
2102
+ /** Use the PyTorch index for Intel XPU. (xpu) */
2103
+ XPU = "xpu"
2104
+ }
1835
2105
  /**
1836
2106
  * @schema TrustedPublishing
1837
2107
  */
@@ -2121,100 +2391,3 @@ export declare enum TargetTriple {
2121
2391
  environment variable if set. (x86_64-apple-ios-simulator) */
2122
2392
  X86_UNDERSCORE_64_HYPHEN_APPLE_HYPHEN_IOS_HYPHEN_SIMULATOR = "x86_64-apple-ios-simulator"
2123
2393
  }
2124
- /**
2125
- * The strategy to use when determining the appropriate PyTorch index.
2126
- *
2127
- * @schema TorchMode
2128
- */
2129
- export declare enum TorchMode {
2130
- /** Select the appropriate PyTorch index based on the operating system and CUDA driver version. (auto) */
2131
- AUTO = "auto",
2132
- /** Use the CPU-only PyTorch index. (cpu) */
2133
- CPU = "cpu",
2134
- /** Use the PyTorch index for CUDA 13.0. (cu130) */
2135
- CU130 = "cu130",
2136
- /** Use the PyTorch index for CUDA 12.9. (cu129) */
2137
- CU129 = "cu129",
2138
- /** Use the PyTorch index for CUDA 12.8. (cu128) */
2139
- CU128 = "cu128",
2140
- /** Use the PyTorch index for CUDA 12.6. (cu126) */
2141
- CU126 = "cu126",
2142
- /** Use the PyTorch index for CUDA 12.5. (cu125) */
2143
- CU125 = "cu125",
2144
- /** Use the PyTorch index for CUDA 12.4. (cu124) */
2145
- CU124 = "cu124",
2146
- /** Use the PyTorch index for CUDA 12.3. (cu123) */
2147
- CU123 = "cu123",
2148
- /** Use the PyTorch index for CUDA 12.2. (cu122) */
2149
- CU122 = "cu122",
2150
- /** Use the PyTorch index for CUDA 12.1. (cu121) */
2151
- CU121 = "cu121",
2152
- /** Use the PyTorch index for CUDA 12.0. (cu120) */
2153
- CU120 = "cu120",
2154
- /** Use the PyTorch index for CUDA 11.8. (cu118) */
2155
- CU118 = "cu118",
2156
- /** Use the PyTorch index for CUDA 11.7. (cu117) */
2157
- CU117 = "cu117",
2158
- /** Use the PyTorch index for CUDA 11.6. (cu116) */
2159
- CU116 = "cu116",
2160
- /** Use the PyTorch index for CUDA 11.5. (cu115) */
2161
- CU115 = "cu115",
2162
- /** Use the PyTorch index for CUDA 11.4. (cu114) */
2163
- CU114 = "cu114",
2164
- /** Use the PyTorch index for CUDA 11.3. (cu113) */
2165
- CU113 = "cu113",
2166
- /** Use the PyTorch index for CUDA 11.2. (cu112) */
2167
- CU112 = "cu112",
2168
- /** Use the PyTorch index for CUDA 11.1. (cu111) */
2169
- CU111 = "cu111",
2170
- /** Use the PyTorch index for CUDA 11.0. (cu110) */
2171
- CU110 = "cu110",
2172
- /** Use the PyTorch index for CUDA 10.2. (cu102) */
2173
- CU102 = "cu102",
2174
- /** Use the PyTorch index for CUDA 10.1. (cu101) */
2175
- CU101 = "cu101",
2176
- /** Use the PyTorch index for CUDA 10.0. (cu100) */
2177
- CU100 = "cu100",
2178
- /** Use the PyTorch index for CUDA 9.2. (cu92) */
2179
- CU92 = "cu92",
2180
- /** Use the PyTorch index for CUDA 9.1. (cu91) */
2181
- CU91 = "cu91",
2182
- /** Use the PyTorch index for CUDA 9.0. (cu90) */
2183
- CU90 = "cu90",
2184
- /** Use the PyTorch index for CUDA 8.0. (cu80) */
2185
- CU80 = "cu80",
2186
- /** Use the PyTorch index for ROCm 6.3. (rocm6.3) */
2187
- ROCM6_3 = "rocm6.3",
2188
- /** Use the PyTorch index for ROCm 6.2.4. (rocm6.2.4) */
2189
- ROCM6_2_4 = "rocm6.2.4",
2190
- /** Use the PyTorch index for ROCm 6.2. (rocm6.2) */
2191
- ROCM6_2 = "rocm6.2",
2192
- /** Use the PyTorch index for ROCm 6.1. (rocm6.1) */
2193
- ROCM6_1 = "rocm6.1",
2194
- /** Use the PyTorch index for ROCm 6.0. (rocm6.0) */
2195
- ROCM6_0 = "rocm6.0",
2196
- /** Use the PyTorch index for ROCm 5.7. (rocm5.7) */
2197
- ROCM5_7 = "rocm5.7",
2198
- /** Use the PyTorch index for ROCm 5.6. (rocm5.6) */
2199
- ROCM5_6 = "rocm5.6",
2200
- /** Use the PyTorch index for ROCm 5.5. (rocm5.5) */
2201
- ROCM5_5 = "rocm5.5",
2202
- /** Use the PyTorch index for ROCm 5.4.2. (rocm5.4.2) */
2203
- ROCM5_4_2 = "rocm5.4.2",
2204
- /** Use the PyTorch index for ROCm 5.4. (rocm5.4) */
2205
- ROCM5_4 = "rocm5.4",
2206
- /** Use the PyTorch index for ROCm 5.3. (rocm5.3) */
2207
- ROCM5_3 = "rocm5.3",
2208
- /** Use the PyTorch index for ROCm 5.2. (rocm5.2) */
2209
- ROCM5_2 = "rocm5.2",
2210
- /** Use the PyTorch index for ROCm 5.1.1. (rocm5.1.1) */
2211
- ROCM5_1_1 = "rocm5.1.1",
2212
- /** Use the PyTorch index for ROCm 4.2. (rocm4.2) */
2213
- ROCM4_2 = "rocm4.2",
2214
- /** Use the PyTorch index for ROCm 4.1. (rocm4.1) */
2215
- ROCM4_1 = "rocm4.1",
2216
- /** Use the PyTorch index for ROCm 4.0.1. (rocm4.0.1) */
2217
- ROCM4_0_1 = "rocm4.0.1",
2218
- /** Use the PyTorch index for Intel XPU. (xpu) */
2219
- XPU = "xpu"
2220
- }