____ _ _ _
| _ \ __ _ | |_ __ _ | | __ _ __| |
| | | | / _` || __| / _` || | / _` | / _` |
| |_| || (_| || |_ | (_| || |___ | (_| || (_| |
|____/ \__,_| \__| \__,_||_____| \__,_| \__,_|
Container
This is a high level and scarce summary of the changes between releases. We would recommend to consult log of the DataLad git repository for more details.
- The Docker adapter unconditionally called
docker run
with--interactive
and--tty
even when stdin was not attached to a TTY, leading to an error.
-
The Docker adapter, which is used for the "dhub://" URL scheme, assumed the Python executable was spelled "python".
-
A call to DataLad's
resolve_path
helper assumed a string return value, which isn't true as of the latest DataLad release candidate, 0.12.0rc6.
- The default result renderer for
containers-list
is now a custom renderer that includes the container name in the output.
- Temporarily skip two tests relying on SingularityHub -- it is down.
The minimum required DataLad version is now 0.11.5.
-
The call format gained the "{img_dspath}" placeholder, which expands to the relative path of the dataset that contains the image. This is useful for pointing to a wrapper script that is bundled in the same subdataset as a container.
-
containers-run
now passes the container image torun
via itsextra_inputs
argument so that a run command's "{inputs}" field is restricted to inputs that the caller explicitly specified. -
During execution,
containers-run
now sets the environment variableDATALAD_CONTAINER_NAME
to the name of the container.
-
containers-run
mishandled paths when called from a subdirectory. -
containers-run
didn't provide an informative error message whencmdexec
contained an unknown placeholder. -
containers-add
ignores the--update
flag when the container doesn't yet exist, but it confusingly still used the word "update" in the commit message.
containers-list
recursion actually does recursion.
-
containers-list
no longer lists containers from subdatasets by default. Specify--recursive
to do so. -
containers-run
no longer considers subdataset containers in its automatic selection of a container name when no name is specified. If the current dataset has one container, that container is selected. Subdataset containers must always be explicitly specified.
-
containers-add
learned to update a previous container when passed--update
. -
containers-add
now supports Singularity's "docker://" scheme in the URL. -
To avoid unnecessary recursion into subdatasets,
containers-run
now decides to look for containers in subdatasets based on whether the name has a slash (which is true of all subdataset containers).
- list/use containers recursively from installed subdatasets
- Allow to specify container by path rather than just by name
- Adding a container from local filesystem will copy it now
- Add support
datalad run --explicit
.
- Initial support for adding and running Docker containers.
- Add support
datalad run --sidecar
. - Simplify storage of
call_fmt
arguments in the Git config, by benefiting fromdatalad run
being able to work with single-string compound commands.
- Basic beginner documentation
- Add container images straight from singularity-hub, no need to manually
specify
--call-fmt
arguments.
- Use "name" instead of "label" for referring to a container (e.g.
containers-run -n ...
instead ofcontainers-run -l
.
- Pass relative container path to
datalad run
. containers-run
no longer hidesdatalad run
failures.
- Initial release with basic functionality to add, remove, and list
containers in a dataset, plus a
run
command wrapper that injects the container image as an input dependency of a command call.