So I thought I would throw the reference in the Py..Links so I/we don't forget.

The code can be found on my GitHub link but I have attached a copy to this post.

I spared no effort in code verbosity and I tried to remain faithful to Chris Veness's documentation and presentation of the original code implementation. His page contains an interactive calculator implemented in Java if you just need a few calculations. I have included a few sample calculations here should you be interested

So use Bruce's if you need to geocode... use Chris's if you just need a few points.... or play with this incarnation should you need to incorporate a function in your own code. I will get around to converting it to NumPy eventually so one can process large sets of origin-destinations that need a tad more than a spherical estimate. The current version of the program uses iteration which makes it a poor candidate for vectorization on arrays, but there are other implementations one can use.