Skip to main content

Testsuite PyPi Version Monthly Downloads

pip-check

pip-check gives you a quick overview of all installed packages and their update status. Under the hood it calls pip list --outdated --format=json and transforms it into a more user-friendly table.

pip-check also supports uv, or pip at any location. Pass the pip command using --cmd:

pip-check -c pip3
pip-check -c ".venv/bin/pip"
pip-check -c "uv pip"

Screenshot of pip-check in action

Installation:

pip install pip-check

Or Install the last version that runs on Python 2.7 or 3.4:

pip install pip-check==2.5.2

Usage:

$ pip-check -h
usage: pip-check [options] [-- PIP_ARGS ...]

A quick overview of all installed packages and their update status. Supports `pip` or `uv pip`.

options:
  -h, --help            show this help message and exit
  -a, --ascii           Display as ASCII Table
  -c, --cmd PIP_CMD     The [uv] pip executable to run. E.g.: `/path/to/pip` or `uv pip`. Default: `pip`
  -l, --local           Show only virtualenv installed packages. (pip only)
  -r, --not-required    List only packages that are not dependencies of installed packages. (pip only)
  -f, --full-version    Show full version strings.
  -H, --hide-unchanged  Do not show "unchanged" packages.
  -u, --show-update     Show update instructions for updatable packages. (pip only)
  -U, --user            Show only user installed packages. (pip only)
  --version             Show the version of pip-check and exit.

Arguments after `--` are passed to `pip list` as they are, e.g. `pip-check -- --pre` to include pre-releases, or `pip-check -- --extra-index-url URL` to also check another index. With uv, use uv's
options, e.g. `-- --index URL`. They are also added to the --show-update command.

Pre-releases and other package indexes:

Everything after -- is passed to pip list unchanged, so pip-check can use any of pip's options:

pip-check -- --pre                                        # include pre-releases
pip-check -- --extra-index-url https://my.index/simple    # also check another index
pip-check -- --index-url https://mirror.example/simple    # check a mirror instead of PyPI
pip-check -c "uv pip" -- --index https://my.index/simple  # uv uses its own option names

The same arguments are added to the upgrade command that --show-update prints, so e.g. a listed pre-release actually gets installed. uv's pip list has no pre-release option, so --pre only works with pip.

pip's own configuration applies as well, so a pip.conf or environment variables such as PIP_PRE=1 or PIP_EXTRA_INDEX_URL work without --.

Local Development

pip-check uses uv for local development.

uv sync         # Create a .venv and install dependencies
uv build        # Build distribution packages

Releasing:

Releases are published to PyPI by GitHub Actions. Bump version in pyproject.toml, add the CHANGELOG entry, then push a matching tag:

$ git tag v3.3 && git push origin v3.3

The Publish workflow checks that the tag matches the project version, runs the full test suite and uploads the package using PyPI Trusted Publishing.

Testing:

Test against a variation of Python versions:

$ uv run nox
  • pip-date - Show the installation or modification times of all your pip packages
  • pip-chill - Lists only the dependencies (or not) of installed packages

Changelog

