A comprehensive VS Code extension that transforms Python package management into an intuitive, visual interface. Manage pip packages, virtual environments, and dependencies without leaving your editor.
PipPal streamlines the Python development workflow by providing visual package management capabilities directly within VS Code. Instead of juggling terminal commands, navigate packages through an interactive sidebar, auto-detect missing imports across your codebase, and explore complex dependency graphs with physics-based visualization.
- Visual Package Browser: Interactive tree view of installed packages with version information
- Install/Uninstall Operations: Direct installation from PyPI with version control; intelligent uninstall with automatic orphan dependency detection
- PyPI Search Integration: Discover and install packages directly from the PyPI database
- Auto-Install Missing Imports: Scan Python files and Jupyter notebooks to detect missing imports and install them in a single operation
- Smart Library Detection: Automatically distinguishes standard library imports from third-party packages
- Custom Mapping Support: Handles edge cases like
PIL→Pillowwith configurable import-to-package mappings
- Virtual Environment Lifecycle: Create, switch between, and safely delete virtual environments
- Auto-Detection: Automatically discovers workspace venvs in common locations (
.venv,venv,env,virtualenv) - Environment Isolation: Displays installed packages per environment for clear visibility
- User Intent Tracking: Distinguishes between explicitly installed packages and transitive dependencies
- Interactive Dependency Graphs: Explore package relationships through physics-based graph visualization with zoom/pan capabilities
- Recursive Orphan Detection: Safely identify and remove unused dependencies
- Requirements.txt Generation: Create requirements files in multiple formats (simple, user-only, with dependency comments)
The extension is built with:
- TypeScript for type-safe extension logic
- VS Code API for deep editor integration
- Python subprocess execution for pip operations
- PyPI REST API integration for package discovery
- Import scanning via AST analysis of Python/Jupyter files
- Dependency graphing with force-directed layout algorithms
| Command | Purpose |
|---|---|
| Create Virtual Environment | Bootstrap new venv in workspace |
| Install Package | Add packages with optional version pinning |
| Uninstall Package | Remove packages with orphan detection |
| Search PyPI | Query and install from package registry |
| Install Missing Imports | Batch install from detected imports |
| Install from requirements.txt | Bulk dependency installation |
| Generate requirements.txt | Export installed packages (multiple formats) |
| Switch Python Environment | Toggle between installed Python versions |
| Show Dependencies | View dependency tree for a package |
| Show Dependency Graph | Interactive visualization of all dependencies |
| Refresh Package List | Force cache refresh |
| Delete Virtual Environment | Remove venv safely |
{
"pippal.pythonPath": "python3", // Python executable path
"pippal.autoDetectVenv": true // Auto-discovery of virtual environments
}- Orphan Detection: Recursive dependency analysis prevents broken environments
- User-Intent Tracking: Maintains metadata on explicitly installed vs. transitive packages
- Jupyter Support: Scans
.ipynbfiles alongside Python scripts - Graph-Based Visualization: Physics simulation for intuitive dependency exploration
- Multi-Environment Support: Per-environment package tracking with seamless switching
Failed to list packages: Verify Python installation and pippal.pythonPath configuration. Test: python -m pip list
No packages detected: Create a virtual environment first or ensure an active venv is selected
Imports not detected: Verify files are saved (scanner triggers on file save); check imports are module-level, not in strings
MIT
Built for ICHack 2026 | GitHub Repository