# Add seaborn to default conda environment

XMLWordPrintable

## Details

• Type: RFC
• Resolution: Unresolved
• Component/s:
• Labels:

## Description

The seaborn package helps make matplotlib plots a lot cleaner and allows one to trivially reconfigure the fonts and line thicknesses of a plot for a paper, talk, or poster. It also has a number of useful plot types that do not come with matplotlib by default (e.g. 2d histogram with marginal distributions, KDE plots).

Seaborn is still under active development, and does not add any additional dependencies to our conda environment. The package is quite small: when I pip-installed it just now, the wheel file was ~215kB.

As an example, when I make plots I typically have these three lines after my matplotlib import, resulting in figures with much more prominent fonts and line widths, even ignoring the other improvements seaborn provides:

 import seaborn as sns sns.set_style("ticks", {"legend.frameon": True}) sns.set_context("talk") 

## Activity

Hide
Kian-Tat Lim added a comment -

This is in conda-forge and seems to be of utility within the Pipelines as well as for general usage, so I'm OK with adding it.

Show
Kian-Tat Lim added a comment - This is in conda-forge and seems to be of utility within the Pipelines as well as for general usage, so I'm OK with adding it.
Hide
Merlin Fisher-Levine added a comment -

I too like seaborn so I vote for this.

Show
Merlin Fisher-Levine added a comment - I too like seaborn so I vote for this.
Hide
Tim Jenness added a comment -

We are currently working on the concept of an "extras" package list that can build on top of the science pipeline base environment and allow the shared stack and science platform to install more packages without burdening Jenkins. If seaborn is not needed for Jenkins CI then maybe we should consider this being one of the first packages in the extras definition? Kian-Tat Lim do we have a timescale for this add-on package list?

Show
Tim Jenness added a comment - We are currently working on the concept of an "extras" package list that can build on top of the science pipeline base environment and allow the shared stack and science platform to install more packages without burdening Jenkins. If seaborn is not needed for Jenkins CI then maybe we should consider this being one of the first packages in the extras definition? Kian-Tat Lim do we have a timescale for this add-on package list?
Hide
Dan Taranu added a comment -

I use it for all 'production' plots, so I am in favour as well.

Show
Dan Taranu added a comment - I use it for all 'production' plots, so I am in favour as well.
Hide
Meredith Rawls added a comment -

I don't currently use seaborn, but I know many folks who do, and I might start if it were in the Science Pipelines!

+1 this seems like a useful lightweight add.

I support developing a formal extras/add-on package list, but I do NOT support holding up this RFC waiting for it.

Show
Meredith Rawls added a comment - I don't currently use seaborn, but I know many folks who do, and I might start if it were in the Science Pipelines! +1 this seems like a useful lightweight add. I support developing a formal extras/add-on package list, but I do NOT support holding up this RFC waiting for it.
Hide
John Swinbank added a comment -

Approved by CCB, 2020-07-15.

Show
John Swinbank added a comment - Approved by CCB, 2020-07-15.
Hide
John Swinbank added a comment -

John Parejko — in case it's not clear, note that CCB approval means you are free to adopt this RFC as soon as you've filed an triggered ticket.

Show
John Swinbank added a comment - John Parejko — in case it's not clear, note that CCB approval means you are free to adopt this RFC as soon as you've filed an triggered ticket.

## People

• Assignee:
John Parejko
Reporter:
John Parejko
Watchers:
Dan Taranu, John Parejko, John Swinbank, Kian-Tat Lim, Meredith Rawls, Merlin Fisher-Levine, Tim Jenness