Software Open Access
Michael Waskom; Olga Botvinnik; Joel Ostblom; Saulius Lukauskas; Paul Hobson; MaozGelbart; David C Gemperline; Tom Augspurger; Yaroslav Halchenko; John B. Cole; Jordi Warmenhoven; Julian de Ruiter; Cameron Pye; Stephan Hoyer; Jake Vanderplas; Santi Villalba; Gero Kunter; Eric Quintero; Pete Bachant; Marcel Martin; Kyle Meyer; Corban Swain; Alistair Miles; Thomas Brunner; Drew O'Kane; Tal Yarkoni; Mike Lee Williams; Constantine Evans
This is a major update that is being released simultaneously with version 0.9.1. It has all of the same features (and bugs!) as 0.9.1, but there are important changes to the dependencies.
Most notably, all support for Python 2 has now been dropped. Support for Python 3.5 has also been dropped. Seaborn is now strictly compatible with Python 3.6+.
Minimally supported versions of the dependent PyData libraries have also been increased, in some cases substantially. While seaborn has tended to be very conservative about maintaining compatibility with older dependencies, this was causing increasing pain during development. At the same time, these libraries are now much easier to install. Going forward, seaborn will likely stay close to the Numpy community guidelines for version support.
This release also removes a few previously-deprecated features:
seaborn.timeseriesmodule have been removed. Recall that
tsplotwas replaced with
seaborn.apionlyentry-point has been removed.
seaborn.linearmodelsmodule (previously renamed to
seaborn.regression) has been removed.
Now that seaborn is a Python 3 library, it can take advantage of keyword-only arguments. It is likely that future versions will introduce this syntax, potentially in a breaking way. For guidance, most seaborn functions have a signature that looks like
func(x, y, ..., data=None, **kwargs)
**kwargs are specified in the function. Going forward it will likely be necessary to specify
data and all subsequent arguments with an explicit
key=value mapping. This style has long been used throughout the documentation, and the formal requirement will not be introduced until at least the next major release. Adding this feature will make it possible to enhance some older functions with more modern capabilities (e.g., adding a native
hue semantic within functions like