blackjax-devs / blackjax

BlackJAX is a Bayesian Inference library designed for ease of use, speed and modularity.
https://blackjax-devs.github.io/blackjax/
Apache License 2.0
806 stars 105 forks source link

Removing high-level API classes #659

Closed ciguaran closed 5 months ago

ciguaran commented 5 months ago

This is a continuation of:

https://github.com/blackjax-devs/blackjax/issues/492

https://github.com/blackjax-devs/blackjax/pull/501

See two solution alternatives https://github.com/blackjax-devs/blackjax/pull/657 replacing classes with objects of a single class https://github.com/blackjax-devs/blackjax/pull/658 replacing classes with functions

reubenharry commented 5 months ago

Thanks for looking into this! I tend to favour the more functional solution (#658)

junpenglao commented 5 months ago

Thank you for working on this!! This is a great suggest and i like the solutions!

So IIUC: #657 add the object to create high-level alias on top of the functional solution in #658. While I also like #658 better, for backward compatibility we should go with #657. It should be easy to migrate/deprecate the object in the future because it is just one Python object and everything will be in the single file.

albcab commented 5 months ago

+1 what Junpeng said since #658 would break any script using blackjax

junpenglao commented 5 months ago

Fixed in #657