Skip to main content

Virtual environment manager for venv

Project description

veman

veman 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 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.

Installation

Install via pip: pip install veman

Dependencies

  • Python >=3.9
  • venv

Usage

Create a new virtual environment

veman create or veman create <environment-name>

Use -a or --activate after the create command to automatically activate the venv after creation.

Examples:
veman create djangoenv
veman create -a flaskenv
veman create --activate testenv1

Activate a virtual environment

veman activate or veman activate <environment-name>

Example: veman activate djangoenv

Deactivate a virtual environment

deactivate (inside an active venv)

List created virtual environments

veman list

Delete a virtual environment

veman delete or veman delete <environment-name>

Example: veman delete djangoenv

Create and activate a temporary environment

Create a temporary environment which will be deleted immediately when deactivating the environment.

veman temp

To exit & delete the temporary environment type deactivate

veman supports creating multiple temporary environments simultaneously.

Bash history

veman 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_history and everytime a virtual environment is activated the bash history will be restored.

The bash builtin history will print the environments history when a venv is activated and when the virtual environment is deactivated history will automatically switch back to using the regular bash history file (usually ~/.bash_history).

veman also has its own history command 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 --all will 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.

Notes

veman sources ~/.bashrc in Linux. veman is mainly tested in distributions that are derivatives of Debian which automatically sources /etc/bash.bashrc.

veman sources /etc/profile and ~/.bash_profile in macOS.

Planned features

  • Connect 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 shells
  • Command to add local paths to .pth-file in venv
  • Configuration file with settings for veman (e.g., path to env directory)
  • Adopt existing unmanaged venvs
  • Auto-update managed venvs after veman has been upgraded

License

GPL-3.0-only

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

veman-0.0.4.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veman-0.0.4-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file veman-0.0.4.tar.gz.

File metadata

  • Download URL: veman-0.0.4.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for veman-0.0.4.tar.gz
Algorithm Hash digest
SHA256 9d33f35368316c4271932ead6948041358bd9f8c54542016d4530b72028f0d8f
MD5 697101e9499d4b2872e46723f12d8fdb
BLAKE2b-256 9313389a28bf9b8f43d8ded1e128ca6ab9b5ac74413234f2dc4ccf7cdecd30ef

See more details on using hashes here.

File details

Details for the file veman-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: veman-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for veman-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 df35b611d011b7d76706d3909e14af09445facef25cf542a2f00d176b58ffe6d
MD5 d8e9dfba310eba6c4dc34920a7860a70
BLAKE2b-256 6412bc90be9b7f2e3b11f9a88e51c152e730a31d8ff4baee15117415e8ef1f49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page