This is a test of asdf version manager's workflow with python 3's virtual environments.
# create repo
git init
# create .gitignore
echo .venv/ > .gitignore
# create .tool_versions
asdf local python latest
# create venv
python -m venv .venv
# activate venv
source .venv/bin/activate
# install packages
pip install pendulum
# export requirements
pip freeze > requirements.txt
# deactivate venv
deactivate# clone repo
git clone https://...
# install python
asdf install
# create venv
python -m venv .env
# activate venv
source .env/bin/activate
# install packages
pip install -r requirements.txt
# make binaries accessible from PATH
asdf reshim python
# deactivate venv
deactivateNotes
# upgrade everything
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
# downgrade a package
pip install -I pendulum==2.1.0