An extremely fast Python package and project manager, written in Rust.
UV provides built-in self-management capabilities for updating to the latest versions, checking version information, and maintaining the UV installation itself. These features ensure you always have access to the latest performance improvements and features.
Update UV to the latest available version with automatic detection and installation.
uv self update
# Updates uv to the latest version
# Downloads and installs the latest release
# Options:
# --prerelease # Include pre-release versions
# --no-modify-path # Don't update PATH during installation
# --token TOKEN # GitHub token for API accessUsage examples:
# Update to latest stable version
uv self update
# Update to latest including pre-releases
uv self update --prerelease
# Update with custom GitHub token
uv self update --token ghp_xxxxxxxxxxxxDisplay detailed version and build information for UV installation.
uv self version
# Shows detailed version information
# Includes build date, commit hash, and platform info
# Options:
# --format FORMAT # Output format (text/json)Usage examples:
# Show version information
uv self version
# Get machine-readable version info
uv self version --format json
# Quick version check
uv --versionFor UV installed via the standalone installer:
# Self-update is available and recommended
uv self update
# Update checks GitHub releases automatically
# Downloads platform-specific binary
# Replaces current installation atomicallyFor UV installed via package managers:
# pip installation
pip install --upgrade uv
# pipx installation
pipx upgrade uv
# Homebrew (macOS)
brew upgrade uv
# Cargo installation
cargo install uv --forceNote: uv self update may not be available for package manager installations.
UV automatically detects the installation method and provides appropriate update mechanisms:
# Check installation method
uv self version
# Standalone installer: Shows self-update capability
# Package manager: Shows package manager info
# Development build: Shows build informationUV may display update notifications when newer versions are available:
A newer version of uv is available: 0.8.19 (current: 0.8.18)
Run `uv self update` to update to the latest version.Disable update notifications:
UV_NO_UPDATE_CHECK=1UV follows semantic versioning and provides detailed release information:
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
Examples:
0.8.18 # Stable release
0.9.0-rc.1 # Release candidate
0.8.19-dev+abc123 # Development buildAccess release information:
# Check latest releases on GitHub
open https://github.com/astral-sh/uv/releases
# View changelog
open https://github.com/astral-sh/uv/blob/main/CHANGELOG.mdConfigure self-management behavior through UV settings:
[tool.uv]
# Self-update settings
self-update-check = true # Check for updates automatically
self-update-prerelease = false # Include pre-releases in updates
self-update-github-token = "token" # GitHub token for API accessEnvironment variables:
UV_NO_UPDATE_CHECK=1 # Disable update checks
UV_GITHUB_TOKEN=ghp_xxxxxxx # GitHub token for API access
UV_PRERELEASE=1 # Include pre-releasesUV provides detailed build and runtime information:
uv self version --format jsonReturns information including:
# Check UV executable location
which uv
# Check installation directory
dirname "$(which uv)"
# Check file information
ls -la "$(which uv)"
file "$(which uv)"Verify UV installation integrity and functionality:
# Test basic functionality
uv --version
uv --help
# Test core commands
uv python list
uv cache dir
# Test package operations
uv pip list# Check all entry points
ls -la "$(dirname "$(which uv)")"
# Verify checksums (for standalone installations)
# Check against published checksums on GitHub releases
# Test critical functionality
uv venv test-env
uv pip install -e . --target test-env
rm -rf test-env# Check network connectivity
curl -s https://api.github.com/repos/astral-sh/uv/releases/latest
# Check file permissions
ls -la "$(which uv)"
# Manual update fallback
curl -LsSf https://astral.sh/uv/install.sh | sh# Check for multiple UV installations
which -a uv
find /usr -name "uv" 2>/dev/null
# Check PATH for conflicts
echo $PATH | tr ':' '\n' | grep -E "(uv|\.local|\.cargo)"
# Resolve conflicts by updating PATH or removing duplicates# Check installation permissions
ls -la "$(dirname "$(which uv)")"
# For user installations, ensure proper permissions
chmod +x "$(which uv)"
# For system installations, may require sudo
sudo uv self update# Install
brew install uv
# Update
brew upgrade uv
# Check version
brew list uv --versions# Add repository
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or use system package if available
sudo apt update && sudo apt install uv# Install
scoop install uv
# Update
scoop update uv
# Check version
scoop info uv# Install
choco install uv
# Update
choco upgrade uv
# Check version
choco info uvFor development and testing with unreleased features:
# Install from main branch
cargo install uv --git https://github.com/astral-sh/uv.git
# Install specific commit
cargo install uv --git https://github.com/astral-sh/uv.git --rev abc123
# Build from source
git clone https://github.com/astral-sh/uv.git
cd uv
cargo build --release# Regular updates for security patches
uv self update
# Verify installation integrity
uv self version
# Use stable releases for production
uv self update # (avoids pre-releases by default)
# Monitor security advisories
# https://github.com/astral-sh/uv/security/advisoriesInstall with Tessl CLI
npx tessl i tessl/pypi-uv