Skip to main content
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
package[]
Exclude specific packages from output.
--outdated
List outdated packages with available updates.Shows both installed and latest versions.

Output Format

--format
string
Output format: columns, freeze, or json.
  • columns: Human-readable table (default)
  • freeze: pip freeze format
  • json: Machine-readable JSON
Default: columns

Python Environment

-p, --python
string
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_PYTHON
-t, --target
path
List packages from a --target directory.
--prefix
path
List packages from a --prefix directory.

Validation

--strict
Validate the environment, detecting packages with missing dependencies.

Index Options

--index
url[]
Package indexes to check for updates (for --outdated).
Environment: UV_INDEX
--default-index
url
Default package index (for --outdated).
Environment: UV_DEFAULT_INDEX
-i, --index-url
url
Deprecated: Use --default-index instead.Environment: UV_INDEX_URL
--extra-index-url
url[]
Deprecated: Use --index instead.Environment: UV_EXTRA_INDEX_URL
Additional locations to search for packages (for --outdated).
Environment: UV_FIND_LINKS
--no-index
Ignore package indexes (for --outdated).
--index-strategy
string
Index selection strategy: first-index, unsafe-first-match, or unsafe-best-match.Default: first-indexEnvironment: UV_INDEX_STRATEGY
--keyring-provider
string
Keyring provider for authentication: disabled, subprocess.Default: disabledEnvironment: UV_KEYRING_PROVIDER

Version Constraints

--exclude-newer
date
Exclude packages uploaded after the specified date (for --outdated).
Environment: UV_EXCLUDE_NEWER
--exclude-newer-package
package=date[]
Exclude specific packages uploaded after dates (for --outdated).
--prerelease
string
Pre-release handling (for --outdated): disallow, allow, if-necessary, explicit, or if-necessary-or-explicit.Default: if-necessary-or-explicitEnvironment: UV_PRERELEASE

Cache Options

--refresh
Refresh all cached data (for --outdated).
--refresh-package
package[]
Refresh cached data for specific packages (for --outdated).

Output Formats

Columns (Default)

Human-readable table format:

Freeze Format

Same as uv 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

  1. Performance: uv is faster, especially for --outdated
  2. Default format: Both use columns by default
  3. JSON schema: Slightly different structure
  4. Index options: uv uses --index instead of --extra-index-url

Unsupported pip Options

Most pip list options are supported. Notable exceptions:
  • --uptodate: Not implemented (inverse of --outdated)
  • --user: Use --system or virtual environments
  • Some legacy pip list behaviors

Comparison with uv pip freeze

Featureuv pip listuv pip freeze
Default formatTable (columns)requirements.txt
Formatscolumns, freeze, jsonText only
Use caseViewing/inspectionReproducible installs
Outdated checkYesNo
EditablesShows installedShows source paths