Skip to content

yvemiz/python-env-manager

Repository files navigation

Python Manager

A Windows-focused desktop tool for discovering, inspecting, and safely reviewing Python environments on your machine.

Python Manager is designed for people who have accumulated many Python installs, Conda environments, virtual environments, and packages over time, and want a safer way to understand what exists before cleaning anything up.

Highlights

  • Scan Python installations from the Windows registry, PATH, and common local folders
  • Detect virtual environments and Conda environments
  • View installed packages inside each environment
  • Read package version and built-in package summary when metadata is available
  • Estimate environment storage usage
  • Show size breakdown details and largest packages
  • Infer likely environment purpose from installed packages
  • Find local projects that appear to use a given environment
  • Show structured AI-style advice without requiring an API
  • Preview cleanup actions before deletion
  • Support confirmed deletion for eligible environments
  • Switch the GUI between Chinese and English

Safety

Python Manager is intentionally conservative.

  • It does not delete anything automatically
  • Cleanup actions require explicit user confirmation
  • Windows alias entries are ignored instead of treated as real environments
  • Base interpreters are treated as protected
  • Conda environments are removed through conda, not by blindly deleting folders

Current scope

This project currently focuses on Windows desktop usage.

The app is best for:

  • Developers with many local Python environments
  • Conda-heavy machines
  • Users who want to inspect before deleting
  • People who want a local-first tool without mandatory cloud AI

Screenshots

You can add screenshots here after publishing:

![Main window](docs/screenshot-main.png)
![Packages view](docs/screenshot-packages.png)
![Cleanup preview](docs/screenshot-cleanup.png)

Running locally

CLI:

python main.py
python main.py --with-size
python main.py --json
python main.py --json --save report.json

GUI:

python gui_main.py

If python does not point to the interpreter you want, you can run:

D:\miniconda\python.exe gui_main.py

Packaging to exe

Install packaging dependencies:

python -m pip install -r requirements-packaging.txt

Build:

build_exe.bat

Output:

dist\PythonManager\

Repository structure

python_manager/
  gui.py
  scanner.py
  operations.py
  cache_store.py
  logging_utils.py
  models.py
gui_main.py
main.py
build_exe.bat

Local files generated by the app

These should not be committed:

  • .python_manager_cache.json
  • python_manager.log
  • report.json
  • report.txt
  • build/
  • dist/

Known limitations

  • The app is mainly designed for Windows
  • Project association is heuristic-based, not guaranteed to be 100% correct
  • AI advice is currently local rule-based analysis, not cloud LLM analysis
  • Package descriptions depend on installed metadata and may be missing for some packages
  • Environment deletion support is intentionally conservative
  • exe packaging requires PyInstaller, which is not bundled by default

Suggested roadmap

  • Detect more environment managers such as uv, pyenv-win, Poetry, PDM, and Pipenv
  • Improve duplicate-environment detection
  • Add stale-environment detection
  • Add per-package disk usage analysis
  • Add batch cleanup candidate review
  • Add installer assets and release packaging

Contributing

Contributions are welcome.

Please read CONTRIBUTING.md before opening a pull request.

License

This project is licensed under the MIT License.

See LICENSE.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors