Here is perhaps a good example: Exponential likelihood at different location
And this is something we can already do (for some simple invertible transformations) in PyMC but it’s not yet documented or packaged for users.
import pymc as pm
with pm.Model() as m:
x = pm.Normal("x")
# This is kind of like
# y = pm.Deterministic("y", pm.Exponential.dist() + x, observed=5)
y = pm.Exponential.dist() + x
m.register_rv(y, name="y", data=5)