Closed JostMigenda closed 1 year ago
I think having to sync after each new SNOwGLoBES is a big disadvantage. Maybe it can be possible to publish SNOwGLoBES data files as a pipy package, and then just list it as a dependency in SNEWPY? We can make an automatic publishing pipeline for the new releases, if maintainers would agree.
Currently, we already have to do checks before supporting a new SNOwGLoBES version. I agree that's not ideal, but at least it wouldn't get any worse by this suggested change.
Having SNOwGLoBES data files as a separate PyPI package would be a good way to solve this and easier for us (as long as that package follows Semantic Versioning, so that any change to the format of the data files would be a major update); but it would put more work on the SNOwGLoBES maintainer(s) and I get the impression they are already stretched thin. Possibly something to discuss with Kate at the next telecon?
As @sybenzvi suggested in #26, it would be nice to bundle SNOwGLoBES data files (detector definitions, smearings, efficiencies, cross sections) with snewpy, so it can be installed with a single
pip install snewpy
rather than requiring a separate download.Tying snewpy versions to specific SNOwGLoBES data file versions has both benefits and drawbacks: On the plus side, it would make snewpy outputs more reproducible (because a given snewpy release would always use known smearing files) and it would eliminate any compatibility issues (as in #201) that users might encounter when a new SNOwGLoBES version is released that isn’t supported by snewpy yet. The down side is that if a backwards-compatible SNOwGLoBES release adds e.g. a new detector, we would need to release a new snewpy version to update bundled files. (However, given that SNOwGLoBES updates don’t happen very often and making a new snewpy release only takes a few minutes, I don’t think this is a serious problem.)
Before implementing that, we should first ask SNOwGLoBES maintainers if they’re happy with that and check the SNOwGLoBES license for legal requirements (include license file, copyright notice, etc.)