A cross-platform Python CLI tool that works seamlessly on macOS, Windows, and Linux. It updates pip and all your installed packages with a single command.
- Updates
pipto the latest version - Upgrades all installed Python packages
- Optional
--dry-runmode to simulate updates - Cross-platform support (tested on Windows & macOS)
- Automatically cleans up temporary data after run
- Logs activity in
pip_updater.log
PIP-Updater/
├── application/
│ └── filterpip.py # Filters packages from pip freeze
├── cli/
│ └── cli.py # Alternative CLI entry point
├── main.py # Main script (entry point)
├── static/
│ └── icon.ico # App icon (for packaging, optional)
├── .gitignore # Git ignored files
├── LICENSE # MIT License
├── README.md # You’re reading it :)
-
Clone the repository:
git clone https://github.com/WINEEL/PIP-Updater.git cd PIP-Updater -
(Optional) Create a virtual environment:
python3 -m venv venv source venv/bin/activate # macOS/Linux # OR .\venv\Scripts\activate # Windows
-
Install dependencies:
No additional packages required! This tool works entirely with Python's standard library.
To update pip and all installed packages:
python3 main.pyTo simulate the update process without making changes:
python3 main.py --dry-runAlternatively, you can run it from the cli.py wrapper:
python3 cli/cli.py- Updates
pipitself using:python3 -m pip install --upgrade pip
- Generates a list of installed packages via
pip freeze - Filters only package names into a new list
- Upgrades all packages using:
python3 -m pip install --upgrade -r new.txt
- Deletes temporary data after completion
After running the tool, a log file named pip_updater.log is automatically created in the root directory.
t records timestamps, commands run, and any errors encountered. This is useful for debugging or checking what happened during the update.
This project is open-source and licensed under the MIT License.
Feel free to modify and improve upon it!
- WINEEL WILSON DASARI
- wineel10wilson@gmail.com
- GitHub: wineel10
Want to turn this into a standalone executable? You can manually use:
pyinstaller --onefile --name PIP_Updater --icon static/icon.ico main.pyA sample icon file (static/icon.ico) is already included in the repo. I created it just to complete the structure. Feel free to use, modify, or replace it as you wish.
Note: PyInstaller works on Windows, macOS, and Linux, but you can only build executables for your current operating system. Cross-compilation is not supported.
| OS | Output Format | Icon Support |
|---|---|---|
| Windows | PIP_Updater.exe |
.ico supported |
| macOS | PIP_Updater binary |
Use .icns if building .app |
| Linux | PIP_Updater binary |
No icon support by default |
This project does not include an auto-build workflow for
.exeor.app. You can create your own GitHub Actions workflow if needed.