Release Notes
v0.17.4-1
Bug Fixes
pin
pip<23.2
to avoid breaking change impacting pip-tools for Python 3.7
v0.17.4
Bug Fixes
Fixed an issue that caused base virtual environments to get modified when common dependencies were installed in child virtual environments.
v0.17.3
Bug Fixes
Fixes an issue in which riot generated a requirements lockfile for a Venv instance other than the one it was running tests for. This behavior was happening due to logic that skipped Venv instances with pkgs == None while preparing the environment, but not while running tests. The fix is to stop riot from ignoring pkgs-less Venvs in all cases.
v0.17.2
Bug Fixes
Avoid using latests versions of
virtualenv
since it has dropped support for Python 2.7.
v0.17.0
New Features
Adds the
riot requirements <hash>
command, which uses pip-compile to generate a requirements lockfile for venv identified by the hash
Adds the
-c/--recompile-requirements
flag toriot run
. When set, this flag causes the requirements.txt lockfile and the venv itself to be regenerated. When omitted, the requirements lockfile is only built if it does not already exist.
v0.16.0
Deprecation Notes
Drop support for python 3.6
Bug Fixes
Prefix paths are now capped to avoid generating paths longer than the FS can support.
v0.15.0
New Features
add
riot list --hash-only
option to list only venv short hashes
v0.14.1
Bug Fixes
Modified the output of the
--interpreters
flag for the riot list command to be sorted by versions and be newline-separated instead of comma-separated.
v0.14.0
New Features
A
--interpreters
flag has been added to the riot list command, which will output a list containing the unique python versions corresponding to each matching riot venv.
v0.13.0
New Features
Add
RIOT_ENV_BASE_PATH
environment variable to change the default path of.riot
directory instead of current path.
Riot can now be used to run commands in virtual environments even when a Python setup file is not available in the working directory. A warning will be issued in these cases instead.
Bug Fixes
Ensure a “restart” of virtualenv deleting the old one with recreation option (-r)
Riot will now use the path of the actual discovered Python binary to create virtual environments, instead of using wrapping shell scripts (e.g. pyenv shims).
Ensure that the dev package is always installed in the base environment when it is created for the first time, if any exist.
v0.12.2
Bug Fixes
Fixed the shell command to use the correct created virtual environment instead of always defaulting to the base one.
v0.12.1
Bug Fixes
Fix issue with
riot shell
not passing required environment variables
Fix issues with
riot shell
always trying to source~/.bashrc
v0.12.0
New Features
The shell command now uses the system default shell as specified by the
SHELL
variable instead of enforcing the use of bash.
v0.11.0
New Features
Inject riot virtualenv instance data into each run via environment variables:
RIOT
: always set to"1"
RIOT_PYTHON_HINT
: the Python version hint provided to riot, e.g."3.6"
RIOT_PYTHON_VERSION
: the actual Python found/used by riot, e.g."3.6.10"
RIOT_VENV_HASH
: the short hash for the running virtualenv instance, e.g."d36fc71"
RIOT_VENV_IDENT
: the string identifier used to create the virtualenv, e.g."pytest_pytest-cov_mock_typing-extensions"
- Note: This is only set if the virtualenv instance has defined packagesRIOT_VENV_NAME
: the name of the virtualenv instance running, e.g."test"
,"mypy"
, etcRIOT_VENV_PKGS
: the string of packages + versions this virtualenv instance provided to thepip install
command, e.g."'pytest' 'pytest-cov' 'flask>=2.0.0'"
- Note: this may be empty if only parent virtualenv packages are usedRIOT_VENV_FULL_PKGS
: the full list of packages this virtualenv instance and all of it’s parents provided to thepip install
command, e.g."'pytest' 'pytest-cov' 'flask>=2.0.0'"
Add short hash to command summary.
0.10.0
New Features
Match pattern against
VenvInstance.name
andVenvInstance.short_hash
. This allows you toriot run <hash>
to run only a specific instance.
0.9.0
New Features
Added the shell command to spawn a shell inside a virtual environment instance.
0.8.1
Bug Fixes
It is now possible to pass command line arguments (“cmdargs”) that contain spaces. That means command line such as
riot run foobar -- -k 'not this'
is now interpolated correctly in the command line.
Fix the handling of package extras in shells where [ and ] are used special characters (eg.
zsh
).
0.8.0
New Features
Added the
create
argument that allows explicitly creating and using a virtual environment instance with all the dependencies from parent instances installed within it.
0.7.2
Bug Fixes
Fix handling of interpreter override to avoid repeated command invocations.
0.7.1
Bug Fixes
Fixed handling of environment variables, package installations and namespace packages.
0.7.0
New Features
Add
Interpreter.version_info
function to get interpreter version as a (major, minor, patch) tuple.
Bug Fixes
Fix issue where packages from child
Venv
may get installed in parentVenv
. Instead of copying the parentVenv
to create the child, create a newVenv
and add the parentVenv``s ``site-packages
to the PYTHONPATH when running commands.
0.6.0
New Features
Add new
riot run -x/--exitfirst
option to stop executing further test suites after the first one fails.
source the shell from the system’s
SHELL
environment variable, if that’s missing fall back to/bin/bash
as the default shell.
0.5.0
New Features
Added the option
--skip-missing
to skip runs on missing Python interpreters.
The environment variables
LANG
,LANGUAGE
,SSL_CERT_FILE
,HTTP_PROXY
,HTTPS_PROXY
,NO_PROXY
,PIP_INDEX_URL
andPATH
are always passed to the test environment variables.