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
A custom plugin (code) might be executed to check a dependency change. A plugin could be any command which returns 0 if repro is not needed.
Solution examples:
Run a script check_db.sh to validate if a table was changed and then execute the DB dump script (if it was a change). Command example: dvc -d db_dump.sh -p check_db.sh -o clients.csv run db_dump.sh clients.csv. Note, there is a new, plugin option -p.
dvc -d train.py -p "python check_method_change.py MyClass.mycode change_timestamp" -d change_timestamp -o clients.csv run train.py where check_method_change.py check the code changes and returns 0 if it was a change.
UPDATE: Please note that the script check_method_change.py might be still our responsibility and we should implement it (probably outside of DVC core).
Problem
DVC reproduces command if dependencies were changed. Today we support many general types of dependencies:
dvc run -d azure://path/to/my blob train.py ....dvc run -d train.py -d images/ train.py ...However, there are a bunch of not general dependencies which cannot be validated by DVC.
Problem examples:
mycode()was changed in classMyClassin a python filetrain.py.Possible solution
A custom plugin (code) might be executed to check a dependency change. A plugin could be any command which returns 0 if repro is not needed.
Solution examples:
check_db.shto validate if a table was changed and then execute the DB dump script (if it was a change). Command example:dvc -d db_dump.sh -p check_db.sh -o clients.csv run db_dump.sh clients.csv. Note, there is a new, plugin option-p.dvc -d train.py -p "python check_method_change.py MyClass.mycode change_timestamp" -d change_timestamp -o clients.csv run train.pywherecheck_method_change.pycheck the code changes and returns 0 if it was a change.UPDATE: Please note that the script
check_method_change.pymight be still our responsibility and we should implement it (probably outside of DVC core).