This is a test of asdf version manager's workflow with direnv.
# create repo
git init
# create .gitignore
echo .direnv/ > .gitignore
# create .tool_versions
asdf local python latest
# create venv
echo "layout python" > .envrc
direnv allow
# install packages
pip install pendulum
# export requirements
pip freeze > requirements.txt# clone repo
git clone https://...
# install python
asdf install
# create venv
echo "layout python" > .envrc
direnv allow
# install packages
pip install -r requirements.txt
# make binaries accessible from PATH
asdf reshim pythonEnvironment variables are set in .envrc, there is no need for .env.
layout python
export API_KEY=123