Define a user proposal distribution in Metropolis

Hello!

I would like to use user defined proposal distribution (not reversable) in Metropolis sampler. Could you help me with implementation of this or give me some key maybe.
I found something close in documentation for PyMC2 https://pymc-devs.github.io/pymc/extending.html But I believe this approach would not work in PyMC3.
Thanks for help.