uv pip list displays installed packages in a human-readable format. It is similar to pip list but offers additional output formats and faster performance.
Usage
Arguments
Filtering Options
-e, --editable
Show only editable packages.
--exclude-editable
Exclude editable packages from output.
Exclude specific packages from output.
--outdated
List outdated packages with available updates.Shows both installed and latest versions.
Output Format
Output format:
columns, freeze, or json.columns: Human-readable table (default)freeze: pip freeze formatjson: Machine-readable JSON
columnsPython Environment
Python interpreter from which to list packages.By default, lists from virtual environment or system Python if no venv is found.Environment:
UV_PYTHON--system
List packages from system Python, ignoring virtual environments.Environment:
UV_SYSTEM_PYTHONList packages from a
--target directory.List packages from a
--prefix directory.Validation
--strict
Validate the environment, detecting packages with missing dependencies.
Index Options
Package indexes to check for updates (for Environment:
--outdated).UV_INDEXDefault package index (for Environment:
--outdated).UV_DEFAULT_INDEXDeprecated: Use
--default-index instead.Environment: UV_INDEX_URLDeprecated: Use
--index instead.Environment: UV_EXTRA_INDEX_URLAdditional locations to search for packages (for Environment:
--outdated).UV_FIND_LINKS--no-index
Ignore package indexes (for
--outdated).Index selection strategy:
first-index, unsafe-first-match, or unsafe-best-match.Default: first-indexEnvironment: UV_INDEX_STRATEGYKeyring provider for authentication:
disabled, subprocess.Default: disabledEnvironment: UV_KEYRING_PROVIDERVersion Constraints
Exclude packages uploaded after the specified date (for Environment:
--outdated).UV_EXCLUDE_NEWERExclude specific packages uploaded after dates (for
--outdated).Pre-release handling (for
--outdated): disallow, allow, if-necessary, explicit, or if-necessary-or-explicit.Default: if-necessary-or-explicitEnvironment: UV_PRERELEASECache Options
--refresh
Refresh all cached data (for
--outdated).Refresh cached data for specific packages (for
--outdated).Output Formats
Columns (Default)
Human-readable table format:Freeze Format
Same asuv pip freeze:
JSON Format
Machine-readable JSON:Outdated Format
With--outdated, shows available updates:
Examples
Basic Usage
Filter Output
Different Formats
Check for Updates
Specific Environment
Process with Tools
Use Cases
Audit Installed Packages
Generate Reports
Compare Environments
CI/CD Health Checks
Find Development Packages
Differences from pip list
uv pip list is largely compatible with pip list:
Key Differences
- Performance: uv is faster, especially for
--outdated - Default format: Both use columns by default
- JSON schema: Slightly different structure
- Index options: uv uses
--indexinstead of--extra-index-url
Unsupported pip Options
Most pip list options are supported. Notable exceptions:--uptodate: Not implemented (inverse of--outdated)--user: Use--systemor virtual environments- Some legacy pip list behaviors
Comparison with uv pip freeze
| Feature | uv pip list | uv pip freeze |
|---|---|---|
| Default format | Table (columns) | requirements.txt |
| Formats | columns, freeze, json | Text only |
| Use case | Viewing/inspection | Reproducible installs |
| Outdated check | Yes | No |
| Editables | Shows installed | Shows source paths |
Related Commands
uv pip freeze- Output in requirements formatuv pip show- Show package detailsuv pip install- Install packages