Skip to main content

An intelligent CLI tool to upgrade Python packages with dependency analysis and automatic rollback on failure.

Project description

Ultimate Python Upgrader (py-upgrade)

PyPI version CI

An intelligent, feature-rich CLI tool to manage and upgrade Python packages with a clean, modern interface and a powerful dependency safety-net.

Key Features

  • 🛡️ Rollback on Failure: If an upgrade fails for any reason, the tool automatically reverts the package to its previous stable version. This ensures your environment is never left in a broken state.
  • Intelligent Dependency Analysis: Performs a pre-flight check to detect and warn you about potential dependency conflicts before you upgrade.
  • Concurrent & Fast: Upgrades packages in parallel using multiple workers, dramatically reducing the time you spend waiting.
  • Rich & Interactive UI: Uses rich to display outdated packages in a clean, readable table with clear progress bars.
  • Selective Upgrades: Upgrade all packages, or specify exactly which ones to include or exclude.
  • Safety First: Includes a --dry-run mode to see what would be upgraded without making any changes.
  • Automation Friendly: A --yes flag allows for use in automated scripts.

Installation

The tool is available on PyPI. Install it with pip:

pip install ultimate-python-upgrader

Usage

Once installed, the py-upgrade command will be available.

1. Check and upgrade all packages interactively The tool will check for conflicts and automatically roll back any failed upgrades.

py-upgrade

2. Disable automatic rollback (not recommended)

py-upgrade --yes --no-rollback

3. Perform a dry run to see what needs upgrading

py-upgrade --dry-run

Contributing

Contributions are welcome! Please feel free to submit a pull request.

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

ultimate_python_upgrader-1.3.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

ultimate_python_upgrader-1.3.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file ultimate_python_upgrader-1.3.0.tar.gz.

File metadata

  • Download URL: ultimate_python_upgrader-1.3.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for ultimate_python_upgrader-1.3.0.tar.gz
Algorithm Hash digest
SHA256 d583cb65dd165e8b08a4af2660c5ff5b9b070b0219978425391b8dc8a91d4d0a
MD5 2829f61b37ec3a4a09eaf47b41b9288a
BLAKE2b-256 fe26117166fd4a9e018f42e69655df7b5f1e297399dd853f9b1e1b09d04af38c

See more details on using hashes here.

File details

Details for the file ultimate_python_upgrader-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ultimate_python_upgrader-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8cf969251daf79c6576f62b87ab8a0377f6e9632eca2115c7bfa9e75bfeaf788
MD5 57f8e7943300bc8f92977bb2b0bd0b0c
BLAKE2b-256 ee8ad2941c22f9d189abcb7db5d78adb884e3b8cec158f586a21c7973fe351d2

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