Any variational bayesian package that allows user defined custom distribution (getq in turing)

Hi all,

I wondered if there’s any package that allow the user to specify any kind of distribution as q(Z).

I think in https://turinglang.org/v0.30/tutorials/09-variational-inference/ it is mentioned that by default the mean field assumption is used. However, in the section “Relaxing the mean-field assumption¶” it indicates that users can change the covariance to a non-diagonal matrix but still as I understand it should be a (multi)normal distribution. I wonder if other types of distributions are allowed to specify q(Z). Thanks in advance.

Or is it possible to specify a non-normal distribution for the target variable say exponential in stead of that used by default in vi() which I think is independent normally distributed variables.