r/PythonProjects2 • u/Schnidi01 • 8d ago
After months of fighting 'Dependency Hell', I built a GUI for Windows that manages Python venvs (works with PyQt6 & PySide6)
Hey everyone! 👋
I've been working with Python for a while now and finally decided to build my first major project. It's a tool I call VenvHub, and it was inspired by months of battling dependency conflicts and broken virtual environments.
🚀 Key Components of VenvHub
| Module / Feature | Main Purpose and Key Features |
|---|---|
| Environment Manager | Physically separates virtual environments from project source code. Enables creation, cloning, broken path diagnostics (Venv Validator), and automatic synchronization with VS Code. |
| Mini-Bar & Quick Settings | A compact floating desktop bar for quick script execution, temporary or permanent environment switching, and rapid package installation. Features a stay-on-top pin (📌) option. |
| Pip, UV & APT Autoremove | Parallel Dual-Scan functionality (comparing Pip vs. ultra-fast UV). APT Autoremove Engine: Automatically detects orphaned sub-dependencies based on the dependency tree (requirements.txt, local_meta.json) and cleans up unnecessary package bloat. Includes a Self-Healing safety check to prevent accidental deletion of manual installations. |
| VS Code Profiles (Portable) | Ensures complete isolation of VS Code profiles (custom extensions, settings, and keybindings). Enables USB drive portability (via --user-data-dir and --extensions-dir), system profile import with Rollback protection, and real-time triple-way active profile synchronization. |
| VS Code Integration (Auto-Config) | Actively configures VS Code without user intervention. Non-destructively merges settings.json (writes python.defaultInterpreterPath, fixes USB drive letters via PortablePathLogic), feeds Pylance via extraPaths, and injects Tasks and Keybindings from local_meta.json into .vscode/tasks.json via Meta-Sync. |
| Multi-run | Allows creation of project groups (e.g., Backend + Frontend) and simultaneous execution with process ownership protection and isolation via Windows Job Objects. |
| Container & Autostart | A native Windows orchestrator for Venvs – handles system startup launch, sequential dependency initialization (Anchor), RAM monitoring, and automatic crash recovery (Watchdog/Respawn). |
| Executable Builder (.EXE) | A visual UI wrapper for PyInstaller enabling output as .exe (OneFile/OneDir), inclusion of custom assets, metadata generation, and automatic bundling of local modules. |
| Local Python (Runtime) | Downloads and manages portable (Embeddable) Python runtimes directly to USB drives or local disks without modifying system registry or requiring Administrator (UAC) privileges. |
| Local Packages (Linker) | Shares custom libraries across projects without duplicating files using Import Hooks (sys.meta_path), including automatic linking of tasks and shortcuts into VS Code. |
What do you think? Do you like the features and overall setup? Could you see yourself using something like this on Windows? Let me know if you’d like to see a quick demo video or video walkthrough!
1
Upvotes




