I've been experimenting with the new Google Reverse Geocoding which allows you to get the location name and country and stuff from a latitude/longitude coordinate.
What I've been doing is comparing this with GeoNames. GeoNames is available from geopy in the reverse-geocode branch.
I wrote down a list of about 15 lat/long points and the result I expect from them (taken from an existing app I'm contemplating switching to Google Reverse Geocoding for) and ran a batch of timed tests on. These results might satisfy the impatient:
FAILURES:
geonames_json 0
google 0
geonames 12
TOTAL TIMES:
geonames_json 2.43582677841 0.143283928142 seconds/request
google 2.24999976158 0.132352927152 seconds/request
geonames 1.78063511848 0.104743242264 seconds/request