pymc-devs / pymc-experimental

https://pymc-experimental.readthedocs.io
Other
72 stars 47 forks source link

change default_model_config form @property to @staticmethod #225

Closed michaelraczycki closed 10 months ago

michaelraczycki commented 11 months ago

Current design is shorter for usage inside the classes themselves, but when it comes to end user experience it forces initialization of the model class to take a look at customizable variables

pdb5627 commented 11 months ago

This looks like something I could do, though I'd like to ask some clarification. It seems that starting in Python 3.11, @classmethod and @property cannot be chained. If the method is changed from a property to a class method, would you like it renamed from a noun (default_model_config) to a verb (e.g. get_default_model_config)? Or define a classproperty decorator so it can stay a property? Otherwise it's as straightforward as adding parentheses to references.

michaelraczycki commented 11 months ago

Hello @pdb5627, we don't want to chain the decorators, but only replace it (@property->@staticmethod). The main purpose of it is to remove the necesity of initialization of a model to see the default values from the user's standpoint. Yes, I think that the change to a verb should be done, but also it would require searching through the LinearModel and tests to replace it there