BrownDwarf / gollum

A microservice for programmatic access to precomputed synthetic spectral model grids in astronomy
https://gollum-astro.readthedocs.io/
MIT License
20 stars 5 forks source link

Configuration for running the code #105

Closed DanielAndreasen closed 4 months ago

DanielAndreasen commented 4 months ago

Hi all,

It's a very nice tool you have put together here, and I wish it was available when I did my PhD.

I think the paths for the libraries we have to download should be in a configuration file, rather than hardcoded into the software itself (it can default to what you have now though: ~/libraries). But if you have a file like ~/.config/gollum/config.yml (or whichever format you prefer), where the path to the libraries can be set, and possible other settings as well, I think it would be very nice.

Review link: https://github.com/openjournals/joss-reviews/issues/6601

Sorry for the late review, but more will come soon as I'm getting into testing.

Sujay-Shankar commented 4 months ago

Hi Daniel:

Thanks for your feedback! You are absolutely right that a configuration file is the way to go, and while the main gollum library doesn't have it yet, we're in the process of writing up a V2 interface that uses I believe .env files to house path data for grids. I'll get working on implementing a similar thing for the original interface, and have it point to the same directory.

Sujay-Shankar commented 4 months ago

Updates: With the last two commits, this issue should be solved. I've made PHOENIX, Sonora, and coolTLUSTY classes now default to pulling their path from config.env, located in gollum's source directory. The actual values are the same as before. The setup files have also been updated to reflect the new dependency of python-dotenv. Please let me know if there's anything else that comes up pertaining to this issue, if not we should be able to safely close this one.

DanielAndreasen commented 4 months ago

Great work. The only thing a bit annoying might be that changing the config, means the repository is out of sync, which can lead to problems when doing git pull, but I can live with that. Alternatively you could just write in the README.md how to write the config file, and have it in .gitignore, but this is also fine. Up to you if you will change it, or just close the issue.

Sujay-Shankar commented 4 months ago

Thanks for pointing that out, you're definitely right. I'll go with a 'constant' template config file, and create some mechanism to automatically copy the template to a git untracked config.env if it doesn't exist, and not overwrite existing config otherwise. I'll close the issue once I push this change.

Sujay-Shankar commented 4 months ago

Closed by the recent commit