uv_static/env_vars.rs
1//! Environment variables used or supported by uv.
2//! Used to generate `docs/reference/environment.md`.
3use uv_macros::{attr_added_in, attr_env_var_pattern, attr_hidden, attribute_env_vars_metadata};
4
5/// Declares all environment variable used throughout `uv` and its crates.
6pub struct EnvVars;
7
8#[attribute_env_vars_metadata]
9impl EnvVars {
10 /// The path to the binary that was used to invoke uv.
11 ///
12 /// This is propagated to all subprocesses spawned by uv.
13 ///
14 /// If the executable was invoked through a symbolic link, some platforms will return the path
15 /// of the symbolic link and other platforms will return the path of the symbolic link’s target.
16 ///
17 /// See <https://doc.rust-lang.org/std/env/fn.current_exe.html#security> for security
18 /// considerations.
19 #[attr_added_in("0.6.0")]
20 pub const UV: &'static str = "UV";
21
22 /// The path to the Ruff binary used by `uv format`.
23 #[attr_added_in("0.11.22")]
24 pub const RUFF: &'static str = "RUFF";
25
26 /// The path to the ty binary used by `uv check`.
27 #[attr_added_in("0.11.22")]
28 pub const TY: &'static str = "TY";
29
30 /// Equivalent to the `--offline` command-line argument. If set, uv will disable network access.
31 #[attr_added_in("0.5.9")]
32 pub const UV_OFFLINE: &'static str = "UV_OFFLINE";
33
34 /// Equivalent to the `--default-index` command-line argument. If set, uv will use
35 /// this index as the default index when searching for packages.
36 #[attr_added_in("0.4.23")]
37 pub const UV_DEFAULT_INDEX: &'static str = "UV_DEFAULT_INDEX";
38
39 /// Equivalent to the `--index` command-line argument. If set, uv will use this
40 /// space-separated list of additional indexes when searching for packages.
41 #[attr_added_in("0.4.23")]
42 pub const UV_INDEX: &'static str = "UV_INDEX";
43
44 /// Equivalent to the `--index-url` command-line argument. If set, uv will use this
45 /// URL as the default index when searching for packages.
46 /// (Deprecated: use `UV_DEFAULT_INDEX` instead.)
47 #[attr_added_in("0.0.5")]
48 pub const UV_INDEX_URL: &'static str = "UV_INDEX_URL";
49
50 /// Equivalent to the `--extra-index-url` command-line argument. If set, uv will
51 /// use this space-separated list of URLs as additional indexes when searching for packages.
52 /// (Deprecated: use `UV_INDEX` instead.)
53 #[attr_added_in("0.1.3")]
54 pub const UV_EXTRA_INDEX_URL: &'static str = "UV_EXTRA_INDEX_URL";
55
56 /// Equivalent to the `--find-links` command-line argument. If set, uv will use this
57 /// comma-separated list of additional locations to search for packages.
58 #[attr_added_in("0.4.19")]
59 pub const UV_FIND_LINKS: &'static str = "UV_FIND_LINKS";
60
61 /// Equivalent to the `--no-sources` command-line argument. If set, uv will ignore
62 /// `[tool.uv.sources]` annotations when resolving dependencies.
63 #[attr_added_in("0.9.8")]
64 pub const UV_NO_SOURCES: &'static str = "UV_NO_SOURCES";
65
66 /// Equivalent to the `--cache-dir` command-line argument. If set, uv will use this
67 /// directory for caching instead of the default cache directory.
68 #[attr_added_in("0.0.5")]
69 pub const UV_CACHE_DIR: &'static str = "UV_CACHE_DIR";
70
71 /// The directory for storage of credentials when using a plain text backend.
72 #[attr_added_in("0.8.15")]
73 pub const UV_CREDENTIALS_DIR: &'static str = "UV_CREDENTIALS_DIR";
74
75 /// Equivalent to the `--no-cache` command-line argument. If set, uv will not use the
76 /// cache for any operations.
77 #[attr_added_in("0.1.2")]
78 pub const UV_NO_CACHE: &'static str = "UV_NO_CACHE";
79
80 /// Equivalent to the `--resolution` command-line argument. For example, if set to
81 /// `lowest-direct`, uv will install the lowest compatible versions of all direct dependencies.
82 #[attr_added_in("0.1.27")]
83 pub const UV_RESOLUTION: &'static str = "UV_RESOLUTION";
84
85 /// Equivalent to the `--prerelease` command-line argument. For example, if set to
86 /// `allow`, uv will allow pre-release versions for all dependencies.
87 #[attr_added_in("0.1.16")]
88 pub const UV_PRERELEASE: &'static str = "UV_PRERELEASE";
89
90 /// Equivalent to the `--fork-strategy` argument. Controls version selection during universal
91 /// resolution.
92 #[attr_added_in("0.5.9")]
93 pub const UV_FORK_STRATEGY: &'static str = "UV_FORK_STRATEGY";
94
95 /// Equivalent to the `--system` command-line argument. If set to `true`, uv will
96 /// use the first Python interpreter found in the system `PATH`.
97 ///
98 /// WARNING: `UV_SYSTEM_PYTHON=true` is intended for use in continuous integration (CI)
99 /// or containerized environments and should be used with caution, as modifying the system
100 /// Python can lead to unexpected behavior.
101 #[attr_added_in("0.1.18")]
102 pub const UV_SYSTEM_PYTHON: &'static str = "UV_SYSTEM_PYTHON";
103
104 /// Equivalent to the `--python` command-line argument. If set to a path, uv will use
105 /// this Python interpreter for all operations.
106 #[attr_added_in("0.1.40")]
107 pub const UV_PYTHON: &'static str = "UV_PYTHON";
108
109 /// Equivalent to the `--break-system-packages` command-line argument. If set to `true`,
110 /// uv will allow the installation of packages that conflict with system-installed packages.
111 ///
112 /// WARNING: `UV_BREAK_SYSTEM_PACKAGES=true` is intended for use in continuous integration
113 /// (CI) or containerized environments and should be used with caution, as modifying the system
114 /// Python can lead to unexpected behavior.
115 #[attr_added_in("0.1.32")]
116 pub const UV_BREAK_SYSTEM_PACKAGES: &'static str = "UV_BREAK_SYSTEM_PACKAGES";
117
118 /// Equivalent to the `--native-tls` command-line argument. If set to `true`, uv will
119 /// load TLS certificates from the platform's native certificate store instead of the
120 /// bundled Mozilla root certificates.
121 /// (Deprecated: use `UV_SYSTEM_CERTS` instead.)
122 #[attr_added_in("0.1.19")]
123 pub const UV_NATIVE_TLS: &'static str = "UV_NATIVE_TLS";
124
125 /// Equivalent to the `--system-certs` command-line argument. If set to `true`, uv will
126 /// load TLS certificates from the platform's native certificate store instead of the
127 /// bundled Mozilla root certificates.
128 #[attr_added_in("0.11.0")]
129 pub const UV_SYSTEM_CERTS: &'static str = "UV_SYSTEM_CERTS";
130
131 /// Equivalent to the `--index-strategy` command-line argument.
132 ///
133 /// For example, if set to `unsafe-best-match`, uv will consider versions of a given package
134 /// available across all index URLs, rather than limiting its search to the first index URL
135 /// that contains the package.
136 #[attr_added_in("0.1.29")]
137 pub const UV_INDEX_STRATEGY: &'static str = "UV_INDEX_STRATEGY";
138
139 /// Equivalent to the `--require-hashes` command-line argument. If set to `true`,
140 /// uv will require that all dependencies have a hash specified in the requirements file.
141 #[attr_added_in("0.1.34")]
142 pub const UV_REQUIRE_HASHES: &'static str = "UV_REQUIRE_HASHES";
143
144 /// Require wheel metadata to be fetched with HTTP range requests when separate metadata is
145 /// unavailable. If set to `true`, uv will fail instead of downloading the entire wheel.
146 #[attr_hidden]
147 #[attr_added_in("0.12.8")]
148 pub const UV_REQUIRE_METADATA_RANGE_REQUESTS: &'static str =
149 "UV_REQUIRE_METADATA_RANGE_REQUESTS";
150
151 /// Equivalent to the `--constraints` command-line argument. If set, uv will use this
152 /// file as the constraints file. Uses space-separated list of files.
153 #[attr_added_in("0.1.36")]
154 pub const UV_CONSTRAINT: &'static str = "UV_CONSTRAINT";
155
156 /// Equivalent to the `--build-constraints` command-line argument. If set, uv will use this file
157 /// as constraints for any source distribution builds. Uses space-separated list of files.
158 #[attr_added_in("0.2.34")]
159 pub const UV_BUILD_CONSTRAINT: &'static str = "UV_BUILD_CONSTRAINT";
160
161 /// Equivalent to the `--overrides` command-line argument. If set, uv will use this file
162 /// as the overrides file. Uses space-separated list of files.
163 #[attr_added_in("0.2.22")]
164 pub const UV_OVERRIDE: &'static str = "UV_OVERRIDE";
165
166 /// Equivalent to the `--excludes` command-line argument. If set, uv will use this
167 /// as the excludes file. Uses space-separated list of files.
168 #[attr_added_in("0.9.8")]
169 pub const UV_EXCLUDE: &'static str = "UV_EXCLUDE";
170
171 /// Equivalent to the `--link-mode` command-line argument. If set, uv will use this as
172 /// a link mode.
173 #[attr_added_in("0.1.40")]
174 pub const UV_LINK_MODE: &'static str = "UV_LINK_MODE";
175
176 /// Equivalent to the `--no-build-isolation` command-line argument. If set, uv will
177 /// skip isolation when building source distributions.
178 #[attr_added_in("0.1.40")]
179 pub const UV_NO_BUILD_ISOLATION: &'static str = "UV_NO_BUILD_ISOLATION";
180
181 /// Equivalent to the `--custom-compile-command` command-line argument.
182 ///
183 /// Used to override uv in the output header of the `requirements.txt` files generated by
184 /// `uv pip compile`. Intended for use-cases in which `uv pip compile` is called from within a wrapper
185 /// script, to include the name of the wrapper script in the output file.
186 #[attr_added_in("0.1.23")]
187 pub const UV_CUSTOM_COMPILE_COMMAND: &'static str = "UV_CUSTOM_COMPILE_COMMAND";
188
189 /// Equivalent to the `--keyring-provider` command-line argument. If set, uv
190 /// will use this value as the keyring provider.
191 #[attr_added_in("0.1.19")]
192 pub const UV_KEYRING_PROVIDER: &'static str = "UV_KEYRING_PROVIDER";
193
194 /// Equivalent to the `--config-file` command-line argument. Expects a path to a
195 /// local `uv.toml` file to use as the configuration file.
196 #[attr_added_in("0.1.34")]
197 pub const UV_CONFIG_FILE: &'static str = "UV_CONFIG_FILE";
198
199 /// Equivalent to the `--no-config` command-line argument. If set, uv will not read
200 /// any configuration files from the current directory, parent directories, or user configuration
201 /// directories.
202 #[attr_added_in("0.2.30")]
203 pub const UV_NO_CONFIG: &'static str = "UV_NO_CONFIG";
204
205 /// If set, uv will not read system-level configuration files.
206 #[attr_added_in("0.11.16")]
207 pub const UV_NO_SYSTEM_CONFIG: &'static str = "UV_NO_SYSTEM_CONFIG";
208
209 /// Equivalent to the `--isolated` command-line argument. If set, uv will avoid discovering
210 /// a `pyproject.toml` or `uv.toml` file.
211 #[attr_added_in("0.8.14")]
212 pub const UV_ISOLATED: &'static str = "UV_ISOLATED";
213
214 /// Equivalent to the `--exclude-newer` command-line argument. If set, uv will
215 /// exclude distributions published after the specified date. Set to `false` to disable
216 /// `exclude-newer`.
217 #[attr_added_in("0.2.12")]
218 pub const UV_EXCLUDE_NEWER: &'static str = "UV_EXCLUDE_NEWER";
219
220 /// Whether uv should prefer system or managed Python versions.
221 #[attr_added_in("0.3.2")]
222 pub const UV_PYTHON_PREFERENCE: &'static str = "UV_PYTHON_PREFERENCE";
223
224 /// Require use of uv-managed Python versions.
225 #[attr_added_in("0.6.8")]
226 pub const UV_MANAGED_PYTHON: &'static str = "UV_MANAGED_PYTHON";
227
228 /// Disable use of uv-managed Python versions.
229 #[attr_added_in("0.6.8")]
230 pub const UV_NO_MANAGED_PYTHON: &'static str = "UV_NO_MANAGED_PYTHON";
231
232 /// Equivalent to the
233 /// [`python-downloads`](../reference/settings.md#python-downloads) setting and, when disabled, the
234 /// `--no-python-downloads` option. Whether uv should allow Python downloads.
235 #[attr_added_in("0.3.2")]
236 pub const UV_PYTHON_DOWNLOADS: &'static str = "UV_PYTHON_DOWNLOADS";
237
238 /// Overrides the environment-determined libc on linux systems when filling in the current platform
239 /// within Python version requests. Options are: `gnu`, `gnueabi`, `gnueabihf`, `musl`,
240 /// `musleabi`, `musleabihf`, and `none`.
241 #[attr_added_in("0.7.22")]
242 pub const UV_LIBC: &'static str = "UV_LIBC";
243
244 /// Equivalent to the `--compile-bytecode` command-line argument. If set, uv
245 /// will compile Python source files to bytecode after installation.
246 #[attr_added_in("0.3.3")]
247 pub const UV_COMPILE_BYTECODE: &'static str = "UV_COMPILE_BYTECODE";
248
249 /// Timeout (in seconds) for bytecode compilation.
250 #[attr_added_in("0.7.22")]
251 pub const UV_COMPILE_BYTECODE_TIMEOUT: &'static str = "UV_COMPILE_BYTECODE_TIMEOUT";
252
253 /// Equivalent to the `--no-editable` command-line argument. If set, uv
254 /// installs or exports any editable dependencies, including the project and any workspace
255 /// members, as non-editable.
256 #[attr_added_in("0.6.15")]
257 pub const UV_NO_EDITABLE: &'static str = "UV_NO_EDITABLE";
258
259 /// Equivalent to the `--dev` command-line argument. If set, uv will include
260 /// development dependencies.
261 #[attr_added_in("0.8.7")]
262 pub const UV_DEV: &'static str = "UV_DEV";
263
264 /// Equivalent to the `--no-dev` command-line argument. If set, uv will exclude
265 /// development dependencies.
266 #[attr_added_in("0.8.7")]
267 pub const UV_NO_DEV: &'static str = "UV_NO_DEV";
268
269 /// Equivalent to the `--no-group` command-line argument. If set, uv will disable
270 /// the specified dependency groups for the given space-delimited list of packages.
271 #[attr_added_in("0.9.8")]
272 pub const UV_NO_GROUP: &'static str = "UV_NO_GROUP";
273
274 /// Equivalent to the `--no-default-groups` command-line argument. If set, uv will
275 /// not select the default dependency groups defined in `tool.uv.default-groups`.
276 #[attr_added_in("0.9.9")]
277 pub const UV_NO_DEFAULT_GROUPS: &'static str = "UV_NO_DEFAULT_GROUPS";
278
279 /// Equivalent to the `--no-install-project` command-line argument. If set, uv will
280 /// install the project's dependencies but not the project itself.
281 #[attr_added_in("0.11.20")]
282 pub const UV_NO_INSTALL_PROJECT: &'static str = "UV_NO_INSTALL_PROJECT";
283
284 /// Equivalent to the `--no-install-workspace` command-line argument. If set, uv will
285 /// install workspace dependencies but not workspace members (including the current
286 /// project).
287 #[attr_added_in("0.11.20")]
288 pub const UV_NO_INSTALL_WORKSPACE: &'static str = "UV_NO_INSTALL_WORKSPACE";
289
290 /// Equivalent to the `--no-install-local` command-line argument. If set, uv will skip
291 /// the current project, workspace members, and any other local (path or editable)
292 /// packages, installing only remote dependencies.
293 #[attr_added_in("0.11.20")]
294 pub const UV_NO_INSTALL_LOCAL: &'static str = "UV_NO_INSTALL_LOCAL";
295
296 /// Equivalent to the hidden `--only-install-project` command-line argument.
297 #[attr_hidden]
298 #[attr_added_in("0.11.20")]
299 pub const UV_ONLY_INSTALL_PROJECT: &'static str = "UV_ONLY_INSTALL_PROJECT";
300
301 /// Equivalent to the hidden `--only-install-workspace` command-line argument.
302 #[attr_hidden]
303 #[attr_added_in("0.11.20")]
304 pub const UV_ONLY_INSTALL_WORKSPACE: &'static str = "UV_ONLY_INSTALL_WORKSPACE";
305
306 /// Equivalent to the hidden `--only-install-local` command-line argument.
307 #[attr_hidden]
308 #[attr_added_in("0.11.20")]
309 pub const UV_ONLY_INSTALL_LOCAL: &'static str = "UV_ONLY_INSTALL_LOCAL";
310
311 /// Equivalent to the `--no-binary` command-line argument. If set, uv will install
312 /// all packages from source. The resolver will still use pre-built wheels to
313 /// extract package metadata, if available.
314 #[attr_added_in("0.5.30")]
315 pub const UV_NO_BINARY: &'static str = "UV_NO_BINARY";
316
317 /// Equivalent to the `--no-binary-package` command line argument. If set, uv will
318 /// not use pre-built wheels for the given space-delimited list of packages.
319 #[attr_added_in("0.5.30")]
320 pub const UV_NO_BINARY_PACKAGE: &'static str = "UV_NO_BINARY_PACKAGE";
321
322 /// Equivalent to the `--no-build` command-line argument. If set, uv will not build source
323 /// distributions. First-party packages, such as projects in the workspace, will still be
324 /// built.
325 #[attr_added_in("0.1.40")]
326 pub const UV_NO_BUILD: &'static str = "UV_NO_BUILD";
327
328 /// Equivalent to the `--no-build-package` command line argument. If set, uv will not build
329 /// source distributions for the given space-delimited list of packages. First-party packages,
330 /// such as projects in the workspace, will still be built.
331 #[attr_added_in("0.6.5")]
332 pub const UV_NO_BUILD_PACKAGE: &'static str = "UV_NO_BUILD_PACKAGE";
333
334 /// Equivalent to the `--no-sources-package` command line argument. If set, uv will
335 /// ignore the `tool.uv.sources` table for the given space-delimited list of packages.
336 #[attr_added_in("0.9.26")]
337 pub const UV_NO_SOURCES_PACKAGE: &'static str = "UV_NO_SOURCES_PACKAGE";
338
339 /// Equivalent to the `--publish-url` command-line argument. The URL of the upload
340 /// endpoint of the index to use with `uv publish`.
341 #[attr_added_in("0.4.16")]
342 pub const UV_PUBLISH_URL: &'static str = "UV_PUBLISH_URL";
343
344 /// Equivalent to the `--token` command-line argument in `uv publish`. If set, uv
345 /// will use this token (with the username `__token__`) for publishing.
346 #[attr_added_in("0.4.16")]
347 pub const UV_PUBLISH_TOKEN: &'static str = "UV_PUBLISH_TOKEN";
348
349 /// Equivalent to the `--index` command-line argument in `uv publish`. If
350 /// set, uv will use the index with this name in the configuration for publishing.
351 #[attr_added_in("0.5.8")]
352 pub const UV_PUBLISH_INDEX: &'static str = "UV_PUBLISH_INDEX";
353
354 /// Equivalent to the `--username` command-line argument in `uv publish`. If
355 /// set, uv will use this username for publishing.
356 #[attr_added_in("0.4.16")]
357 pub const UV_PUBLISH_USERNAME: &'static str = "UV_PUBLISH_USERNAME";
358
359 /// Equivalent to the `--password` command-line argument in `uv publish`. If
360 /// set, uv will use this password for publishing.
361 #[attr_added_in("0.4.16")]
362 pub const UV_PUBLISH_PASSWORD: &'static str = "UV_PUBLISH_PASSWORD";
363
364 /// Equivalent to the `--check-url` command-line argument in `uv publish`.
365 /// Don't upload a file if it already exists on the index. The value is the URL of the index.
366 #[attr_added_in("0.4.30")]
367 pub const UV_PUBLISH_CHECK_URL: &'static str = "UV_PUBLISH_CHECK_URL";
368
369 /// Equivalent to the `--no-attestations` command-line argument in `uv publish`. If set,
370 /// uv will skip uploading any collected attestations for the published distributions.
371 #[attr_added_in("0.9.12")]
372 pub const UV_PUBLISH_NO_ATTESTATIONS: &'static str = "UV_PUBLISH_NO_ATTESTATIONS";
373
374 /// Equivalent to the `--no-sync` command-line argument. If set, uv will skip updating
375 /// the environment.
376 #[attr_added_in("0.4.18")]
377 pub const UV_NO_SYNC: &'static str = "UV_NO_SYNC";
378
379 /// Equivalent to the `--locked` command-line argument. If set, uv will assert that the
380 /// `uv.lock` remains unchanged.
381 #[attr_added_in("0.4.25")]
382 pub const UV_LOCKED: &'static str = "UV_LOCKED";
383
384 /// Equivalent to the `--frozen` command-line argument. If set, uv will run without
385 /// updating the `uv.lock` file.
386 #[attr_added_in("0.4.25")]
387 pub const UV_FROZEN: &'static str = "UV_FROZEN";
388
389 /// Equivalent to the `--preview` argument. Enables preview mode.
390 #[attr_added_in("0.1.37")]
391 pub const UV_PREVIEW: &'static str = "UV_PREVIEW";
392
393 /// Equivalent to the `--preview-features` argument. Enables specific preview features.
394 #[attr_added_in("0.8.4")]
395 pub const UV_PREVIEW_FEATURES: &'static str = "UV_PREVIEW_FEATURES";
396
397 /// Equivalent to the `--token` argument for self update. A GitHub token for authentication.
398 #[attr_added_in("0.4.10")]
399 pub const UV_GITHUB_TOKEN: &'static str = "UV_GITHUB_TOKEN";
400
401 /// Equivalent to the `--no-verify-hashes` argument. Disables hash verification for
402 /// `requirements.txt` files.
403 #[attr_added_in("0.5.3")]
404 pub const UV_NO_VERIFY_HASHES: &'static str = "UV_NO_VERIFY_HASHES";
405
406 /// Equivalent to the `--allow-insecure-host` argument.
407 #[attr_added_in("0.3.5")]
408 pub const UV_INSECURE_HOST: &'static str = "UV_INSECURE_HOST";
409
410 /// Disable ZIP validation for streamed wheels and ZIP-based source distributions.
411 ///
412 /// WARNING: Disabling ZIP validation can expose your system to security risks by bypassing
413 /// integrity checks and allowing uv to install potentially malicious ZIP files. If uv rejects
414 /// a ZIP file due to failing validation, it is likely that the file is malformed; consider
415 /// filing an issue with the package maintainer.
416 #[attr_added_in("0.8.6")]
417 pub const UV_INSECURE_NO_ZIP_VALIDATION: &'static str = "UV_INSECURE_NO_ZIP_VALIDATION";
418
419 /// Sets the maximum number of in-flight concurrent downloads that uv will
420 /// perform at any given time.
421 #[attr_added_in("0.1.43")]
422 pub const UV_CONCURRENT_DOWNLOADS: &'static str = "UV_CONCURRENT_DOWNLOADS";
423
424 /// Sets the maximum number of source distributions that uv will build
425 /// concurrently at any given time.
426 #[attr_added_in("0.1.43")]
427 pub const UV_CONCURRENT_BUILDS: &'static str = "UV_CONCURRENT_BUILDS";
428
429 /// Controls the number of threads used when installing and unzipping
430 /// packages.
431 #[attr_added_in("0.1.45")]
432 pub const UV_CONCURRENT_INSTALLS: &'static str = "UV_CONCURRENT_INSTALLS";
433
434 /// Controls the number of threads used to read cached HTTP responses.
435 #[attr_added_in("0.11.29")]
436 pub const UV_CONCURRENT_CACHE_READS: &'static str = "UV_CONCURRENT_CACHE_READS";
437
438 /// Equivalent to the `--no-progress` command-line argument. Disables all progress output. For
439 /// example, spinners and progress bars.
440 #[attr_added_in("0.2.28")]
441 pub const UV_NO_PROGRESS: &'static str = "UV_NO_PROGRESS";
442
443 /// Specifies the directory where uv stores managed tools.
444 #[attr_added_in("0.2.16")]
445 pub const UV_TOOL_DIR: &'static str = "UV_TOOL_DIR";
446
447 /// Specifies the "bin" directory for installing tool executables.
448 #[attr_added_in("0.3.0")]
449 pub const UV_TOOL_BIN_DIR: &'static str = "UV_TOOL_BIN_DIR";
450
451 /// Equivalent to the `--bare` argument for `uv init`. If set, uv will only create a
452 /// `pyproject.toml`.
453 #[attr_added_in("0.10.7")]
454 pub const UV_INIT_BARE: &'static str = "UV_INIT_BARE";
455
456 /// Equivalent to the `--build-backend` argument for `uv init`. Determines the default backend
457 /// to use when creating a new project.
458 #[attr_added_in("0.8.2")]
459 pub const UV_INIT_BUILD_BACKEND: &'static str = "UV_INIT_BUILD_BACKEND";
460
461 /// Specifies the path to the directory to use for a project virtual environment.
462 ///
463 /// See the [project documentation](../concepts/projects/config.md#project-environment-path)
464 /// for more details.
465 #[attr_added_in("0.4.4")]
466 pub const UV_PROJECT_ENVIRONMENT: &'static str = "UV_PROJECT_ENVIRONMENT";
467
468 /// Specifies the directory to place links to installed, managed Python executables.
469 #[attr_added_in("0.4.29")]
470 pub const UV_PYTHON_BIN_DIR: &'static str = "UV_PYTHON_BIN_DIR";
471
472 /// Specifies the directory for storing managed Python installations.
473 #[attr_added_in("0.2.22")]
474 pub const UV_PYTHON_INSTALL_DIR: &'static str = "UV_PYTHON_INSTALL_DIR";
475
476 /// Whether to install the Python executable into the `UV_PYTHON_BIN_DIR` directory.
477 #[attr_added_in("0.8.0")]
478 pub const UV_PYTHON_INSTALL_BIN: &'static str = "UV_PYTHON_INSTALL_BIN";
479
480 /// Whether to install the Python executable into the Windows registry.
481 #[attr_added_in("0.8.0")]
482 pub const UV_PYTHON_INSTALL_REGISTRY: &'static str = "UV_PYTHON_INSTALL_REGISTRY";
483
484 /// Disable use of the Windows registry for Python discovery and registration.
485 ///
486 /// When set, uv will not discover Python interpreters from the Windows registry or Microsoft
487 /// Store locations, and managed Python installations will not be registered in the Windows
488 /// registry.
489 #[attr_added_in("0.11.8")]
490 pub const UV_PYTHON_NO_REGISTRY: &'static str = "UV_PYTHON_NO_REGISTRY";
491
492 /// Managed Python installations information is hardcoded in the `uv` binary.
493 ///
494 /// This variable can be set to a local path or URL pointing to
495 /// a JSON list of Python installations to override the hardcoded list.
496 ///
497 /// This allows customizing the URLs for downloads or using slightly older or newer versions
498 /// of Python than the ones hardcoded into this build of `uv`.
499 #[attr_added_in("0.6.13")]
500 pub const UV_PYTHON_DOWNLOADS_JSON_URL: &'static str = "UV_PYTHON_DOWNLOADS_JSON_URL";
501
502 /// Specifies the directory for caching the archives of managed Python installations before
503 /// installation.
504 #[attr_added_in("0.7.0")]
505 pub const UV_PYTHON_CACHE_DIR: &'static str = "UV_PYTHON_CACHE_DIR";
506
507 /// Managed Python installations are downloaded from the Astral
508 /// [`python-build-standalone`](https://github.com/astral-sh/python-build-standalone) project.
509 ///
510 /// This variable can be set to a mirror URL to use a different source for Python installations.
511 /// The provided URL will replace `https://github.com/astral-sh/python-build-standalone/releases/download` in, e.g.,
512 /// `https://github.com/astral-sh/python-build-standalone/releases/download/20240713/cpython-3.12.4%2B20240713-aarch64-apple-darwin-install_only.tar.gz`.
513 /// Distributions can be read from a local directory by using the `file://` URL scheme.
514 ///
515 /// This more-specific mirror takes precedence over
516 /// [`UV_ASTRAL_MIRROR_URL`](Self::UV_ASTRAL_MIRROR_URL) for CPython downloads.
517 #[attr_added_in("0.2.35")]
518 pub const UV_PYTHON_INSTALL_MIRROR: &'static str = "UV_PYTHON_INSTALL_MIRROR";
519
520 /// Managed PyPy installations are downloaded from [python.org](https://downloads.python.org/).
521 ///
522 /// This variable can be set to a mirror URL to use a
523 /// different source for PyPy installations. The provided URL will replace
524 /// `https://downloads.python.org/pypy` in, e.g.,
525 /// `https://downloads.python.org/pypy/pypy3.8-v7.3.7-osx64.tar.bz2`.
526 /// Distributions can be read from a local directory by using the `file://` URL scheme.
527 #[attr_added_in("0.2.35")]
528 pub const UV_PYPY_INSTALL_MIRROR: &'static str = "UV_PYPY_INSTALL_MIRROR";
529
530 /// Replaces the `https://releases.astral.sh` base URL for all Astral-mirrored
531 /// metadata and artifact downloads.
532 ///
533 /// When set, uv uses only the configured mirror URL and does not fall back to
534 /// GitHub or raw GitHub. Path components in the URL are preserved: only
535 /// trailing slashes are trimmed before appending the normal path suffix
536 /// (e.g., `/github/versions/main/v1/uv.ndjson`).
537 ///
538 /// This is useful for proxy repositories (e.g., Artifactory, Nexus) that
539 /// mirror `releases.astral.sh`.
540 ///
541 /// More-specific sources take precedence:
542 /// [`UV_PYTHON_INSTALL_MIRROR`](Self::UV_PYTHON_INSTALL_MIRROR) and
543 /// `python-install-mirror` override this variable for CPython downloads, while
544 /// [`UV_INSTALLER_GITHUB_BASE_URL`](Self::UV_INSTALLER_GITHUB_BASE_URL) and
545 /// [`UV_INSTALLER_GHE_BASE_URL`](Self::UV_INSTALLER_GHE_BASE_URL) override this
546 /// variable for `uv self update`.
547 #[attr_added_in("0.11.14")]
548 pub(crate) const UV_ASTRAL_MIRROR_URL: &'static str = "UV_ASTRAL_MIRROR_URL";
549
550 /// Pin managed CPython versions to a specific build version.
551 ///
552 /// For CPython, this should be the build date (e.g., "20250814").
553 #[attr_added_in("0.8.14")]
554 pub const UV_PYTHON_CPYTHON_BUILD: &'static str = "UV_PYTHON_CPYTHON_BUILD";
555
556 /// Pin managed PyPy versions to a specific build version.
557 ///
558 /// For PyPy, this should be the PyPy version (e.g., "7.3.20").
559 #[attr_added_in("0.8.14")]
560 pub const UV_PYTHON_PYPY_BUILD: &'static str = "UV_PYTHON_PYPY_BUILD";
561
562 /// Pin managed GraalPy versions to a specific build version.
563 ///
564 /// For GraalPy, this should be the GraalPy version (e.g., "24.2.2").
565 #[attr_added_in("0.8.14")]
566 pub const UV_PYTHON_GRAALPY_BUILD: &'static str = "UV_PYTHON_GRAALPY_BUILD";
567
568 /// Pin managed Pyodide versions to a specific build version.
569 ///
570 /// For Pyodide, this should be the Pyodide version (e.g., "0.28.1").
571 #[attr_added_in("0.8.14")]
572 pub const UV_PYTHON_PYODIDE_BUILD: &'static str = "UV_PYTHON_PYODIDE_BUILD";
573
574 /// Equivalent to the `--clear` command-line argument. If set, uv will remove any
575 /// existing files or directories at the target path.
576 #[attr_added_in("0.8.0")]
577 pub const UV_VENV_CLEAR: &'static str = "UV_VENV_CLEAR";
578
579 /// Equivalent to the `--relocatable` command-line argument. If set, the virtual
580 /// environment will be relocatable.
581 #[attr_added_in("0.10.8")]
582 pub const UV_VENV_RELOCATABLE: &'static str = "UV_VENV_RELOCATABLE";
583
584 /// Install seed packages (one or more of: `pip`, `setuptools`, and `wheel`) into the virtual environment
585 /// created by `uv venv`.
586 ///
587 /// Note that `setuptools` and `wheel` are not included in Python 3.12+ environments.
588 #[attr_added_in("0.5.21")]
589 pub const UV_VENV_SEED: &'static str = "UV_VENV_SEED";
590
591 /// Used to override `PATH` for Python executable discovery.
592 ///
593 /// When set, uv will search for Python interpreters in the directories specified by this
594 /// variable instead of `PATH`.
595 #[attr_added_in("0.11.8")]
596 pub const UV_PYTHON_SEARCH_PATH: &'static str = "UV_PYTHON_SEARCH_PATH";
597
598 /// Include resolver and installer output related to environment modifications.
599 #[attr_hidden]
600 #[attr_added_in("0.2.32")]
601 pub const UV_SHOW_RESOLUTION: &'static str = "UV_SHOW_RESOLUTION";
602
603 /// Use to update the json schema files.
604 #[attr_hidden]
605 #[attr_added_in("0.1.34")]
606 pub const UV_UPDATE_SCHEMA: &'static str = "UV_UPDATE_SCHEMA";
607
608 /// Use to disable line wrapping for diagnostics.
609 #[attr_added_in("0.0.5")]
610 pub const UV_NO_WRAP: &'static str = "UV_NO_WRAP";
611
612 /// Set to `1` to enable the automatic malware check that runs after `uv sync`.
613 ///
614 /// When enabled, uv performs a lightweight check against the OSV database for known
615 /// malware advisories after every lockfile sync. Set this variable to `0` to opt out.
616 #[attr_added_in("0.11.16")]
617 pub const UV_MALWARE_CHECK: &'static str = "UV_MALWARE_CHECK";
618
619 /// Override the vulnerability service URL for the automatic malware check.
620 ///
621 /// Defaults to the OSV API endpoint (`https://api.osv.dev/`).
622 #[attr_added_in("0.11.16")]
623 pub const UV_MALWARE_CHECK_URL: &'static str = "UV_MALWARE_CHECK_URL";
624
625 /// Provides the HTTP Basic authentication username for a named index.
626 ///
627 /// The `name` parameter is the name of the index. For example, given an index named `foo`,
628 /// the environment variable key would be `UV_INDEX_FOO_USERNAME`.
629 #[attr_added_in("0.4.23")]
630 #[attr_env_var_pattern("UV_INDEX_{name}_USERNAME")]
631 pub fn index_username(name: &str) -> String {
632 format!("UV_INDEX_{name}_USERNAME")
633 }
634
635 /// Provides the HTTP Basic authentication password for a named index.
636 ///
637 /// The `name` parameter is the name of the index. For example, given an index named `foo`,
638 /// the environment variable key would be `UV_INDEX_FOO_PASSWORD`.
639 #[attr_added_in("0.4.23")]
640 #[attr_env_var_pattern("UV_INDEX_{name}_PASSWORD")]
641 pub fn index_password(name: &str) -> String {
642 format!("UV_INDEX_{name}_PASSWORD")
643 }
644
645 /// Used to set the uv commit hash at build time via `build.rs`.
646 #[attr_hidden]
647 #[attr_added_in("0.1.11")]
648 pub const UV_COMMIT_HASH: &'static str = "UV_COMMIT_HASH";
649
650 /// Used to set the uv commit short hash at build time via `build.rs`.
651 #[attr_hidden]
652 #[attr_added_in("0.1.11")]
653 pub const UV_COMMIT_SHORT_HASH: &'static str = "UV_COMMIT_SHORT_HASH";
654
655 /// Used to set the uv commit date at build time via `build.rs`.
656 #[attr_hidden]
657 #[attr_added_in("0.1.11")]
658 pub const UV_COMMIT_DATE: &'static str = "UV_COMMIT_DATE";
659
660 /// Used to set the uv tag at build time via `build.rs`.
661 #[attr_hidden]
662 #[attr_added_in("0.1.11")]
663 pub const UV_LAST_TAG: &'static str = "UV_LAST_TAG";
664
665 /// Used to set the uv tag distance from head at build time via `build.rs`.
666 #[attr_hidden]
667 #[attr_added_in("0.1.11")]
668 pub const UV_LAST_TAG_DISTANCE: &'static str = "UV_LAST_TAG_DISTANCE";
669
670 /// Used to set the spawning/parent interpreter when using --system in the test suite.
671 #[attr_hidden]
672 #[attr_added_in("0.2.0")]
673 pub const UV_INTERNAL__PARENT_INTERPRETER: &'static str = "UV_INTERNAL__PARENT_INTERPRETER";
674
675 /// Used to identify the source tree when invoking PEP 517 build hooks.
676 #[attr_hidden]
677 #[attr_added_in("0.11.22")]
678 pub const UV_INTERNAL__BUILD_DIR: &'static str = "UV_INTERNAL__BUILD_DIR";
679
680 /// Used to force showing the derivation tree during resolver error reporting.
681 #[attr_hidden]
682 #[attr_added_in("0.3.0")]
683 pub const UV_INTERNAL__SHOW_DERIVATION_TREE: &'static str = "UV_INTERNAL__SHOW_DERIVATION_TREE";
684
685 /// Used to set a temporary directory for some tests.
686 #[attr_hidden]
687 #[attr_added_in("0.3.4")]
688 pub const UV_INTERNAL__TEST_DIR: &'static str = "UV_INTERNAL__TEST_DIR";
689
690 /// Path to a directory on a filesystem that supports copy-on-write, e.g., btrfs or APFS.
691 ///
692 /// When populated, uv will run additional tests that require this functionality.
693 #[attr_hidden]
694 #[attr_added_in("0.10.5")]
695 pub const UV_INTERNAL__TEST_COW_FS: &'static str = "UV_INTERNAL__TEST_COW_FS";
696
697 /// Path to a directory on a filesystem that does **not** support copy-on-write.
698 ///
699 /// When populated, uv will run additional tests that verify fallback behavior
700 /// when copy-on-write is unavailable.
701 #[attr_hidden]
702 #[attr_added_in("0.10.5")]
703 pub const UV_INTERNAL__TEST_NOCOW_FS: &'static str = "UV_INTERNAL__TEST_NOCOW_FS";
704
705 /// Path to a directory on an alternative filesystem for testing.
706 ///
707 /// This filesystem must be a different device than the default for the test suite.
708 ///
709 /// When populated, uv will run additional tests that cover cross-filesystem linking.
710 #[attr_hidden]
711 #[attr_added_in("0.10.5")]
712 pub const UV_INTERNAL__TEST_ALT_FS: &'static str = "UV_INTERNAL__TEST_ALT_FS";
713
714 /// Network path to a directory on an SMB filesystem for testing.
715 ///
716 /// When populated, uv will run additional tests that cover SMB-specific filesystem behavior.
717 #[attr_hidden]
718 #[attr_added_in("0.11.16")]
719 pub const UV_INTERNAL__TEST_SMB_FS: &'static str = "UV_INTERNAL__TEST_SMB_FS";
720
721 /// Path to a directory on a filesystem with a low hardlink limit (e.g., minix with ~250).
722 ///
723 /// When populated, uv will run additional tests that exercise EMLINK recovery.
724 #[attr_hidden]
725 #[attr_added_in("0.10.9")]
726 pub const UV_INTERNAL__TEST_LOWLINKS_FS: &'static str = "UV_INTERNAL__TEST_LOWLINKS_FS";
727
728 /// Used to force treating an interpreter as "managed" during tests.
729 #[attr_hidden]
730 #[attr_added_in("0.8.0")]
731 pub const UV_INTERNAL__TEST_PYTHON_MANAGED: &'static str = "UV_INTERNAL__TEST_PYTHON_MANAGED";
732
733 /// Used to force ignoring Git LFS commands as `git-lfs` detection cannot be overridden via PATH.
734 #[attr_hidden]
735 #[attr_added_in("0.9.15")]
736 pub const UV_INTERNAL__TEST_LFS_DISABLED: &'static str = "UV_INTERNAL__TEST_LFS_DISABLED";
737
738 /// Path to system-level configuration directory on Unix systems.
739 #[attr_added_in("0.4.26")]
740 pub const XDG_CONFIG_DIRS: &'static str = "XDG_CONFIG_DIRS";
741
742 /// Path to system-level configuration directory on Windows systems.
743 #[attr_added_in("0.4.26")]
744 pub const SYSTEMDRIVE: &'static str = "SYSTEMDRIVE";
745
746 /// Path to user-level configuration directory on Windows systems.
747 #[attr_added_in("0.1.42")]
748 pub const APPDATA: &'static str = "APPDATA";
749
750 /// Path to root directory of user's profile on Windows systems.
751 #[attr_added_in("0.0.5")]
752 pub const USERPROFILE: &'static str = "USERPROFILE";
753
754 /// Path to user-level configuration directory on Unix systems.
755 #[attr_added_in("0.1.34")]
756 pub const XDG_CONFIG_HOME: &'static str = "XDG_CONFIG_HOME";
757
758 /// Path to cache directory on Unix systems.
759 #[attr_added_in("0.1.17")]
760 pub const XDG_CACHE_HOME: &'static str = "XDG_CACHE_HOME";
761
762 /// Path to directory for storing managed Python installations and tools.
763 #[attr_added_in("0.2.16")]
764 pub const XDG_DATA_HOME: &'static str = "XDG_DATA_HOME";
765
766 /// Path to directory where executables are installed.
767 #[attr_added_in("0.2.16")]
768 pub const XDG_BIN_HOME: &'static str = "XDG_BIN_HOME";
769
770 /// Path to a CA certificate bundle file for TLS connections.
771 ///
772 /// Requires a PEM-encoded certificate file (e.g., `certs.pem`, `ca-bundle.crt`). DER-encoded
773 /// files are not supported.
774 ///
775 /// When set, this overrides the default certificate source (bundled Mozilla roots or system
776 /// certificates). Only the certificates in this file will be trusted.
777 #[attr_added_in("0.1.14")]
778 pub const SSL_CERT_FILE: &'static str = "SSL_CERT_FILE";
779
780 /// Path to a directory containing PEM-encoded CA certificate files for TLS connections.
781 ///
782 /// Multiple entries are supported, separated using a platform-specific delimiter (`:` on Unix,
783 /// `;` on Windows).
784 ///
785 /// Certificates are usually stored with `.pem`, `.crt`, or `.cer` extensions, but uv will
786 /// attempt to read a certificate from any regular file in the provided `SSL_CERT_DIR`.
787 ///
788 /// Files that cannot be parsed as PEM certificates are ignored. uv resolves symlinks and
789 /// ignores dangling symlinks.
790 ///
791 /// Only PEM-encoded files are supported, i.e., DER-encoded files are not supported.
792 ///
793 /// When set, this overrides the default certificate source (bundled Mozilla roots or system
794 /// certificates). Only the certificates in this directory will be trusted.
795 #[attr_added_in("0.9.10")]
796 pub const SSL_CERT_DIR: &'static str = "SSL_CERT_DIR";
797
798 /// If set, uv will use this file for mTLS authentication.
799 /// This should be a single file containing both the certificate and the private key in PEM format.
800 #[attr_added_in("0.2.11")]
801 pub const SSL_CLIENT_CERT: &'static str = "SSL_CLIENT_CERT";
802
803 /// Proxy for HTTP requests.
804 #[attr_added_in("0.1.38")]
805 pub const HTTP_PROXY: &'static str = "HTTP_PROXY";
806
807 /// Proxy for HTTPS requests.
808 #[attr_added_in("0.1.38")]
809 pub const HTTPS_PROXY: &'static str = "HTTPS_PROXY";
810
811 /// General proxy for all network requests.
812 #[attr_added_in("0.1.38")]
813 pub const ALL_PROXY: &'static str = "ALL_PROXY";
814
815 /// Comma-separated list of hostnames (e.g., `example.com`) and/or patterns (e.g., `192.168.1.0/24`) that should bypass the proxy.
816 #[attr_added_in("0.1.38")]
817 pub const NO_PROXY: &'static str = "NO_PROXY";
818
819 /// Timeout (in seconds) for only upload HTTP requests. (default: 900 s)
820 #[attr_added_in("0.9.1")]
821 pub const UV_UPLOAD_HTTP_TIMEOUT: &'static str = "UV_UPLOAD_HTTP_TIMEOUT";
822
823 /// Timeout (in seconds) for HTTP reads. (default: 30 s)
824 #[attr_added_in("0.1.7")]
825 pub const UV_HTTP_TIMEOUT: &'static str = "UV_HTTP_TIMEOUT";
826
827 /// Timeout (in seconds) to connect to a server. (default: 10 s)
828 ///
829 /// If `UV_HTTP_TIMEOUT` is lower than this value, `UV_HTTP_TIMEOUT` will be used instead.
830 #[attr_added_in("0.10.0")]
831 pub const UV_HTTP_CONNECT_TIMEOUT: &'static str = "UV_HTTP_CONNECT_TIMEOUT";
832
833 /// The number of retries for HTTP requests. (default: 3)
834 #[attr_added_in("0.7.21")]
835 pub const UV_HTTP_RETRIES: &'static str = "UV_HTTP_RETRIES";
836
837 /// Timeout (in seconds) for HTTP requests. Equivalent to `UV_HTTP_TIMEOUT`.
838 #[attr_added_in("0.1.6")]
839 pub const UV_REQUEST_TIMEOUT: &'static str = "UV_REQUEST_TIMEOUT";
840
841 /// Timeout (in seconds) for HTTP requests. Equivalent to `UV_HTTP_TIMEOUT`.
842 #[attr_added_in("0.1.7")]
843 pub const HTTP_TIMEOUT: &'static str = "HTTP_TIMEOUT";
844
845 /// The validation modes to use when run with `--compile`.
846 ///
847 /// See [`PycInvalidationMode`](https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode).
848 #[attr_added_in("0.1.7")]
849 pub const PYC_INVALIDATION_MODE: &'static str = "PYC_INVALIDATION_MODE";
850
851 /// Used to detect an activated virtual environment.
852 #[attr_added_in("0.0.5")]
853 pub const VIRTUAL_ENV: &'static str = "VIRTUAL_ENV";
854
855 /// Used to detect the path of an active Conda environment.
856 #[attr_added_in("0.0.5")]
857 pub const CONDA_PREFIX: &'static str = "CONDA_PREFIX";
858
859 /// Used to determine the name of the active Conda environment.
860 #[attr_added_in("0.5.0")]
861 pub const CONDA_DEFAULT_ENV: &'static str = "CONDA_DEFAULT_ENV";
862
863 /// Used to determine the root install path of Conda.
864 #[attr_added_in("0.8.18")]
865 pub const CONDA_ROOT: &'static str = "_CONDA_ROOT";
866
867 /// Used to determine if we're running in Dependabot.
868 #[attr_added_in("0.9.11")]
869 pub const DEPENDABOT: &'static str = "DEPENDABOT";
870
871 /// If set to `1` before a virtual environment is activated, then the
872 /// virtual environment name will not be prepended to the terminal prompt.
873 #[attr_added_in("0.0.5")]
874 pub const VIRTUAL_ENV_DISABLE_PROMPT: &'static str = "VIRTUAL_ENV_DISABLE_PROMPT";
875
876 /// Used to detect the use of the Windows Command Prompt (as opposed to PowerShell).
877 #[attr_added_in("0.1.16")]
878 pub const PROMPT: &'static str = "PROMPT";
879
880 /// Used to detect `NuShell` usage.
881 #[attr_added_in("0.1.16")]
882 pub const NU_VERSION: &'static str = "NU_VERSION";
883
884 /// Used to detect Fish shell usage.
885 #[attr_added_in("0.1.28")]
886 pub const FISH_VERSION: &'static str = "FISH_VERSION";
887
888 /// Used to detect Bash shell usage.
889 #[attr_added_in("0.1.28")]
890 pub const BASH_VERSION: &'static str = "BASH_VERSION";
891
892 /// Used to detect Zsh shell usage.
893 #[attr_added_in("0.1.28")]
894 pub const ZSH_VERSION: &'static str = "ZSH_VERSION";
895
896 /// Used to determine which `.zshenv` to use when Zsh is being used.
897 #[attr_added_in("0.2.25")]
898 pub const ZDOTDIR: &'static str = "ZDOTDIR";
899
900 /// Used to detect Ksh shell usage.
901 #[attr_added_in("0.2.33")]
902 pub const KSH_VERSION: &'static str = "KSH_VERSION";
903
904 /// Used to detect PowerShell usage (set by PowerShell on all platforms).
905 #[attr_added_in("0.10.0")]
906 pub const PS_MODULE_PATH: &'static str = "PSModulePath";
907
908 /// Used with `--python-platform macos` and related variants to set the
909 /// deployment target (i.e., the minimum supported macOS version).
910 ///
911 /// Defaults to `13.0`, the least-recent non-EOL macOS version at time of writing.
912 #[attr_added_in("0.1.42")]
913 pub const MACOSX_DEPLOYMENT_TARGET: &'static str = "MACOSX_DEPLOYMENT_TARGET";
914
915 /// Used with `--python-platform arm64-apple-ios` and related variants to set the
916 /// deployment target (i.e., the minimum supported iOS version).
917 ///
918 /// Defaults to `13.0`.
919 #[attr_added_in("0.8.16")]
920 pub const IPHONEOS_DEPLOYMENT_TARGET: &'static str = "IPHONEOS_DEPLOYMENT_TARGET";
921
922 /// Used with `--python-platform aarch64-linux-android` and related variants to set the
923 /// Android API level. (i.e., the minimum supported Android API level).
924 ///
925 /// Defaults to `24`.
926 #[attr_added_in("0.8.16")]
927 pub const ANDROID_API_LEVEL: &'static str = "ANDROID_API_LEVEL";
928
929 /// Disables colored output (takes precedence over `FORCE_COLOR`).
930 ///
931 /// See [no-color.org](https://no-color.org).
932 #[attr_added_in("0.2.7")]
933 pub const NO_COLOR: &'static str = "NO_COLOR";
934
935 /// Forces colored output regardless of terminal support.
936 ///
937 /// See [force-color.org](https://force-color.org).
938 #[attr_added_in("0.2.7")]
939 pub const FORCE_COLOR: &'static str = "FORCE_COLOR";
940
941 /// Use to control color via `anstyle`.
942 #[attr_added_in("0.1.32")]
943 pub const CLICOLOR_FORCE: &'static str = "CLICOLOR_FORCE";
944
945 /// The standard `PATH` env var.
946 #[attr_added_in("0.0.5")]
947 pub const PATH: &'static str = "PATH";
948
949 /// The standard `HOME` env var.
950 #[attr_added_in("0.0.5")]
951 pub const HOME: &'static str = "HOME";
952
953 /// The standard `SHELL` posix env var.
954 #[attr_added_in("0.1.16")]
955 pub const SHELL: &'static str = "SHELL";
956
957 /// The standard `PWD` posix env var.
958 #[attr_added_in("0.0.5")]
959 pub const PWD: &'static str = "PWD";
960
961 /// Used to look for Microsoft Store Pythons installations.
962 #[attr_added_in("0.3.3")]
963 pub const LOCALAPPDATA: &'static str = "LOCALAPPDATA";
964
965 /// Path to the `.git` directory. Ignored by `uv` when performing fetch.
966 #[attr_hidden]
967 #[attr_added_in("0.0.5")]
968 pub const GIT_DIR: &'static str = "GIT_DIR";
969
970 /// Path to the git working tree. Ignored by `uv` when performing fetch.
971 #[attr_hidden]
972 #[attr_added_in("0.0.5")]
973 pub const GIT_WORK_TREE: &'static str = "GIT_WORK_TREE";
974
975 /// Path to the index file for staged changes. Ignored by `uv` when performing fetch.
976 #[attr_hidden]
977 #[attr_added_in("0.0.5")]
978 pub const GIT_INDEX_FILE: &'static str = "GIT_INDEX_FILE";
979
980 /// Path to where git object files are located. Ignored by `uv` when performing fetch.
981 #[attr_hidden]
982 #[attr_added_in("0.0.5")]
983 pub const GIT_OBJECT_DIRECTORY: &'static str = "GIT_OBJECT_DIRECTORY";
984
985 /// Alternate locations for git objects. Ignored by `uv` when performing fetch.
986 #[attr_hidden]
987 #[attr_added_in("0.0.5")]
988 pub const GIT_ALTERNATE_OBJECT_DIRECTORIES: &'static str = "GIT_ALTERNATE_OBJECT_DIRECTORIES";
989
990 /// Disables SSL verification for git operations.
991 #[attr_hidden]
992 #[attr_added_in("0.5.28")]
993 pub const GIT_SSL_NO_VERIFY: &'static str = "GIT_SSL_NO_VERIFY";
994
995 /// Sets allowed protocols for git operations.
996 ///
997 /// When uv is in "offline" mode, only the "file" protocol is allowed.
998 #[attr_hidden]
999 #[attr_added_in("0.6.13")]
1000 pub const GIT_ALLOW_PROTOCOL: &'static str = "GIT_ALLOW_PROTOCOL";
1001
1002 /// Sets the SSH command used when Git tries to establish a connection using SSH.
1003 #[attr_hidden]
1004 #[attr_added_in("0.7.11")]
1005 pub const GIT_SSH_COMMAND: &'static str = "GIT_SSH_COMMAND";
1006
1007 /// Disable interactive git prompts in terminals, e.g., for credentials. Does not disable
1008 /// GUI prompts.
1009 #[attr_hidden]
1010 #[attr_added_in("0.6.4")]
1011 pub const GIT_TERMINAL_PROMPT: &'static str = "GIT_TERMINAL_PROMPT";
1012
1013 /// Skip Smudge LFS Filter.
1014 #[attr_hidden]
1015 #[attr_added_in("0.9.15")]
1016 pub const GIT_LFS_SKIP_SMUDGE: &'static str = "GIT_LFS_SKIP_SMUDGE";
1017
1018 /// Used in tests to set the user global git config location.
1019 #[attr_hidden]
1020 #[attr_added_in("0.9.15")]
1021 pub const GIT_CONFIG_GLOBAL: &'static str = "GIT_CONFIG_GLOBAL";
1022
1023 /// Used in tests for better git isolation.
1024 ///
1025 /// For example, we run some tests in ~/.local/share/uv/tests.
1026 /// And if the user's `$HOME` directory is a git repository,
1027 /// this will change the behavior of some tests. Setting
1028 /// `GIT_CEILING_DIRECTORIES=/home/andrew/.local/share/uv/tests` will
1029 /// prevent git from crawling up the directory tree past that point to find
1030 /// parent git repositories.
1031 #[attr_hidden]
1032 #[attr_added_in("0.4.29")]
1033 pub const GIT_CEILING_DIRECTORIES: &'static str = "GIT_CEILING_DIRECTORIES";
1034
1035 /// Cleared for uv's git invocations to ensure git behaves correctly in
1036 /// spite of an odd environment.
1037 #[attr_hidden]
1038 #[attr_added_in("0.11.8")]
1039 pub const GIT_COMMON_DIR: &'static str = "GIT_COMMON_DIR";
1040
1041 /// Indicates that the current process is running in GitHub Actions.
1042 ///
1043 /// `uv publish` may attempt trusted publishing flows when set
1044 /// to `true`.
1045 #[attr_added_in("0.4.16")]
1046 pub const GITHUB_ACTIONS: &'static str = "GITHUB_ACTIONS";
1047
1048 /// Indicates that the current process is running in GitLab CI.
1049 ///
1050 /// `uv publish` may attempt trusted publishing flows when set
1051 /// to `true`.
1052 #[attr_added_in("0.8.18")]
1053 pub const GITLAB_CI: &'static str = "GITLAB_CI";
1054
1055 /// Used for testing GitLab CI trusted publishing.
1056 #[attr_hidden]
1057 #[attr_added_in("0.8.18")]
1058 pub const PYPI_ID_TOKEN: &'static str = "PYPI_ID_TOKEN";
1059
1060 /// Used for testing GitLab CI trusted publishing.
1061 #[attr_hidden]
1062 #[attr_added_in("0.8.18")]
1063 pub const TESTPYPI_ID_TOKEN: &'static str = "TESTPYPI_ID_TOKEN";
1064
1065 /// Sets the encoding for standard I/O streams (e.g., PYTHONIOENCODING=utf-8).
1066 #[attr_hidden]
1067 #[attr_added_in("0.4.18")]
1068 pub const PYTHONIOENCODING: &'static str = "PYTHONIOENCODING";
1069
1070 /// Forces unbuffered I/O streams, equivalent to `-u` in Python.
1071 #[attr_hidden]
1072 #[attr_added_in("0.1.15")]
1073 pub const PYTHONUNBUFFERED: &'static str = "PYTHONUNBUFFERED";
1074
1075 /// Enables UTF-8 mode for Python, equivalent to `-X utf8`.
1076 #[attr_hidden]
1077 #[attr_added_in("0.4.19")]
1078 pub const PYTHONUTF8: &'static str = "PYTHONUTF8";
1079
1080 /// Adds directories to Python module search path (e.g., `PYTHONPATH=/path/to/modules`).
1081 #[attr_added_in("0.1.22")]
1082 pub const PYTHONPATH: &'static str = "PYTHONPATH";
1083
1084 /// Used to set the location of Python stdlib when using trampolines.
1085 #[attr_hidden]
1086 #[attr_added_in("0.7.13")]
1087 pub const PYTHONHOME: &'static str = "PYTHONHOME";
1088
1089 /// Overrides the executable Python uses to determine its environment.
1090 #[attr_hidden]
1091 #[attr_added_in("0.12.4")]
1092 pub const PYTHONEXECUTABLE: &'static str = "PYTHONEXECUTABLE";
1093
1094 /// Used to correctly detect virtual environments when using trampolines.
1095 #[attr_hidden]
1096 #[attr_added_in("0.7.13")]
1097 pub const PYVENV_LAUNCHER: &'static str = "__PYVENV_LAUNCHER__";
1098
1099 /// Used in tests to enforce a consistent locale setting.
1100 #[attr_hidden]
1101 #[attr_added_in("0.4.28")]
1102 pub const LC_ALL: &'static str = "LC_ALL";
1103
1104 /// Typically set by CI runners, used to detect a CI runner.
1105 #[attr_hidden]
1106 #[attr_added_in("0.0.5")]
1107 pub const CI: &'static str = "CI";
1108
1109 /// Azure DevOps build identifier, used to detect CI environments.
1110 #[attr_hidden]
1111 #[attr_added_in("0.1.22")]
1112 pub const BUILD_BUILDID: &'static str = "BUILD_BUILDID";
1113
1114 /// Generic build identifier, used to detect CI environments.
1115 #[attr_hidden]
1116 #[attr_added_in("0.1.22")]
1117 pub const BUILD_ID: &'static str = "BUILD_ID";
1118
1119 /// Pip environment variable to indicate CI environment.
1120 #[attr_hidden]
1121 #[attr_added_in("0.1.22")]
1122 pub const PIP_IS_CI: &'static str = "PIP_IS_CI";
1123
1124 /// Use to set the .netrc file location.
1125 #[attr_added_in("0.1.16")]
1126 pub const NETRC: &'static str = "NETRC";
1127
1128 /// The standard `PAGER` posix env var. Used by `uv` to configure the appropriate pager.
1129 #[attr_added_in("0.4.18")]
1130 pub const PAGER: &'static str = "PAGER";
1131
1132 /// Used to detect when running inside a Jupyter notebook.
1133 #[attr_added_in("0.2.6")]
1134 pub const JPY_SESSION_NAME: &'static str = "JPY_SESSION_NAME";
1135
1136 /// Use to create the tracing root directory via the `tracing-durations-export` feature.
1137 #[attr_hidden]
1138 #[attr_added_in("0.1.32")]
1139 pub const TRACING_DURATIONS_TEST_ROOT: &'static str = "TRACING_DURATIONS_TEST_ROOT";
1140
1141 /// Use to create the tracing durations file via the `tracing-durations-export` feature.
1142 #[attr_added_in("0.0.5")]
1143 pub const TRACING_DURATIONS_FILE: &'static str = "TRACING_DURATIONS_FILE";
1144
1145 /// Used to set `RUST_HOST_TARGET` at build time via `build.rs`.
1146 #[attr_hidden]
1147 #[attr_added_in("0.1.11")]
1148 pub const TARGET: &'static str = "TARGET";
1149
1150 /// If set, uv will use this value as the log level for its `--verbose` output. Accepts
1151 /// any filter compatible with the `tracing_subscriber` crate.
1152 ///
1153 /// For example:
1154 ///
1155 /// * `RUST_LOG=uv=debug` is the equivalent of adding `--verbose` to the command line
1156 /// * `RUST_LOG=trace` will enable trace-level logging.
1157 ///
1158 /// See the [tracing documentation](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#example-syntax)
1159 /// for more.
1160 #[attr_added_in("0.0.5")]
1161 pub const RUST_LOG: &'static str = "RUST_LOG";
1162
1163 /// If set, it can be used to display more stack trace details when a panic occurs.
1164 /// This is used by uv particularly on windows to show more details during a platform exception.
1165 ///
1166 /// For example:
1167 ///
1168 /// * `RUST_BACKTRACE=1` will print a short backtrace.
1169 /// * `RUST_BACKTRACE=full` will print a full backtrace.
1170 ///
1171 /// See the [Rust backtrace documentation](https://doc.rust-lang.org/std/backtrace/index.html)
1172 /// for more.
1173 #[attr_added_in("0.7.22")]
1174 pub const RUST_BACKTRACE: &'static str = "RUST_BACKTRACE";
1175
1176 /// Add additional context and structure to log messages.
1177 ///
1178 /// If logging is not enabled, e.g., with `RUST_LOG` or `-v`, this has no effect.
1179 #[attr_added_in("0.6.4")]
1180 pub const UV_LOG_CONTEXT: &'static str = "UV_LOG_CONTEXT";
1181
1182 /// Use to set the stack size used by uv.
1183 ///
1184 /// The value is in bytes, and if both `UV_STACK_SIZE` are `RUST_MIN_STACK` unset, uv uses a 4MB
1185 /// (4194304) stack. `UV_STACK_SIZE` takes precedence over `RUST_MIN_STACK`.
1186 ///
1187 /// Unlike the normal `RUST_MIN_STACK` semantics, this can affect main thread
1188 /// stack size, because we actually spawn our own main2 thread to work around
1189 /// the fact that Windows' real main thread is only 1MB. That thread has size
1190 /// `max(UV_STACK_SIZE, 1MB)`.
1191 #[attr_added_in("0.0.5")]
1192 pub const UV_STACK_SIZE: &'static str = "UV_STACK_SIZE";
1193
1194 /// Use to set the stack size used by uv.
1195 ///
1196 /// The value is in bytes, and if both `UV_STACK_SIZE` are `RUST_MIN_STACK` unset, uv uses a 4MB
1197 /// (4194304) stack. `UV_STACK_SIZE` takes precedence over `RUST_MIN_STACK`.
1198 ///
1199 /// Prefer setting `UV_STACK_SIZE`, since `RUST_MIN_STACK` also affects subprocesses, such as
1200 /// build backends that use Rust code.
1201 ///
1202 /// Unlike the normal `RUST_MIN_STACK` semantics, this can affect main thread
1203 /// stack size, because we actually spawn our own main2 thread to work around
1204 /// the fact that Windows' real main thread is only 1MB. That thread has size
1205 /// `max(RUST_MIN_STACK, 1MB)`.
1206 #[attr_added_in("0.5.19")]
1207 pub const RUST_MIN_STACK: &'static str = "RUST_MIN_STACK";
1208
1209 /// The directory containing the `Cargo.toml` manifest for a package.
1210 #[attr_hidden]
1211 #[attr_added_in("0.1.11")]
1212 pub const CARGO_MANIFEST_DIR: &'static str = "CARGO_MANIFEST_DIR";
1213
1214 /// Specifies the directory where Cargo stores build artifacts (target directory).
1215 #[attr_hidden]
1216 #[attr_added_in("0.0.5")]
1217 pub const CARGO_TARGET_DIR: &'static str = "CARGO_TARGET_DIR";
1218
1219 /// Set by cargo when compiling for Windows-like platforms.
1220 #[attr_hidden]
1221 #[attr_added_in("0.0.5")]
1222 pub const CARGO_CFG_WINDOWS: &'static str = "CARGO_CFG_WINDOWS";
1223
1224 /// Specifies the directory where Cargo stores intermediate build artifacts.
1225 #[attr_hidden]
1226 #[attr_added_in("0.8.25")]
1227 pub const OUT_DIR: &'static str = "OUT_DIR";
1228
1229 /// Used in tests for environment substitution testing in `requirements.in`.
1230 #[attr_hidden]
1231 #[attr_added_in("0.1.18")]
1232 pub const URL: &'static str = "URL";
1233
1234 /// Used in tests for environment substitution testing in `requirements.in`.
1235 #[attr_hidden]
1236 #[attr_added_in("0.1.18")]
1237 pub const FILE_PATH: &'static str = "FILE_PATH";
1238
1239 /// Used in tests for environment substitution testing in `requirements.in`.
1240 #[attr_hidden]
1241 #[attr_added_in("0.1.25")]
1242 pub const HATCH_PATH: &'static str = "HATCH_PATH";
1243
1244 /// Used in tests for environment substitution testing in `requirements.in`.
1245 #[attr_hidden]
1246 #[attr_added_in("0.1.25")]
1247 pub const BLACK_PATH: &'static str = "BLACK_PATH";
1248
1249 /// Used in testing Hatch's root.uri feature
1250 ///
1251 /// See: <https://hatch.pypa.io/dev/config/dependency/#local>.
1252 #[attr_hidden]
1253 #[attr_added_in("0.1.22")]
1254 pub const ROOT_PATH: &'static str = "ROOT_PATH";
1255
1256 /// Used in testing extra build dependencies.
1257 #[attr_hidden]
1258 #[attr_added_in("0.8.5")]
1259 pub const EXPECTED_ANYIO_VERSION: &'static str = "EXPECTED_ANYIO_VERSION";
1260
1261 /// Used to set test credentials for keyring tests.
1262 #[attr_hidden]
1263 #[attr_added_in("0.1.34")]
1264 pub const KEYRING_TEST_CREDENTIALS: &'static str = "KEYRING_TEST_CREDENTIALS";
1265
1266 /// Used to disable delay for HTTP retries in tests.
1267 #[attr_added_in("0.7.21")]
1268 pub const UV_TEST_NO_HTTP_RETRY_DELAY: &'static str = "UV_TEST_NO_HTTP_RETRY_DELAY";
1269
1270 /// Used for testing named indexes in tests.
1271 #[attr_hidden]
1272 #[attr_added_in("0.5.21")]
1273 pub const UV_INDEX_MY_INDEX_USERNAME: &'static str = "UV_INDEX_MY_INDEX_USERNAME";
1274
1275 /// Used for testing named indexes in tests.
1276 #[attr_hidden]
1277 #[attr_added_in("0.5.21")]
1278 pub const UV_INDEX_MY_INDEX_PASSWORD: &'static str = "UV_INDEX_MY_INDEX_PASSWORD";
1279
1280 /// Used to set the GitHub fast-path url for tests.
1281 #[attr_hidden]
1282 #[attr_added_in("0.7.15")]
1283 pub const UV_GITHUB_FAST_PATH_URL: &'static str = "UV_GITHUB_FAST_PATH_URL";
1284
1285 /// Hide progress messages with non-deterministic order in tests.
1286 #[attr_hidden]
1287 #[attr_added_in("0.5.29")]
1288 pub const UV_TEST_NO_CLI_PROGRESS: &'static str = "UV_TEST_NO_CLI_PROGRESS";
1289
1290 /// Used to mock the current timestamp for relative `--exclude-newer` times in tests.
1291 /// Should be set to an RFC 3339 timestamp (e.g., `2025-11-21T12:00:00Z`).
1292 #[attr_hidden]
1293 #[attr_added_in("0.9.8")]
1294 pub const UV_TEST_CURRENT_TIMESTAMP: &'static str = "UV_TEST_CURRENT_TIMESTAMP";
1295
1296 /// When set to a timestamp, applies an `exclude-newer` filter to the versions
1297 /// considered available from indexes.
1298 ///
1299 /// This is used for reproducible resolver error messages. When `exclude-newer`
1300 /// is used, we retain information about the available versions to improve error
1301 /// messages. In contrast, versions published after this cutoff are considered
1302 /// non-existent.
1303 ///
1304 /// Should be set to an RFC 3339 timestamp (e.g., `2024-03-25T00:00:00Z`).
1305 #[attr_hidden]
1306 #[attr_added_in("0.11.7")]
1307 pub const UV_TEST_AVAILABLE_VERSION_CUTOFF: &'static str = "UV_TEST_AVAILABLE_VERSION_CUTOFF";
1308
1309 /// `.env` files from which to load environment variables when executing `uv run` commands.
1310 #[attr_added_in("0.4.30")]
1311 pub const UV_ENV_FILE: &'static str = "UV_ENV_FILE";
1312
1313 /// Ignore `.env` files when executing `uv run` commands.
1314 #[attr_added_in("0.4.30")]
1315 pub const UV_NO_ENV_FILE: &'static str = "UV_NO_ENV_FILE";
1316
1317 /// The URL from which to download uv using the standalone installer and `self update` feature,
1318 /// in lieu of the default GitHub URL.
1319 ///
1320 /// This more-specific installer source takes precedence over
1321 /// [`UV_ASTRAL_MIRROR_URL`](Self::UV_ASTRAL_MIRROR_URL) for `uv self update`.
1322 #[attr_added_in("0.5.0")]
1323 pub const UV_INSTALLER_GITHUB_BASE_URL: &'static str = "UV_INSTALLER_GITHUB_BASE_URL";
1324
1325 /// The URL from which to download uv using the standalone installer and `self update` feature,
1326 /// in lieu of the default GitHub Enterprise URL.
1327 ///
1328 /// This more-specific installer source takes precedence over
1329 /// [`UV_ASTRAL_MIRROR_URL`](Self::UV_ASTRAL_MIRROR_URL) for `uv self update`.
1330 #[attr_added_in("0.5.0")]
1331 pub const UV_INSTALLER_GHE_BASE_URL: &'static str = "UV_INSTALLER_GHE_BASE_URL";
1332
1333 /// The directory in which to install uv using the standalone installer and `self update` feature.
1334 /// Defaults to `~/.local/bin`.
1335 #[attr_added_in("0.5.0")]
1336 pub const UV_INSTALL_DIR: &'static str = "UV_INSTALL_DIR";
1337
1338 /// Used ephemeral environments like CI to install uv to a specific path while preventing
1339 /// the installer from modifying shell profiles or environment variables.
1340 #[attr_added_in("0.5.0")]
1341 pub const UV_UNMANAGED_INSTALL: &'static str = "UV_UNMANAGED_INSTALL";
1342
1343 /// The URL from which to download uv using the standalone installer. By default, installs from
1344 /// uv's GitHub Releases. `INSTALLER_DOWNLOAD_URL` is also supported as an alias, for backwards
1345 /// compatibility.
1346 #[attr_added_in("0.8.4")]
1347 pub const UV_DOWNLOAD_URL: &'static str = "UV_DOWNLOAD_URL";
1348
1349 /// Avoid modifying the `PATH` environment variable when installing uv using the standalone
1350 /// installer and `self update` feature. `INSTALLER_NO_MODIFY_PATH` is also supported as an
1351 /// alias, for backwards compatibility.
1352 #[attr_added_in("0.8.4")]
1353 pub const UV_NO_MODIFY_PATH: &'static str = "UV_NO_MODIFY_PATH";
1354
1355 /// Skip writing `uv` installer metadata files (e.g., `INSTALLER`, `REQUESTED`, and `direct_url.json`) to site-packages `.dist-info` directories.
1356 #[attr_added_in("0.5.7")]
1357 pub const UV_NO_INSTALLER_METADATA: &'static str = "UV_NO_INSTALLER_METADATA";
1358
1359 /// Enables fetching files stored in Git LFS when installing a package from a Git repository.
1360 #[attr_added_in("0.5.19")]
1361 pub const UV_GIT_LFS: &'static str = "UV_GIT_LFS";
1362
1363 /// Sets the soft open-file descriptor limit for commands executed by `uv run`.
1364 ///
1365 /// The limit is applied after uv prepares the environment and immediately before the command
1366 /// is spawned. The hard open-file descriptor limit remains unchanged. If the limit cannot be
1367 /// applied, uv exits with an error without running the command. Only supported on Unix.
1368 #[attr_added_in("0.12.3")]
1369 pub const UV_RUN_RLIMIT_NOFILE: &'static str = "UV_RUN_RLIMIT_NOFILE";
1370
1371 /// Number of times that `uv run` has been recursively invoked. Used to guard against infinite
1372 /// recursion, e.g., when `uv run`` is used in a script shebang.
1373 #[attr_hidden]
1374 #[attr_added_in("0.5.31")]
1375 pub const UV_RUN_RECURSION_DEPTH: &'static str = "UV_RUN_RECURSION_DEPTH";
1376
1377 /// Number of times that `uv run` will allow recursive invocations, before exiting with an
1378 /// error.
1379 #[attr_hidden]
1380 #[attr_added_in("0.5.31")]
1381 pub const UV_RUN_MAX_RECURSION_DEPTH: &'static str = "UV_RUN_MAX_RECURSION_DEPTH";
1382
1383 /// Overrides terminal width used for wrapping. This variable is not read by uv directly.
1384 ///
1385 /// This is a quasi-standard variable, described, e.g., in `ncurses(3x)`.
1386 #[attr_added_in("0.6.2")]
1387 pub const COLUMNS: &'static str = "COLUMNS";
1388
1389 /// The CUDA driver version to assume when inferring the PyTorch backend (e.g., `550.144.03`).
1390 #[attr_hidden]
1391 #[attr_added_in("0.6.9")]
1392 pub const UV_CUDA_DRIVER_VERSION: &'static str = "UV_CUDA_DRIVER_VERSION";
1393
1394 /// The AMD GPU architecture to assume when inferring the PyTorch backend (e.g., `gfx1100`).
1395 #[attr_hidden]
1396 #[attr_added_in("0.7.14")]
1397 pub const UV_AMD_GPU_ARCHITECTURE: &'static str = "UV_AMD_GPU_ARCHITECTURE";
1398
1399 /// Equivalent to the `--torch-backend` command-line argument (e.g., `cpu`, `cu126`, or `auto`).
1400 #[attr_added_in("0.6.9")]
1401 pub const UV_TORCH_BACKEND: &'static str = "UV_TORCH_BACKEND";
1402
1403 /// Equivalent to the `--project` command-line argument.
1404 #[attr_added_in("0.4.4")]
1405 pub const UV_PROJECT: &'static str = "UV_PROJECT";
1406
1407 /// Equivalent to the `--no-project` command-line argument.
1408 #[attr_added_in("0.11.8")]
1409 pub const UV_NO_PROJECT: &'static str = "UV_NO_PROJECT";
1410
1411 /// Equivalent to the `--directory` command-line argument. `UV_WORKING_DIRECTORY` (added in
1412 /// v0.9.1) is also supported for backwards compatibility.
1413 #[attr_added_in("0.9.14")]
1414 pub const UV_WORKING_DIR: &'static str = "UV_WORKING_DIR";
1415
1416 /// Equivalent to the `--directory` command-line argument.
1417 #[attr_hidden]
1418 #[attr_added_in("0.9.1")]
1419 pub const UV_WORKING_DIRECTORY: &'static str = "UV_WORKING_DIRECTORY";
1420
1421 /// Disable GitHub-specific requests that allow uv to skip `git fetch` in some circumstances.
1422 #[attr_added_in("0.7.13")]
1423 pub const UV_NO_GITHUB_FAST_PATH: &'static str = "UV_NO_GITHUB_FAST_PATH";
1424
1425 /// Authentication token for Hugging Face requests. When set, uv will use this token
1426 /// when making requests to `https://huggingface.co/` and any subdomains.
1427 #[attr_added_in("0.8.1")]
1428 pub const HF_TOKEN: &'static str = "HF_TOKEN";
1429
1430 /// Disable Hugging Face authentication, even if `HF_TOKEN` is set.
1431 #[attr_added_in("0.8.1")]
1432 pub const UV_NO_HF_TOKEN: &'static str = "UV_NO_HF_TOKEN";
1433
1434 /// The URL to treat as an S3-compatible storage endpoint. Requests to this endpoint
1435 /// will be signed using AWS Signature Version 4 based on the `AWS_ACCESS_KEY_ID`,
1436 /// `AWS_SECRET_ACCESS_KEY`, `AWS_PROFILE`, and `AWS_CONFIG_FILE` environment variables.
1437 #[attr_added_in("0.8.21")]
1438 pub const UV_S3_ENDPOINT_URL: &'static str = "UV_S3_ENDPOINT_URL";
1439
1440 /// The URL to treat as a GCS-compatible storage endpoint. Requests to this endpoint
1441 /// will be signed using Google Cloud authentication based on the `GOOGLE_APPLICATION_CREDENTIALS`
1442 /// environment variable or Application Default Credentials.
1443 #[attr_added_in("0.9.26")]
1444 pub const UV_GCS_ENDPOINT_URL: &'static str = "UV_GCS_ENDPOINT_URL";
1445
1446 /// The URL to treat as an Azure Blob Storage endpoint. Requests to this endpoint will be signed
1447 /// using Azure credentials from the default credential chain, including Azure CLI credentials
1448 /// and workload identity.
1449 #[attr_added_in("0.11.14")]
1450 pub const UV_AZURE_ENDPOINT_URL: &'static str = "UV_AZURE_ENDPOINT_URL";
1451
1452 /// The pyx API key (e.g., `sk-pyx-...`).
1453 #[attr_added_in("0.8.15")]
1454 pub const PYX_API_KEY: &'static str = "PYX_API_KEY";
1455
1456 /// The pyx API key, for backwards compatibility.
1457 #[attr_hidden]
1458 #[attr_added_in("0.8.15")]
1459 pub const UV_API_KEY: &'static str = "UV_API_KEY";
1460
1461 /// The pyx authentication token (e.g., `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...`), as output by `uv auth token`.
1462 #[attr_added_in("0.8.15")]
1463 pub const PYX_AUTH_TOKEN: &'static str = "PYX_AUTH_TOKEN";
1464
1465 /// The pyx authentication token, for backwards compatibility.
1466 #[attr_hidden]
1467 #[attr_added_in("0.8.15")]
1468 pub const UV_AUTH_TOKEN: &'static str = "UV_AUTH_TOKEN";
1469
1470 /// The AWS region to use when signing S3 requests.
1471 #[attr_added_in("0.8.21")]
1472 pub const AWS_REGION: &'static str = "AWS_REGION";
1473
1474 /// The default AWS region to use when signing S3 requests, if `AWS_REGION` is not set.
1475 #[attr_added_in("0.8.21")]
1476 pub const AWS_DEFAULT_REGION: &'static str = "AWS_DEFAULT_REGION";
1477
1478 /// The AWS access key ID to use when signing S3 requests.
1479 #[attr_added_in("0.8.21")]
1480 pub const AWS_ACCESS_KEY_ID: &'static str = "AWS_ACCESS_KEY_ID";
1481
1482 /// The AWS secret access key to use when signing S3 requests.
1483 #[attr_added_in("0.8.21")]
1484 pub const AWS_SECRET_ACCESS_KEY: &'static str = "AWS_SECRET_ACCESS_KEY";
1485
1486 /// The AWS session token to use when signing S3 requests.
1487 #[attr_added_in("0.8.21")]
1488 pub const AWS_SESSION_TOKEN: &'static str = "AWS_SESSION_TOKEN";
1489
1490 /// The AWS profile to use when signing S3 requests.
1491 #[attr_added_in("0.8.21")]
1492 pub const AWS_PROFILE: &'static str = "AWS_PROFILE";
1493
1494 /// The AWS config file to use when signing S3 requests.
1495 #[attr_added_in("0.8.21")]
1496 pub const AWS_CONFIG_FILE: &'static str = "AWS_CONFIG_FILE";
1497
1498 /// The AWS shared credentials file to use when signing S3 requests.
1499 #[attr_added_in("0.8.21")]
1500 pub const AWS_SHARED_CREDENTIALS_FILE: &'static str = "AWS_SHARED_CREDENTIALS_FILE";
1501
1502 /// Avoid verifying that wheel filenames match their contents when installing wheels. This
1503 /// is not recommended, as wheels with inconsistent filenames should be considered invalid and
1504 /// corrected by the relevant package maintainers; however, this option can be used to work
1505 /// around invalid artifacts in rare cases.
1506 #[attr_added_in("0.8.23")]
1507 pub const UV_SKIP_WHEEL_FILENAME_CHECK: &'static str = "UV_SKIP_WHEEL_FILENAME_CHECK";
1508
1509 /// Suppress output from the build backend when building source distributions, even in the event
1510 /// of build failures.
1511 #[attr_added_in("0.9.15")]
1512 pub const UV_HIDE_BUILD_OUTPUT: &'static str = "UV_HIDE_BUILD_OUTPUT";
1513
1514 /// The time in seconds uv waits for a file lock to become available.
1515 ///
1516 /// Defaults to 300s (5 min).
1517 #[attr_added_in("0.9.4")]
1518 pub const UV_LOCK_TIMEOUT: &'static str = "UV_LOCK_TIMEOUT";
1519}