I briefly worked on tempo and beat estimation for electronic dance music and used a couple of correlation techniques for this. Basically, I used a combination of auto correlation and cross correlation using a grid technique to find the tempo and then used the tempo to find the beats. This was for a constant tempo though. I'm not sure how well that would work on non-constant tempo. You can take a look at my code and detailed algorithm on my Github repo here.
As per the latest MIREX results (a worldwide competition for some music information retrieval tasks), you should check out the madmom library. They seem to have amazing results and use machine learning for their approaches.
What is your exact use case? Let me know if you find something useful.