Closed gschivley closed 5 years ago
Good idea. Can you suggest an example github repo where this is done well?
Check out https://github.com/gschivley/battery_model. I use environment.yml files to create conda environments but even a requirements.txt with minimum dependencies would be nice.
Something like environment.yml
is also key if you want users to be able to reproduce archived model runs -- if you've got the same input data and the same version of Temoa, you can still get different outputs if the versions of the other software that Temoa depends on aren't the same. Ideally I think you'd want to archive an exact software environment (all the Python packages and their specific versions) alongside published results for reproducibility.
Hi Zane -- Yes, agreed. Figuring out a way to archive the software environment is high on the summer priority list. We're exploring a couple possibilities: (1) create a conda environment using an environment.yml file, or (2) create a Docker image with all required software preinstalled. Let me know if you have thoughts on the best way to do this.
I think the environment.yml
file is a good lightweight way to go about it -- and they can be used to generate Docker image too if that's what's needed. This is what binderhub does, using repo2docker
An environment.yml file is now included in our GitHub repo, and I've updated the readme accordingly. Thanks @gschivley and @zaneselvans for suggestions.
The documentation lists a few requirements but it would be nice to have a requirements.txt or environment.yml file with explicit requirements listed.