viv isn't venv
Go to file
Daylin Morgan 51e95baa5b chore: add LICENSE 2022-12-26 08:03:58 -06:00
docs docs: add docstring to activate 2022-12-20 14:49:43 -06:00
examples chore: remove executable bit 2022-12-23 00:27:29 -06:00
src/viv feat: improve argparsing 2022-12-26 08:03:47 -06:00
.gitignore add build/setup files 2022-12-19 23:11:12 -06:00
.pre-commit-config.yaml add build/setup files 2022-12-19 23:11:12 -06:00
LICENSE chore: add LICENSE 2022-12-26 08:03:58 -06:00
Makefile chore: add recipe to make all example vivens 2022-12-20 15:02:51 -06:00
README.md docs: append cd to setup 2022-12-21 15:14:38 -06:00
pdm.lock chore: add mypy to dev deps 2022-12-20 15:02:25 -06:00
pyproject.toml style: taplo did this not me 2022-12-22 15:13:54 -06:00
setup.cfg add build/setup files 2022-12-19 23:11:12 -06:00

README.md

Viv

Logo

viv isn't venv


Setup

Start by cloning the repo and symlinking the script for access to the CLI. By default it will symlink ./src/viv/viv.py to ~/bin/viv. You can set PREFIX to symlink to a different location.

git clone git@github.com:daylinmorgan/viv.git ~/.viv
cd ~/.viv
make install # or PREFIX=~/.local/bin make install

Place this directory on the python path in your rc file.

export PYTHONPATH="$PYTHONPATH:$HOME/.viv/src"

Then in any python script with external dependencies you can add this line.

__import__("viv").activate("click")

Usage

To temove all viv venvs:

viv remove $(viv list -q)

TODO

  • add doc strings to src/viv/viv.py
  • use config file (probably ini or json / could also allow toml for python>=3.11)
  • enable a garbage collection based on time or file existence (configurable)
  • unit tests

Alternatives

  • pipx
  • pip-run