Simple APIs and innovative documentation processes: looking back at the success of Scientific Python

A large and growing fraction of scientists enthusiastically advocate the
use of Python, a general-purpose language. In this talk, I will highlight
two essential factors of this success. First, the NumPy numerical array
object provides a solid foundation on which scientific packages have
built simple (and yet powerful) APIs. As I will show from the examples of
scikit-learn and scikit-image, such chiseled APIs have shrunk down to a
minimal form, thus reducing greatly the energy barrier to use the
libraries and improving users’ code maintainability and readability.
Second, I will present several innovative initiatives that helped
developing several complementary forms of user documentation since the
mid 2000’s, such as the collaborative definition of a documentation
standard, documentation marathons, or the more recent graphical example
galleries. I will illustrate this talk with several examples from the
use and development principles of scikit-image, an image processing
library relying on NumPy arrays, of which I’m a core contributor.