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
pip
to the latest version - Upgrades all installed Python packages
- Optional
--dry-run
mode 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.py
To simulate the update process without making changes:
python3 main.py --dry-run
Alternatively, you can run it from the cli.py
wrapper:
python3 cli/cli.py
- Updates
pip
itself 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
- [email protected]
- GitHub: wineel10
Want to turn this into a standalone executable? You can manually use:
pyinstaller --onefile --name PIP_Updater --icon static/icon.ico main.py
A 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
.exe
or.app
. You can create your own GitHub Actions workflow if needed.