Open pscicluna opened 2 years ago
Internally, I would suggest each package (emcee, sbi, zeus, dynesty, etc.) has a __cite__()
function (either from itself, or associated on its behalf by ampere - most code comes with such a thing these days) that can be appended as code is called using ampere, so that at the end of the run the ampere data structure has a self.__cite__()
with a list of all the bibtex citations of the packages used during the analysis.
We can add citations for ampere itself, but should also provide users with the information they need to cite all packages that ampere depends on - not just explicit dependencies, such as pyphot or emcee, but also all the implicit ones which would like to be cited, which includes e.g. requests, or BLAS. This will vary depending on things like which inference method is used, so perhaps a run of ampere should spit out a batch of bibtex each time, or append it to the logs? Ideas are welcome, both for how to handle it internally, and how to provide the information to the user in a way that isn't intrusive but also strongly encourages them to actually cite everything.