Best Practices¶
Dependency Management & Reproducibility¶
Always keep your abstract (unpinned) dependencies updated in
environment.yamland eventually insetup.cfgif you want to ship and install your package viapiplater on.Create concrete dependencies as
environment.lock.yamlfor the exact reproduction of your environment with:conda env export -n justcause -f environment.lock.yaml
For multi-OS development, consider using
--no-buildsduring the export.Update your current environment with respect to a new
environment.lock.yamlusing:conda env update -f environment.lock.yaml --prune
Organization, Logging and Reproduction of Experiments¶
Sacred is a wonderful tool to do reproducible experimentation. From their documentation:
Sacred is a tool to configure, organize, log and reproduce computational experiments. It is designed to introduce only minimal overhead, while encouraging modularity and configurability of experiments.
We thus recommend to use it together with JustCause and will add some more details here soon.