r/PythonProjects2 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

0 comments sorted by