I would prefer something in python (but I would settle for any programming language) and something that I could install on my own server so the only limitations would be hardware (no throttling, no daily request limits, etc). i.e. I'm not interested in using a hosted service like Google Maps API.
What I want to be able to do is something like:
for location in locations_data_store:
location.elevation = some_module.lookup_elevation(location.lat, location.lon)
location.persist()
Or, it could be more involved than that. I don't mind making a REST API request, parsing some JSON, or in some other way more complex programmatically.