> Is there an existing function in one of the libraries you mention
> that has the desired behavior (in the context of that library)? That would
> help.
Yes, and we are currently parsing and evaluating strings to convey the meaning.
Patsy is currently used by statsmodels to parse strings in the following way:
```
from patsy import ModelDesc, Term, EvalFactor
ModelDesc([Term([EvalFactor("y")])],
[Term([]),
Term([EvalFactor("a")]),
Term([EvalFactor("a"), EvalFactor("b")]),
Term([EvalFactor("np.log(x)")])
])
```
"Compare to what you get from parsing the above formula:"
```
ModelDesc.from_formula("y ~ a + a:b + np.log(x)")
```
In the past when we have been eval'ing strings, we added functionality so users
could avoid it (`getattr`, et. al.).
Sympy is rather new, but I think they'd appreciate it since they have an entire
subpackage for distributions:
https://docs.sympy.org/latest/modules/stats.html
I do envision other usages, but these are the strongest cases I have right now.
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/MZFA265UAJR46KDAGFZ7BWMRHG4RX77H/
Code of Conduct: http://python.org/psf/codeofconduct/