You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add special syntax, expanding input and output (e.g. dvc run -d foo -o bar "cp {input} > {output}")
...
Cons: No way to split several outputs (e.g. dvc run -o 1.txt -o 2.txt)
Maybe something more like printf (widely known) e.g. dvc run "cp {%d} > {%o}" -d foo -o bar could help overcome the mentioned con.
BUT:
Are there any discussions open about the complexity of dvc run though? I've heard mention about this and so if we decide to break it up into several commands then maybe this whole issue would need to be revisited after that redesign happens.
There have been already many threads discussing different ways to specify
outputs and dependencies on the command invocation:
dvc run
commands - #1119This issue intents to summarize the different approaches so we can discuss
them and hopefully take a decision. (cc: @iterative/engineering , et al.)
Reducing duplication while defining the run command will help you to:
cmd
more readable (by having meaningful names instead of relpaths)Ideas
--pass-params
to add all the deps/outs in the same order:dvc run -d raw=data/raw "for file in $raw ..."
):PathInfo
could store it in analias
attribute)dvc
, maybe we will need to implement a special syntaxinput
andoutput
(e.g.dvc run -d foo -o bar "cp {input} > {output}"
)dvc run -o 1.txt -o 2.txt
)Makefile shenanigans (e.g.
$<, $^, $%
, rules, etc.)Use environment variables and let the shell do the job (e.g
raw=data/raw dvc run -d $raw "for file in $raw"
):%var%
instead of$var
)The text was updated successfully, but these errors were encountered: