I'm really not happy about adding Obspy as a dependency just for this function. Obspy itself requires a fortran compiler and I think there are potential installation problems here (I have experienced them on Ubuntu). Looking at the source code for the beachball.py file I am actually not seeing anything dependent on any other part of obspy. Have you tried just copying the beachball.py function out of obspy and seeing if it can run stand-alone?