I don't have a direct answer to your question. But here is a comprehensive overview of community detection in networks which I found useful. Maybe it helps you find out what algorithm works best for your specific purpose:
Fortunato, S. (2010). Community detection in graphs. Physics Reports, 486(3-5), 75–174. doi:10.1016/j.physrep.2009.11.002
Obviously all depends on the kind of network you want to analyze and on the properties that you are searching in its community.
If you are interested in overlapping partition I suggest DEMON, you can easily find its python implementation on GitHub (first reference). Conversely, if you search an algorithm that extracts and tracks communities in dynamic social networks give a look at TILES (second reference).
Article Uncovering Hierarchical and Overlapping Communities with a L...
Article Tiles: an online algorithm for community discovery in dynami...