Environment variables
uv respects the following environment variables:
-
UV_DEFAULT_INDEX
: Equivalent to the--default-index
command-line argument. If set, uv will use this URL as the default index when searching for packages. -
UV_INDEX
: Equivalent to the--index
command-line argument. If set, uv will use this space-separated list of URLs as additional indexes when searching for packages. -
UV_INDEX_URL
: Equivalent to the--index-url
command-line argument. If set, uv will use this URL as the default index when searching for packages. (Deprecated: useUV_DEFAULT_INDEX
instead.) -
UV_EXTRA_INDEX_URL
: Equivalent to the--extra-index-url
command-line argument. If set, uv will use this space-separated list of URLs as additional indexes when searching for packages. (Deprecated: useUV_INDEX
instead.) -
UV_FIND_LINKS
: Equivalent to the--find-links
command-line argument. If set, uv will use this comma-separated list of additional locations to search for packages. -
UV_CACHE_DIR
: Equivalent to the--cache-dir
command-line argument. If set, uv will use this directory for caching instead of the default cache directory. -
UV_NO_CACHE
: Equivalent to the--no-cache
command-line argument. If set, uv will not use the cache for any operations. -
UV_RESOLUTION
: Equivalent to the--resolution
command-line argument. For example, if set tolowest-direct
, uv will install the lowest compatible versions of all direct dependencies. -
UV_PRERELEASE
: Equivalent to the--prerelease
command-line argument. For example, if set toallow
, uv will allow pre-release versions for all dependencies. -
UV_SYSTEM_PYTHON
: Equivalent to the--system
command-line argument. If set totrue
, uv will use the first Python interpreter found in the systemPATH
. WARNING:UV_SYSTEM_PYTHON=true
is intended for use in continuous integration (CI) or containerized environments and should be used with caution, as modifying the system Python can lead to unexpected behavior. -
UV_PYTHON
: Equivalent to the--python
command-line argument. If set to a path, uv will use this Python interpreter for all operations. -
UV_BREAK_SYSTEM_PACKAGES
: Equivalent to the--break-system-packages
command-line argument. If set totrue
, uv will allow the installation of packages that conflict with system-installed packages. WARNING:UV_BREAK_SYSTEM_PACKAGES=true
is intended for use in continuous integration (CI) or containerized environments and should be used with caution, as modifying the system Python can lead to unexpected behavior. -
UV_NATIVE_TLS
: Equivalent to the--native-tls
command-line argument. If set totrue
, uv will use the system's trust store instead of the bundledwebpki-roots
crate. -
UV_INDEX_STRATEGY
: Equivalent to the--index-strategy
command-line argument. For example, if set tounsafe-any-match
, uv will consider versions of a given package available across all index URLs, rather than limiting its search to the first index URL that contains the package. -
UV_REQUIRE_HASHES
: Equivalent to the--require-hashes
command-line argument. If set totrue
, uv will require that all dependencies have a hash specified in the requirements file. -
UV_CONSTRAINT
: Equivalent to the--constraint
command-line argument. If set, uv will use this file as the constraints file. Uses space-separated list of files. -
UV_BUILD_CONSTRAINT
: Equivalent to the--build-constraint
command-line argument. If set, uv will use this file as constraints for any source distribution builds. Uses space-separated list of files. -
UV_OVERRIDE
: Equivalent to the--override
command-line argument. If set, uv will use this file as the overrides file. Uses space-separated list of files. -
UV_LINK_MODE
: Equivalent to the--link-mode
command-line argument. If set, uv will use this as a link mode. -
UV_NO_BUILD_ISOLATION
: Equivalent to the--no-build-isolation
command-line argument. If set, uv will skip isolation when building source distributions. -
UV_CUSTOM_COMPILE_COMMAND
: Equivalent to the--custom-compile-command
command-line argument. Used to override uv in the output header of therequirements.txt
files generated byuv pip compile
. Intended for use-cases in whichuv pip compile
is called from within a wrapper script, to include the name of the wrapper script in the output file. -
UV_KEYRING_PROVIDER
: Equivalent to the--keyring-provider
command-line argument. If set, uv will use this value as the keyring provider. -
UV_CONFIG_FILE
: Equivalent to the--config-file
command-line argument. Expects a path to a localuv.toml
file to use as the configuration file. -
UV_NO_CONFIG
: Equivalent to the--no-config
command-line argument. If set, uv will not read any configuration files from the current directory, parent directories, or user configuration directories. -
UV_EXCLUDE_NEWER
: Equivalent to the--exclude-newer
command-line argument. If set, uv will exclude distributions published after the specified date. -
UV_PYTHON_PREFERENCE
: Equivalent to the--python-preference
command-line argument. Whether uv should prefer system or managed Python versions. -
UV_PYTHON_DOWNLOADS
: Equivalent to thepython-downloads
setting and, when disabled, the--no-python-downloads
option. Whether uv should allow Python downloads. -
UV_COMPILE_BYTECODE
: Equivalent to the--compile-bytecode
command-line argument. If set, uv will compile Python source files to bytecode after installation. -
UV_PUBLISH_URL
: Equivalent to the--publish-url
command-line argument. The URL of the upload endpoint of the index to use withuv publish
. -
UV_PUBLISH_TOKEN
: Equivalent to the--token
command-line argument inuv publish
. If set, uv will use this token (with the username__token__
) for publishing. -
UV_PUBLISH_USERNAME
: Equivalent to the--username
command-line argument inuv publish
. If set, uv will use this username for publishing. -
UV_PUBLISH_PASSWORD
: Equivalent to the--password
command-line argument inuv publish
. If set, uv will use this password for publishing. -
UV_PUBLISH_CHECK_URL
: Don't upload a file if it already exists on the index. The value is the URL of the index. -
UV_NO_SYNC
: Equivalent to the--no-sync
command-line argument. If set, uv will skip updating the environment. -
UV_LOCKED
: Equivalent to the--locked
command-line argument. If set, uv will assert that theuv.lock
remains unchanged. -
UV_FROZEN
: Equivalent to the--frozen
command-line argument. If set, uv will run without updating theuv.lock
file. -
UV_PREVIEW
: Equivalent to the--preview
argument. Enables preview mode. -
UV_GITHUB_TOKEN
: Equivalent to the--token
argument for self update. A GitHub token for authentication. -
UV_VERIFY_HASHES
: Equivalent to the--verify-hashes
argument. Verifies included hashes. -
UV_INSECURE_HOST
: Equivalent to the--allow-insecure-host
argument. -
UV_CONCURRENT_DOWNLOADS
: Sets the maximum number of in-flight concurrent downloads that uv will perform at any given time. -
UV_CONCURRENT_BUILDS
: Sets the maximum number of source distributions that uv will build concurrently at any given time. -
UV_CONCURRENT_INSTALLS
: Controls the number of threads used when installing and unzipping packages. -
UV_NO_PROGRESS
: Disables all progress output. For example, spinners and progress bars. -
UV_TOOL_DIR
: Specifies the directory where uv stores managed tools. -
UV_TOOL_BIN_DIR
: Specifies the "bin" directory for installing tool executables. -
UV_PROJECT_ENVIRONMENT
: Specifies the path to the directory to use for a project virtual environment. See the project documentation for more details. -
UV_PYTHON_BIN_DIR
: Specifies the directory to place links to installed, managed Python executables. -
UV_PYTHON_INSTALL_DIR
: Specifies the directory for storing managed Python installations. -
UV_PYTHON_INSTALL_MIRROR
: Managed Python installations are downloaded frompython-build-standalone
. This variable can be set to a mirror URL to use a different source for Python installations. The provided URL will replacehttps://github.com/indygreg/python-build-standalone/releases/download
in, e.g.,https://github.com/indygreg/python-build-standalone/releases/download/20240713/cpython-3.12.4%2B20240713-aarch64-apple-darwin-install_only.tar.gz
. Distributions can be read from a local directory by using thefile://
URL scheme. -
UV_PYPY_INSTALL_MIRROR
: Managed PyPy installations are downloaded from python.org. This variable can be set to a mirror URL to use a different source for PyPy installations. The provided URL will replacehttps://downloads.python.org/pypy
in, e.g.,https://downloads.python.org/pypy/pypy3.8-v7.3.7-osx64.tar.bz2
. Distributions can be read from a local directory by using thefile://
URL scheme. -
UV_NO_WRAP
: Use to disable line wrapping for diagnostics. -
UV_STACK_SIZE
: Use to control the stack size used by uv. Typically more relevant for Windows in debug mode. -
UV_INDEX_{name}_USERNAME
: Generates the environment variable key for the HTTP Basic authentication username. -
UV_INDEX_{name}_PASSWORD
: Generates the environment variable key for the HTTP Basic authentication password. -
XDG_CONFIG_DIRS
: Path to system-level configuration directory on Unix systems. -
SYSTEMDRIVE
: Path to system-level configuration directory on Windows systems. -
XDG_CONFIG_HOME
: Path to user-level configuration directory on Unix systems. -
XDG_CACHE_HOME
: Path to cache directory on Unix systems. -
XDG_DATA_HOME
: Path to directory for storing managed Python installations and tools. -
XDG_BIN_HOME
: Path to directory where executables are installed. -
SSL_CERT_FILE
: Custom certificate bundle file path for SSL connections. -
SSL_CLIENT_CERT
: If set, uv will use this file for mTLS authentication. This should be a single file containing both the certificate and the private key in PEM format. -
HTTP_PROXY
: Proxy for HTTP requests. -
HTTPS_PROXY
: Proxy for HTTPS requests. -
ALL_PROXY
: General proxy for all network requests. -
UV_HTTP_TIMEOUT
: Timeout (in seconds) for HTTP requests. (default: 30 s) -
UV_REQUEST_TIMEOUT
: Timeout (in seconds) for HTTP requests. Equivalent toUV_HTTP_TIMEOUT
. -
HTTP_TIMEOUT
: Timeout (in seconds) for HTTP requests. Equivalent toUV_HTTP_TIMEOUT
. -
PYC_INVALIDATION_MODE
: The validation modes to use when run with--compile
. SeePycInvalidationMode
. -
VIRTUAL_ENV
: Used to detect an activated virtual environment. -
CONDA_PREFIX
: Used to detect an activated Conda environment. -
CONDA_DEFAULT_ENV
: Used to determine if an active Conda environment is the base environment or not. -
VIRTUAL_ENV_DISABLE_PROMPT
: If set to1
before a virtual environment is activated, then the virtual environment name will not be prepended to the terminal prompt. -
PROMPT
: Used to detect the use of the Windows Command Prompt (as opposed to PowerShell). -
NU_VERSION
: Used to detectNuShell
usage. -
FISH_VERSION
: Used to detect Fish shell usage. -
BASH_VERSION
: Used to detect Bash shell usage. -
ZSH_VERSION
: Used to detect Zsh shell usage. -
ZDOTDIR
: Used to determine which.zshenv
to use when Zsh is being used. -
KSH_VERSION
: Used to detect Ksh shell usage. -
MACOSX_DEPLOYMENT_TARGET
: Used with--python-platform macos
and related variants to set the deployment target (i.e., the minimum supported macOS version). Defaults to12.0
, the least-recent non-EOL macOS version at time of writing. -
NO_COLOR
: Disables colored output (takes precedence overFORCE_COLOR
). See no-color.org. -
FORCE_COLOR
: Forces colored output regardless of terminal support. See force-color.org. -
CLICOLOR_FORCE
: Use to control color viaanstyle
. -
PATH
: The standardPATH
env var. -
HOME
: The standardHOME
env var. -
SHELL
: The standardSHELL
posix env var. -
PWD
: The standardPWD
posix env var. -
LOCALAPPDATA
: Used to look for Microsoft Store Pythons installations. -
GITHUB_ACTIONS
: Used for trusted publishing viauv publish
. -
ACTIONS_ID_TOKEN_REQUEST_URL
: Used for trusted publishing viauv publish
. Contains the oidc token url. -
ACTIONS_ID_TOKEN_REQUEST_TOKEN
: Used for trusted publishing viauv publish
. Contains the oidc request token. -
PYTHONPATH
: Adds directories to Python module search path (e.g.,PYTHONPATH=/path/to/modules
). -
NETRC
: Use to set the .netrc file location. -
PAGER
: The standardPAGER
posix env var. Used byuv
to configure the appropriate pager. -
JPY_SESSION_NAME
: Used to detect when running inside a Jupyter notebook. -
TRACING_DURATIONS_FILE
: Use to create the tracing durations file via thetracing-durations-export
feature. -
RUST_LOG
: If set, uv will use this value as the log level for its--verbose
output. Accepts any filter compatible with thetracing_subscriber
crate. For example: RUST_LOG=uv=debug
is the equivalent of adding--verbose
to the command lineRUST_LOG=trace
will enable trace-level logging. See the tracing documentation for more.-
UV_ENV_FILE
:.env
files from which to load environment variables when executinguv run
commands. -
UV_NO_ENV_FILE
: Ignore.env
files when executinguv run
commands. -
UV_INSTALLER_GITHUB_BASE_URL
: The URL from which to download uv using the standalone installer andself update
feature, in lieu of the default GitHub URL. -
UV_INSTALLER_GHE_BASE_URL
: The URL from which to download uv using the standalone installer andself update
feature, in lieu of the default GitHub Enterprise URL. -
UV_INSTALL_DIR
: The directory in which to install uv using the standalone installer andself update
feature. Defaults to~/.local/bin
. -
UV_UNMANAGED_INSTALL
: Used ephemeral environments like CI to install uv to a specific path while preventing the installer from modifying shell profiles or environment variables. -
INSTALLER_NO_MODIFY_PATH
: Avoid modifying thePATH
environment variable when installing uv using the standalone installer andself update
feature.