Open drbenvincent opened 1 year ago
I agree with most of the points, but would try to keep the requirements there minimal.
Expanding and being explicit on all downstream dependencies we use explicitly is a good idea I think too. Therefore, numpy, scipy, pandas, xarray, matplotlib, arviz. I would also add graphviz (unless there is an option for pymc[all] or something of the sort that installs pymc and optional dependencies. Regarding the others I think we could add some extra libraries that are not pymc dependencies (direct or indirect) but I would be quite strict on that. I would clearly not include patsy
for example which I think is only used in one example, whereas seaborn or bambi are used much more extensively and should probably have a place there. Formatting things are fine with me as long as the docs are clear that it is not required to used them, the only condition is getting pre-commit to pass
The current requirements file is out of date and potentially too minimal
https://github.com/pymc-devs/pymc-examples/blob/dce63a03b894d39a0a39a4773f9a0226078391c1/requirements-write.txt#L1-L9
Todo
pymc3
withpymc
, possibly with a>=4.0
version tag.matplotlib
numpy
xarray
seaborn
bambi
jupyterlab-code-formatter
,isort
(useful when writing notebooks in the browser, rather than VS Code for example)patsy
scipy
daft
(for making causal DAG's)pre-commit
is still appropriatepymc-examples-env
environment. E.g.conda create --name pymc-examples-env --file requirements-write.txt
Happy to take feedback on this of course.