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/
│   └── update_python_packages/
│       ├── __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.3.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.3-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_pkg_updater-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 6144fb1cfa53adf92d74523093cf2fa20db6eeb600b62bf13bc21832f986fcb4
MD5 5156a6e2caade806e45fcc93bf7012f1
BLAKE2b-256 68dffb4cc9eacdca529f1a47c37003e9bc626a862ac4d61912da597b43d2e443

See more details on using hashes here.

File details

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

File metadata

  • Download URL: py_pkg_updater-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e857fce949749011a6d3986683e4df34460f9c743d63b6a891125deafa11ab03
MD5 1526f6d38e60c3042a9a47c35068e343
BLAKE2b-256 ce79b429ab2bd1e7c8c2673fe71461655ab1d73646f3cbf9d03402c0d7f2ae56

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