Package: veman
veman - Virtual Environment Managerveman is a lightweight virtual environment manager using venv.
With veman it is easier to manage multiple environments.Note: veman is under active development and currently supports Bash in FreeBSD, Linux & macOS.veman aims to be a simple manager for Python's venv package. The intention of veman is
to be a comprehensive companion tool for venv, facilitating the creation/activation &
management of virtual environments, with some extra features that aids development with
Python.veman is primarily developed for Linux & macOS. veman does not yet support
Windows. Windows compatibility will most likely be implemented in a future version but it is
currently not a prioritised feature.GitHub:https://github.com/tranbom/vemanGitLab:https://gitlab.com/tranbom/vemanPyPi:https://pypi.org/project/vemanDocumentation:https://tranbom.io/veman/InstallationInstall via pipx:pipx install vemanUsing pipx is the preferred method to install veman.Installing with pip is not supported when the Python environment is externally managed
(for example in Debian 12), see PEP-668 for more information.The default installation directory used by pipx is~/.local/binwhich needs to be in your PATH.
Update the PATH manually or runpipx ensurepath.DependenciesPython >=3.9venvInstallation instructions for Debian 12 and distributions based on Debian 12Install pip, pipx & venv from the Debian repository:sudo apt-get updatesudo apt-get install python3-pip python3-venv pipxInstall veman with pipx and update PATH (if necessary):pipx install vemanpipx ensurepathUsageCreate a new virtual environmentveman createorveman create <environment-name>Use-aor--activateafter the create command to automatically activate
the venv after creation.Examples:veman create djangoenvveman create -a flaskenvveman create --activate testenv1Activate a virtual environmentveman activateorveman activate <environment-name>Example:veman activate djangoenvDeactivate a virtual environmentdeactivate(inside an active venv)List created virtual environmentsveman listDelete a virtual environmentveman deleteorveman delete <environment-name>Example:veman delete djangoenvCreate and activate a temporary environmentCreate a temporary environment which will be deleted immediately when
deactivating the environment.veman tempTo exit & delete the temporary environment typedeactivateveman supports creating multiple temporary environments simultaneously.Bash historyveman creates a separate bash history file for each venv.The history of bash commands executed inside an activated venv is saved
in the root folder of the venv as.veman_historyand everytime
a virtual environment is activated the bash history will be restored.The bash builtinhistorywill print the environments history when a venv is activated and
when the virtual environment is deactivatedhistorywill automatically switch back to using
the regular bash history file (usually ~/.bash_history).veman also has its ownhistorycommand which can be used without having to activate
a venv, making it easy to find which commands have been run in different environments.veman history <environment-name>will list the bash history for a single venv.veman history --allwill print the bash history for all venvs, which can be useful to
quickly find a command in the history across environments. Currently there is no specific order of the
venvs in which the history is printed.The--verboseoption will print some additional details, such as venv name and line number.Upgrade venvVarious components of a venv can be upgraded with veman.
Runningveman upgrade <environment-name>will upgrade the following:Core dependencies (pip + setuptools)Python (will be upgraded to the python version running the veman command)veman scriptsIt is also possible to select which components to upgrade using any of the following options when runningveman upgrade:--deps- Upgrade core dependencies--python- Upgrade Python--scripts- Upgrade veman scriptsUpgrading the veman scripts can be useful when a new version of veman has been released to ensure compatibility of new
veman features in a venv created with an older version of veman.All managed venvs can be upgraded with the option--all:veman upgrade --allFull list of available commands and optionsDocumentation:https://tranbom.io/veman/Notesveman sources~/.bashrcin Linux & FreeBSD. veman is mainly tested in distributions that are
derivatives of Debian which automatically sources/etc/bash.bashrc.veman sources/etc/profileand~/.bash_profilein macOS.Planned featuresConnect a managed venv with a specific git repository (e.g., automatic cd on activate)User defined commands to run on activate (python and/or shell)Compatibility with zsh & more shellsCommand to add local paths to .pth-file in venvConfiguration file with settings for veman (e.g., path to env directory)Adopt existing unmanaged venvsAuto-update managed venvs after veman has been upgradedLicenseGPL-3.0-only