You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please add more documentation to DistributionMeta. This code block controls the logic for basically all distributions but its unclear what exactly its doing, or why.
With some googling I'm realizing that clsdict seems to be some convention for ABCMeta functionality. Nonetheless I think we should still document it in PyMC for these following reasons
It doesnt seem to be a common pattern so im not finding many examples
This portion of the code is loaded with tons of "hardcore" python functionality, from Metaclasses to use of __new__ overwrite, to singledispatch
A lot of this then references other libraries like AePPL, in particular using design choices that aren't immediately obvious
The subset of people in the world that have enough stats knowledge to contribute to PyMC, know Python well enough to know what each individual line does, and know the design patterns of PyMC, AePPL, and Aesara is very small. I'm definitely not one of them :)
Documentation will go a long way to help make this critical part of the library less challenging to understand!
Activity
[-]Add docstring and type hints to Distribution Meta[/-][+]Add docstring and type hints to DistributionMeta[/+]canyon289 commentedon Jan 14, 2022
With some googling I'm realizing that clsdict seems to be some convention for ABCMeta functionality. Nonetheless I think we should still document it in PyMC for these following reasons
__new__
overwrite, to singledispatchThe subset of people in the world that have enough stats knowledge to contribute to PyMC, know Python well enough to know what each individual line does, and know the design patterns of PyMC, AePPL, and Aesara is very small. I'm definitely not one of them :)
Documentation will go a long way to help make this critical part of the library less challenging to understand!
https://programtalk.com/python-examples/abc.ABCMeta.__init__/
ricardoV94 commentedon Jan 14, 2022
See #5308
OriolAbril commentedon Mar 3, 2022
It looks like this was addressed already. Can it be closed?