Skyfield and 15 Years of Bad APIs

Summary

I released the first version of PyEphem in 1998. Built with SWIG, it made astronomical calculations in Python only slightly more convenient than writing C code to make raw calls to the libastro library. A massive rewrite five years later improved the interface, but a decade of fielding questions from users has convinced me to re-think how an API can better help programmers cope with an unfamiliar and complex domain like astronomy. This talk will explore how API design, NumPy integration, and modern high-performance Python computation combine in Skyfield, the new pure-Python astronomy library that I will release during the PyCon Canada sprints!