-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Command to execute "prepared procedures" #2603
Conversation
Both replicate and replace functionality that is currently only available as part of `create`, but is frequently needed at a latter stage in the life span of a dataset.
Codecov Report
@@ Coverage Diff @@
## master #2603 +/- ##
==========================================
- Coverage 90.32% 90.31% -0.02%
==========================================
Files 241 242 +1
Lines 30265 30375 +110
==========================================
+ Hits 27337 27432 +95
- Misses 2928 2943 +15
Continue to review full report at Codecov.
|
Example: datalad \ -c datalad.locations.system-procedures=/bin \ -c 'datalad.clean.run-before=echo COMPLAIN' \ clean The above prints "COMPLAIN" just before the `clean` command is executed.
Also bring back the old test.
Simply by installing them into `resources/procedures` underneath their own module.
I'll take a look at it today. |
OSX looks like spurious connection failure |
This feature will be used for dataset templates, and the ability to run things with a dirty dataset and to save specific outputs is useful in general. Re: datalad#2593, datalad#2603
Arrg, forgot that docs were pending... Coming shortly. |
Rational is in #2593 AKA
run-before
/run_after
configuration snippets
The current state of the PR implements the procedural aspects of #1462.
This will not be complete until
run
gets a feature extension discussed in #2593. But already does meaningful things now (but limited to clean datasets right now).Desired functionality is not limited to dataset management/setup use cases (for which datalad could ship a bunch of procedures), but also targets totally custom user-provided functionality. Example:
A dataset can provided implementations of a bunch of algorithms. Another dataset can include this dataset as a subdataset and configure its own
datalad.locations.dataset-procedures
config to extend search for procedures to the subdataset directory. This can be used to expose a "toolchain" of arbitrary procedures to the new parent dataset. Such procedures can be full blow data processing pipelines...TODOs (not necessarily all in this PR):
run-before
/run_after
functionality that is commented out right now. This will reenable the configuration handling to run arbitrary procedures before and after other commands, based on user configuration. Use case: "create --run-after mydatasetsetuproutine" -> dataset templates.run
work with dirty datasets @kyleam do you have some extra juice for that?run: Add --explicit flag #2607