Review and update API docs
We need to make sure all our public api is documented and that they are documented at the recommended import path. #5266 updated the distributions subsection (but I did not check there were no distributions missing) and can be used as template.
Note: if there are functions/classes that are not (or should not be) part of the public api but you think it would be helpful (even if only to you) to have a rendered version of their docstring on the website list them here too. I am considering adding a private api subsection within the contributing section
#5367 updated import paths and reviewed everything was present for the gp module.
Model, sampling, step functions, backends, logprob, bart, smc, vi... are still missing
From https://github.com/pymc-devs/pymc/issues/5308#issuecomment-1008246051. Only the .dist method of distributions should be documented, get_moments, logcdf... should not: I think this mostly involves a custom "distribution" template for autosummary, based on https://github.com/pymc-devs/pymc/blob/main/docs/source/_templates/autosummary/class.rst
Noticed in #5543 that pymc.draw passes the kwargs to compile_pymc and tries to generate a link to it in the kwargs description, but this compile_pymc is not in the __all__ of aesaraf.py file nor included in the API docs, so no link is generated because the target where it would point to does not exist
We can also look into improving the structure, grouping the functions in the math page by type, logical, matrix operations, trigonometric... grouping distributions inside discrete or continuous also in different groups depending on the range for example of their domain, grouping related functions that are in different files (i.e. set_data is in model.py, like Potential or Deterministic and are now in model section, but they could be divided between the data and distribution sections)...
All the logp, logcdf... functions that are now functions at the top pymc namespace instead of methods are missing.
Let's punt this to 4.1.
In a recent discourse post it was mentioned that the kwargs available for all distributions are not documented. I could only find them in the docstring of the undocumented pm.Distribution.__new__() method. The v3 docs had these kwargs documented and it seems like they belong somewhere, though it is not clear to me where.