We use Bessel functions in the C++ layer, that we get from boost.  It wouldn't be that hard to just wrap that and not require scipy.  If you think it would be useful, I can volunteer to do that.