I didn’t have time to look into this, but @stuartarchibald gave me great advice here.
It may not be exactly the same as what you’re doing but at the very least it should help you understand which functions a given version of scipy.special is exporting.
Also, I don’t have an immediate handle on it but there was a project out there that reimplemented parts of scipy.special in numba’d python. I don’t know if it has the kv()
function you’re interested in.