# Create and fix requirements files # drain-swamp IS NOT a venv manager. tox and pyenv are venv managers # mkdir .tox && cd .tox && pyenv versions --bare > .python-version; cd - &>/dev/null # rm -rf build/lib; cd .tox && tox -r --root=.. -c ../tox-req.ini -e base --workdir=. -vvv; cd - &>/dev/null # rm -rf build/lib; cd .tox && tox -r --root=.. -c ../tox-req.ini -e docs --workdir=.; cd - &>/dev/null [tox] isolated_build=True env_list = base, docs toxworkdir = {env:TOXWORKDIR:.tox} skip_missing_interpreters = true [testenv] usedevelop = False download = True # Important. The entire point is to ensure use of the appropriate python interpreter basepython = docs: python3.10 base: python3.9 passenv = * setenv = PYTHON_COLORS=0 TOXINIDIR = {toxinidir} allowlist_externals = reqs [testenv:docs] description = fix requirements for .doc/.venv # do not assume .lock and .unlock files already exist deps = -c requirements/pins.in -r requirements/prod.in wreck allowlist_externals = reqs commands = reqs fix --path={env:TOXINIDIR} --venv-relpath=.doc/.venv [testenv:base] description = fix requirements for .venv # do not assume .lock and .unlock files already exist deps = -r requirements/prod.in wreck allowlist_externals = reqs commands = reqs fix --path={env:TOXINIDIR} --venv-relpath=.venv