TemoaProject / temoa

Tools for Energy Model Optimization and Analysis
http://temoacloud.com
GNU General Public License v2.0
84 stars 48 forks source link

Requirements file #4

Closed gschivley closed 5 years ago

gschivley commented 5 years ago

The documentation lists a few requirements but it would be nice to have a requirements.txt or environment.yml file with explicit requirements listed.

TemoaProject commented 5 years ago

Good idea. Can you suggest an example github repo where this is done well?

gschivley commented 5 years ago

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.

zaneselvans commented 5 years ago

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.

TemoaProject commented 5 years ago

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.

zaneselvans commented 5 years ago

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

TemoaProject commented 5 years ago

An environment.yml file is now included in our GitHub repo, and I've updated the readme accordingly. Thanks @gschivley and @zaneselvans for suggestions.