{"id":5369,"library":"pipupgrade","title":"pipupgrade","description":"pipupgrade is a command-line interface (CLI) tool for upgrading Python packages across various environments. It supports requirements.txt files and Pipfiles, leveraging semantic versioning to intelligently manage updates and prevent unintended breaking changes. The current version is 1.12.0, released in February 2022, indicating a maintenance-focused release cadence.","status":"maintenance","version":"1.12.0","language":"en","source_language":"en","source_url":"https://github.com/achillesrasquinha/pipupgrade","tags":["pip","package management","cli","upgrade","dependencies"],"install":[{"cmd":"pip install pipupgrade","lang":"bash","label":"Install pipupgrade"}],"dependencies":[],"imports":[],"quickstart":{"code":"pipupgrade --check\n# This command checks for outdated packages without performing upgrades.\npipupgrade\n# This command upgrades all detected outdated packages, avoiding major version bumps by default.","lang":"bash","description":"To quickly check for outdated packages, use the `--check` flag. To upgrade all packages across detected pip environments, simply run `pipupgrade`. By default, it avoids major version upgrades to prevent breaking changes."},"warnings":[{"fix":"Review the output, especially packages highlighted in red, and use `--upgrade-type minor` or `--upgrade-type patch` for safer upgrades if you are concerned about breaking changes. Avoid `--latest` unless you've confirmed compatibility.","message":"Using the `--latest` flag or specifying `--upgrade-type major` will force upgrades to the absolute latest version, which may introduce incompatible changes in your dependencies, as `pipupgrade`'s default behavior is to avoid major version bumps to prevent breaking changes.","severity":"breaking","affected_versions":"<=1.12.0"},{"fix":"Use `pipupgrade` directly from your shell or integrate it into scripts using subprocess calls, rather than trying to `import pipupgrade` in Python code.","message":"`pipupgrade` is designed as a command-line utility and does not expose a public Python API for programmatic imports or use. Attempting to import it as a library will not work as expected.","severity":"gotcha","affected_versions":"<=1.12.0"},{"fix":"Test `pipupgrade` in your specific Python environment (especially newer ones) before relying on it for critical updates. Consider using it within isolated virtual environments.","message":"While the project's GitHub README previously stated compatibility with Python 2.7+ and Python 3.4+, the last release was in early 2022. Newer Python versions (e.g., Python 3.9+) or recent `pip` changes might not be fully tested or supported, potentially leading to unexpected behavior.","severity":"gotcha","affected_versions":">=1.12.0"},{"fix":"Always activate your virtual environment (e.g., `source venv/bin/activate`) before running `pipupgrade`, or use the `--pip-path` option to target a specific `pip` executable within a virtual environment.","message":"Running `pipupgrade` directly in a global Python environment (outside a virtual environment) can lead to unintended modifications of system-wide packages. Although `pipupgrade` aims to discover multiple environments, it is best practice to activate the specific virtual environment you intend to manage before running the tool, or use `--pip-path` for explicit control.","severity":"gotcha","affected_versions":"<=1.12.0"}],"env_vars":null,"last_verified":"2026-04-13T00:00:00.000Z","next_check":"2026-07-12T00:00:00.000Z"}