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.4.0.tar.gz (9.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.4.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for ultimate_python_upgrader-1.4.0.tar.gz
Algorithm Hash digest
SHA256 76890633027cf648732e7d7d7c91de0815164f469766a1c39ff49ab9f3e32551
MD5 72d41a7fcf3ab42350b1f938b1988972
BLAKE2b-256 c3d94336d823cbe59934d48b32f9fd28d66b7b842d2245954f0db4e4a1e6b218

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ultimate_python_upgrader-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bbc14163bbe15d055eaf908817c4c56b6e889b9db6e077aa75967bc029e21d0b
MD5 65b426f75f6bf091b5a739e9d284c21c
BLAKE2b-256 ebb58220d1913bd243ad21b6e3d2b6ccf12ae8faa253e9157796a66310fccc32

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