All notable changes to venvswitch will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
venvswitch - A powerful Zsh plugin for automatic Python virtual environment switching!
- Automatic Environment Detection: Detects Python projects by scanning for indicator files
- Multi-tool Support: Works with
virtualenv,pipenv,poetry, andconda - Local Environment Creation: Creates virtual environments directly in project directories
- Intelligent Caching: Performance-optimized with configurable TTL caching
- Comprehensive Configuration: Extensive customization via environment variables
- Robust Error Handling: Comprehensive validation and user-friendly error messages
- Beautiful Output: Colorized messages with customizable formatting
- Smart Project Detection: Recognizes projects from multiple indicator files
mkvenv [options]- Create virtual environment in current directoryrmvenv- Remove virtual environment from current directoryenable_venvswitch- Enable automatic environment switchingdisable_venvswitch- Disable automatic environment switchingvenvswitch_config- Show current configurationvenvswitch_clear_cache- Clear the scan cache
VENVSWITCH_VENV_DIR- Custom virtual environment directory nameVENVSWITCH_MAX_DEPTH- Maximum directory scan depthVENVSWITCH_IGNORE_DIRS- Directories to ignore during scanningVENVSWITCH_CACHE_ENABLED- Enable/disable cachingVENVSWITCH_CACHE_TTL- Cache time-to-live in secondsVENVSWITCH_AUTO_ACTIVATE- Auto-activate on directory changeVENVSWITCH_PROJECT_FILES- Custom project indicator filesVENVSWITCH_PREFERRED_TOOLS- Preferred tool orderVENVSWITCH_DEFAULT_PYTHON- Default Python versionVENVSWITCH_SILENT- Suppress messagesVENVSWITCH_MESSAGE_FORMAT- Custom activation message format
- Automated installation script (
install.sh) - Manual installation instructions
- Comprehensive documentation
- Complete README with examples and troubleshooting
- Contributing guidelines
- MIT License
- Development setup instructions
🎉 Addedfor new features🐛 Fixedfor bug fixes💥 Changedfor changes in existing functionality🚫 Deprecatedfor soon-to-be removed features🗑️ Removedfor now removed features🔒 Securityfor vulnerability fixes📚 Documentationfor documentation updates🔧 Maintenancefor maintenance tasks
Legend:
- 🚀 Major release
- ✨ Minor release
- 🐛 Patch release
- 📦 Pre-release
- 🔒 Security release