v3.3 (2026-10-22):

  • Pass extra arguments to pip list after --, e.g. pip-check -- --pre to include pre-releases (#28) or pip-check -- --extra-index-url URL to also check another index (#30). They're added to the --show-update upgrade command too.
  • Report a failing pip command with pip's error message and exit code 1. Previously it showed up as "No outdated packages".
  • A --cmd that can't be run (e.g. a typo) now prints an error instead of a traceback.
  • Ctrl-C now exits quietly with code 130 instead of printing a traceback.
  • Require packaging>=20.0. Older versions lack Version.major and made pip-check crash.
  • The sdist can be built with pip older than 19.3 (the pip that came with Python 3.8), which couldn't parse pyproject.toml.
  • Test against Python 3.15. Python 3.8 and later remain supported.
  • Use an SPDX license expression (PEP 639) and add project keywords, topics and a changelog link.
  • Limit the sdist to source, docs and tests. It previously included local files such as .coverage and uv.lock.
  • Releases are published from GitHub Actions using PyPI Trusted Publishing.

v3.2 (2025-08-27): v3.2.1 (2025-08-27):

  • Fix 'uv' support to work with latest UV version.

v3.1 (2025-04-14):

  • Adopted uv and hatchling as the primary build tools.
  • Implemented nox as the test runner.
  • Migrated all documentation from reStructuredText to Markdown for improved readability and accessibility.
  • Introduced Ruff as a linter and optimized code to align with the current set of Ruff rules.
  • Added type annotations throughout the codebase.
  • Test against Python 3.14.

v3.0 (2025-04-11):

  • Added support for uv. Use --cmd="uv pip" to utilize uv.

v2.10 (2025-04-11):

  • Resolve the issue of missing line breaks when no packages are found.
  • Test against Python 3.13.

v2.9 (2024-09-01):

  • Show current Python and pip version upon load.
  • Test against Python 3.12.

v2.8.1 (2022-11-06):

  • Fixes issue with packages not correctly sorted into "Major" category.

v2.8 (2022-11-06):

  • Added support for Python 3.11.
  • Replaced deprecated "distutils" with "packaging" module.

v2.7 (2021-11-16):

  • Drop support for Python 2.7, 3.4 and 3.5
  • Added support for Python 3.9 and 3.10.
  • Removed 'colorclass' as a dependency and with that the shell argument --disable-colors.

v2.6 (2019-12-12):

  • Requires Python 3.5 or higher.
  • Command error is shown if pip exits with a status code 1 (or larger).
  • Error message is shown if pip is not able to load packages in case of network problems.
  • Update instructions will now add --user in case the pip-check command should only show user packages as well.

v2.5.2 (2019-08-08):

  • This is the last version that runs on Python 2.7. Install it with pip install pip-check==2.5.2
  • Windows color fixes.

v2.5.1 (2019-08-08):

  • Windows script fixes.

v2.5 (2019-08-08):

  • A more robust installation that installs pip-check as a proper console script.
  • Added new --disable-colors argument.
  • Added tests for Python 3.7 and 3.8.
  • Fixed Syntax warning happening with no outdated packages.
  • Cleanup of the entire codebase.

v2.4 (2019-07-23):

  • Added support to only show packages from the user or local package namespace.

v2.3.3 (2018-02-19):

  • Visual fixes around --show-update

v2.3.2 (2018-02-18):

  • New --show-update argument.
  • Fixed --full-versions argument.
  • Minor UI improvements.

v2.1 (2018-02-18):

  • Complete new architecture. It now calls pip directly and parses it output which should be more reliable.
  • It's also using distutils for the version comparision now, which is more reliable as well.
  • Lots of features and bug fixes.

v0.2 (2016-02-09):

  • Fixes issues with older pip versions.
  • Truncates extremly long version numbers.

v0.1 (2016-02-06):

  • Very first version, and yet with very limited features.

Metadata

Release files for pip-check 3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pip-check 3.3
File Size Uploaded Provenance
pip_check-3.3.tar.gz 15.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pip-check 3.3
File Interpreter ABI Platform
pip_check-3.3-py3-none-any.whl Python 3 none any Details

Total release size: 27.8 kB

Release files / pip_check-3.3.tar.gz

Download URL pip_check-3.3.tar.gz
Size 15.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b3e157835fd3e917995c7801764d4f132c5c0965c41f3b065320c12df4fc151b
BLAKE2b-256 checksum
How to use checksums
4e8aed82be935a4f11f4a5b6fc40530af4ad5d21890c26a024f5d235c184b20a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / pip_check-3.3-py3-none-any.whl

Download URL pip_check-3.3-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
335bcdc6766de8516701080481061c7782fad804406cf259aeba091211abb7cb
BLAKE2b-256 checksum
How to use checksums
d2ac9644c723e26123cd619126a2fc9ce336ce1add61432c1a1a5e790440e289
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Security for pip-check 3.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pip_check-3.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page