Thanks for feedback, glad it's useful!
I'm not sure if there's a "recommended" way, I guess it's more about what works for you. That's how I use bean-price most of the time, getting a couple data points at the same time I update my ledger regularly.
https://gitlab.com/chrisberkhout/pricehist allows fetching prices for a period of time and apparently does it in a single request (for a single currency) so it's blazingly fast. I've been occasionally using it to fetch prices for the whole period for the commodities that are more important (e.g. base currencies). So I've added that option as well.
I guess under the hood bean-price sequentially goes through the list of commodities and does the same so it could in theory support <all commodities> x <whole period> fetching. For example, I haven't yet looked in detail into how bean-price --update works. If it does it efficiently (at least not more than one request per currency), I could add that support as well.
Regarding the structure of files, I'm not sure what people are normally using. I personally prefer multi-file setup because it's easier to manage and I haven't noticed any overhead. Happy to add more configuration/options regarding where the
fetched data goes but decided not to overcomplicate things for now.
Vasily