venv-manager

0

A powerful CLI tool for managing Python virtual environments with ease.

Miscellaneous

virtual-environment
venv
python
cli-tool

venv-manager 🐍

A powerful CLI tool for managing Python virtual environments with ease.

example_cli

Features ✨

  • Create and manage environments
  • List all environments
  • Install packages and track dependencies
  • Clone environments
  • Upgrade packages globally or per environment
  • Clean cache and temporary files
  • Smart environment activation
  • Shell completion for bash, zsh, fish, and powershell
  • Size check for environments
Featurevenv-managervirtualenvpyenv-virtualenvPoetryPipenv
Create and manage environments
List all environments
Install packages and track dependencies
Clone environments
Upgrade packages globally or per environment
Clean cache and temporary files
Shell completion

One command install 🚀

curl -sSL https://raw.githubusercontent.com/jacopobonomi/venv_manager/main/install.sh | bash

Installation

# Clone repository
git clone https://github.com/jacopobonomi/venv_manager
cd venv_manager

# Install 
make install

Usage 💻

# Create environment (python-version is optional)
venv-manager create myenv [python-version]

# Activate
eval "$(venv-manager activate myenv)"

# Install packages
venv-manager install myenv requirements.txt

# List packages
venv-manager packages myenv

# Upgrade all packages
venv-manager upgrade myenv

# Check environment size
venv-manager size myenv

# Check all environments size
venv-manager size --global

# Global operations
venv-manager --global clean

# Enable shell completion (bash example)
source <(venv-manager completion bash)

Commands 📖

CommandDescription
create <n> [version]Create new environment
activate <n>Activate environment
deactivateDeactivate current environment
listShow all environments
remove <n>Delete environment
clone <src> <dst>Clone environment
packages <n>List installed packages
install <n> <reqs>Install requirements
upgrade <n>Upgrade packages
clean <n>Clean cache files
size <n>Check environment size
`completion [bashzsh

Development 🛠️

Requirements:

  • Go 1.21+
  • Python 3.x

Contributing 🤝

  1. Fork the repository
  2. Create feature branch
  3. Commit changes
  4. Open pull request

License 📄

MIT License - See LICENSE file

Author ✍️

Jacopo Bonomi