Skip to main content

A small CLI tool to check and upgrade outdated pip packages.

Project description

py-pkg-updater

A simple command-line tool for checking and upgrading outdated Python packages in your current environment.

py-pkg-updater helps you quickly inspect outdated pip packages, review the current and latest versions, and upgrade selected packages directly from the terminal.


Features

  • Detect outdated packages using pip list --outdated
  • Display outdated packages in a clean terminal table
  • Upgrade all packages or selected packages only
  • Supports both package names and numeric selection
  • Uses Rich for a better terminal interface when available
  • Falls back to plain terminal output if Rich is not installed

Installation

Install from PyPI:

pip install py-pkg-updater

Usage

Run the command inside the Python environment you want to update:

update-packages

The tool will show outdated packages and ask what you want to upgrade.

Example options:

A        upgrade all packages
N        skip upgrading
1,3,5    upgrade selected packages by number
rich,pip upgrade selected packages by name

Example

update-packages

Example output:

Outdated packages

#   Package      Current    Latest
1   pip          24.0       25.1.1
2   rich         13.7.0     13.9.4

Choose packages to upgrade:
A  upgrade all
N  skip upgrading
1,3,5  comma-separated indices or package names

Recommended Use

Use this tool inside an activated virtual environment:

Windows PowerShell

python -m venv venv
.\venv\Scripts\Activate.ps1
pip install py-pkg-updater
update-packages

macOS / Linux

python3 -m venv venv
source venv/bin/activate
pip install py-pkg-updater
update-packages

Why Use a Virtual Environment?

This tool upgrades packages in the Python environment where it is executed.

For safer package management, run it inside a project-specific virtual environment instead of your global Python installation.


Requirements

  • Python 3.9 or newer
  • pip
  • rich

Development

Clone the repository:

git clone https://github.com/YOUR_USERNAME/py-pkg-updater.git
cd py-pkg-updater

Create and activate a virtual environment:

python -m venv venv

Windows:

.\venv\Scripts\Activate.ps1

macOS / Linux:

source venv/bin/activate

Install in editable mode:

pip install -e .

Run locally:

update-packages

Build

Install build tools:

pip install --upgrade build twine

Build the package:

python -m build

This creates distribution files inside the dist/ directory.


Publish

Upload to PyPI:

python -m twine upload dist/*

Project Structure

py-pkg-updater/
├── src/
│   └── py_pkg_updater/
│       ├── __init__.py
│       └── cli.py
├── pyproject.toml
├── README.md
├── LICENSE
└── dist/

Security Note

Be careful when upgrading many packages at once. Package updates can introduce breaking changes, especially in active projects.

Recommended workflow:

  1. Activate your virtual environment.
  2. Run update-packages.
  3. Upgrade selected packages.
  4. Test your project.
  5. Commit dependency changes if everything works.

License

This project is licensed under the MIT License.


Author

Created by Ali Esmaeilzadeh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_pkg_updater-0.1.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_pkg_updater-0.1.2-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file py_pkg_updater-0.1.2.tar.gz.

File metadata

  • Download URL: py_pkg_updater-0.1.2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for py_pkg_updater-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5fd2382e72e1907c426652c4341c61a975c6e4f8e36aca3d0279995510cb868a
MD5 ac1305f701a9af6ee26fa4ffcf388658
BLAKE2b-256 b5b593093ea04e24fa69b199cf2be223384bec468e9241cb49f61f0c7d73d3c2

See more details on using hashes here.

File details

Details for the file py_pkg_updater-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: py_pkg_updater-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for py_pkg_updater-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 92cfa10aba4d8bf9e404c19f457402483bc3e372698ba8ef680fe397c3e41002
MD5 428625817963f9aadaf361011f7f4b86
BLAKE2b-256 d57d76a750fe1096184a716b99e11a6db29db4bb2ffc4ab25e2491fd7bf994b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page