{"id":21694,"library":"pip-upgrader","title":"pip-upgrader","description":"An interactive pip requirements upgrader that updates version pins in requirements.txt files. Current version 2.4.4, requires Python >=3.10. Release cadence is irregular, with updates focused on bug fixes and minor features.","status":"active","version":"2.4.4","language":"python","source_language":"en","source_url":"https://github.com/simion/pip-upgrader","tags":["pip","requirements","upgrade","workflow"],"install":[{"cmd":"pip install pip-upgrader","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Uses pip's internal APIs to query available package versions","package":"pip","optional":false},{"reason":"Colored terminal output","package":"colorama","optional":false},{"reason":"Fetches package metadata from PyPI JSON API","package":"requests","optional":false}],"imports":[{"note":"Direct import of the module fails; use the function from pip_upgrader module","wrong":"import pip_upgrader","symbol":"pip_upgrader","correct":"from pip_upgrader import pip_upgrader"}],"quickstart":{"code":"from pip_upgrader import pip_upgrader\n\n# Upgrade all packages interactively\npip_upgrader()\n\n# Upgrade all packages non-interactively (auto-select latest)\npip_upgrader('--non-interactive', '-p', 'all')","lang":"python","description":"Run pip-upgrader from Python code or from CLI with `pip-upgrade`"},"warnings":[{"fix":"Use `pip-upgrade` from terminal, or run `python -m pip_upgrader` as fallback.","message":"In v2.4.0, the CLI entry point changed from `pip-upgrade` to `pip-upgrade` (same name but under pip_upgrader package). Ensure you're using the correct command.","severity":"breaking","affected_versions":">=2.4.0"},{"fix":"Commit or copy requirements.txt before running pip-upgrader.","message":"The tool modifies requirements.txt in place. Ensure you have a backup or version control before running.","severity":"gotcha","affected_versions":"all"},{"fix":"Use `-p some` to limit upgrades, or manually review changes.","message":"Non-interactive mode with `-p all` updates all packages to latest, which may break compatibility. Use with caution.","severity":"gotcha","affected_versions":">=2.4.2"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use `from pip_upgrader import pip_upgrader` instead of `import pip_upgrader`.","cause":"The package is installed but not importable because it uses a namespace package. Use the correct import path.","error":"ModuleNotFoundError: No module named 'pip_upgrader'"},{"fix":"Pass arguments as strings: `pip_upgrader('--non-interactive', '-p', 'all')`.","cause":"In v2.4.2+, the non-interactive mode is enabled via command-line arguments, not keyword arguments.","error":"TypeError: pip_upgrader() got an unexpected keyword argument 'non_interactive'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}