Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
de9f702
Ignore otherwise unavoidable warnings in conftest.ini
mwaskom Jan 19, 2020
7da4f93
Remove old Makefile targets for Stanford website
mwaskom Jan 19, 2020
213a03e
Update table css to not break API page
mwaskom Jan 19, 2020
a48eb0e
Update Python kernel that is hardcoded into notebooks
mwaskom Jan 19, 2020
9958071
Fix thumbnail on gallery page
mwaskom Jan 19, 2020
41a3ab9
Include tests in lint check
mwaskom Jan 19, 2020
4e8ca85
PEP8 on Py27
mwaskom Jan 19, 2020
4777757
Force alphabetical sort of example gallery thumbs
mwaskom Jan 19, 2020
70ad6ed
Add file with pinned versions of doc dependencies
mwaskom Jan 19, 2020
a1c19dd
Add v0.9.1 to release notes page
mwaskom Jan 20, 2020
7648a7c
Add a relplot example to line/scatterplot
mwaskom Jan 20, 2020
7dece14
Add intersphinx links where kwargs are defined
mwaskom Jan 20, 2020
2fec4b3
Update to reflect new example data
mwaskom Jan 20, 2020
cae68ac
New pytest breaks coverage?
mwaskom Jan 20, 2020
210cf9f
Update release notes
mwaskom Jan 21, 2020
e4e89a0
Update install docs to reflect new minimum dependencies
mwaskom Jan 21, 2020
acb4708
Merge pull request #1936 from mwaskom/housekeeping
mwaskom Jan 21, 2020
de9947a
Fix gallery generator
mwaskom Jan 21, 2020
5c4562d
Release notes text
mwaskom Jan 21, 2020
4739e2e
More improvements to clustergrid layout
mwaskom Jan 21, 2020
882e761
Improve clustermap API examples
mwaskom Jan 21, 2020
cb942ce
Remove commented code
mwaskom Jan 21, 2020
2f6cf08
Merge pull request #1939 from mwaskom/fix_clustermap
mwaskom Jan 22, 2020
350375d
Add thumbnail images on the tutorial homepage
mwaskom Jan 22, 2020
3020ee7
Drop Python 2 from setup files
mwaskom Jan 22, 2020
f76e5ab
Excise six
mwaskom Jan 22, 2020
a0f8a95
Drop 2.7 (and 3.5) from travis build
mwaskom Jan 22, 2020
0ad290c
Remove references to 2.7 from README/docs
mwaskom Jan 22, 2020
6101805
Make tutorial thumbnails link to relevant page
mwaskom Jan 22, 2020
2ce30c9
Modernize minimal dependencies
mwaskom Jan 22, 2020
e6fadea
Reorganize 0.9.1 feature notes
mwaskom Jan 22, 2020
ab8abaa
Explicitly error in setup on Python < 3.6
mwaskom Jan 22, 2020
3ce9669
Remove smooth bootstrap
mwaskom Jan 22, 2020
702f561
Remove seaborn.timeseries
mwaskom Jan 22, 2020
abe2770
Remove seaborn.linearmodels
mwaskom Jan 22, 2020
b15ddee
Remove seaborn.apionly
mwaskom Jan 22, 2020
6a3fbb7
Remove top-level import of timeseries module
mwaskom Jan 22, 2020
7420a19
Add link to website footer
mwaskom Jan 22, 2020
31d0bf6
Merge pull request #1941 from mwaskom/drop_python_2
mwaskom Jan 22, 2020
bef34ae
Fix merge conflict
mwaskom Jan 22, 2020
8ef15b4
Add version 0.10 release notes
mwaskom Jan 22, 2020
9579c69
Update version for 0.10.0 release candidate
mwaskom Jan 22, 2020
7618fbd
Release v0.10.0.rc0
mwaskom Jan 22, 2020
b9b0fb0
Make dogplot more tolerant
janpipek Jan 23, 2020
252e463
Add a pandas API link in introduction
mwaskom Jan 23, 2020
7a5bf92
Merge pull request #1944 from janpipek/patch-1
mwaskom Jan 24, 2020
4be3d57
Merge branch 'v0.10' of github.com:mwaskom/seaborn into v0.10
mwaskom Jan 24, 2020
9d6bea4
Bump version for v0.10 release
mwaskom Jan 24, 2020
d8ca2a0
Fix a few things in the docs
mwaskom Jan 24, 2020
72d6c2a
Release v0.10.0
mwaskom Jan 24, 2020
88479dc
Tweak release notes
mwaskom Jan 24, 2020
6a8398c
Bump version back to dev on master
mwaskom Jan 24, 2020
13cea30
Add 0.9.1 and 0.10.0 DOI badges
mwaskom Jan 28, 2020
c4f1238
Use the correct platform integer type
toddrme2178 Jan 31, 2020
64928c9
Fix release notes link
mwaskom Feb 1, 2020
183f961
Merge pull request #1952 from toddrme2178/master
mwaskom Feb 22, 2020
0ffddcd
Add 0.10.1 release notes file and mention bootstrap fix
mwaskom Feb 22, 2020
9503177
DOC: update truncate parameter string to reflect new default (#1961)
qwhelan Feb 22, 2020
62667d2
Use numpy's indexing dtype in bootstrap (#1968)
mwaskom Feb 22, 2020
d59ab10
Don't fail in regplot on singletons, don't fit regression either (#1969)
mwaskom Feb 22, 2020
e760254
Copy props from old cmap when creating new cmap in heatmap (#1948)
MaozGelbart Feb 22, 2020
0fba83b
Update release notes
mwaskom Feb 22, 2020
c437938
added tests for sig_stars() function (#1972)
Iqrar99 Feb 26, 2020
4757065
FIX: Ignore masked cells when finding heatmap data limits (#1956)
MaozGelbart Feb 26, 2020
73d0296
Update release notes
mwaskom Feb 26, 2020
b5d2e85
Add deprecation notice for sig_stars (#1973)
mwaskom Feb 27, 2020
5498cdb
MNT: Remove unused code paths (#1965)
MaozGelbart Feb 27, 2020
53b51eb
Make all links possible use https:// (#1985)
hartwork Mar 10, 2020
34f02d8
FIX: avoid error when prop_cycle has no color (#1992)
MaozGelbart Mar 17, 2020
6b78153
Avoid error in despine when axis has matplotlib categories (#1991)
mwaskom Mar 17, 2020
ab25f01
Make remaining links use https:// (#1984) (#1988)
hartwork Mar 17, 2020
3f7761d
python3-only to_utf8 (#1979)
MaozGelbart Mar 17, 2020
7216552
Fix `add_legend` to always populate `_legend` (#1999)
Mar 17, 2020
af48386
Fix test import
mwaskom Mar 17, 2020
b47d843
Avoid floating point error with maximum husl sat/lum (#2000)
mwaskom Mar 17, 2020
db7ca34
Autoscale in swarmplot to get valid transform (#2017)
mwaskom Apr 6, 2020
7c56403
Add optional argument showfliers for boxenplot (#2010)
lukasberbuer Apr 6, 2020
e07c1f1
Update release notes
mwaskom Apr 6, 2020
adb8af0
Added fix for minor typos in 0.9.1 release notes (#2019)
danyal-s Apr 9, 2020
3178471
Housekeeping in utilities module (#2035)
mwaskom Apr 24, 2020
01b28af
ENH: Handle`legend.title_fontsize` rcparam (#2025)
MaozGelbart Apr 24, 2020
ca9b43b
Update release notes
mwaskom Apr 24, 2020
efedefe
Examples of ways to have the same mapping between facets (#2030)
paulrougieux Apr 24, 2020
becda7f
Merge branch 'master' of github.com:mwaskom/seaborn
mwaskom Apr 24, 2020
1e1c1d4
PEP8
mwaskom Apr 24, 2020
09fef02
Avoid seeing an error from statsmodels in kdeplot when data IQR == 0 …
mwaskom Apr 26, 2020
ffbfa65
Handle some small housekeeping items prior to releasing v0.10.1 (#2041)
mwaskom Apr 26, 2020
c397f33
Finalize v0.10.1 release notes
mwaskom Apr 26, 2020
55ac74c
Add Zenodo DOI for v0.10.1
mwaskom Apr 26, 2020
a17e605
Add explicit warning in swarmplot about gutters (#2045)
mwaskom May 1, 2020
562fd90
Make FacetGrid a bit more convenient (#2046)
mwaskom May 6, 2020
09b0ebb
Require keyword arguments for most parameters (#2052)
mwaskom May 8, 2020
dde9f5e
Standardize parameter names in distributions module (#2060)
mwaskom May 9, 2020
efb8068
Stricter code linting
mwaskom May 9, 2020
06a0ea5
Stricter code linting (#2064)
mwaskom May 9, 2020
5fa3112
Merge branch 'master' of github.com:mwaskom/seaborn
mwaskom May 11, 2020
3db4d5a
Add tight_layout method on FacetGrid and PairGrid (#2073)
mwaskom May 14, 2020
5fbb5c4
Refactor variable processing (#2071)
mwaskom May 15, 2020
92f160a
Programmatically define arbitrarily large style mappings (#2075)
mwaskom May 16, 2020
7f55378
Scale the default scatterplot edge width by the point radius (#2078)
mwaskom May 17, 2020
a450748
Allow vectors for c= or s= in scatterplot (#2079)
mwaskom May 17, 2020
5b25a8d
Improve FacetGrid margin titles to not show previous texts (#2083)
mwaskom May 18, 2020
9681559
Require keyword arguments almost everywhere (#2081)
mwaskom May 18, 2020
56982f9
Centralize and modify variable type inference (#2084)
mwaskom May 19, 2020
2d3502b
Deprecate iqr and axlabel; improve deprecation warning class (#2087)
mwaskom May 19, 2020
0c5c0cc
Refactor semantic mapping operations (#2090)
mwaskom May 23, 2020
401e69b
Improve lineplot handling of mpl kwargs (#2095)
mwaskom May 24, 2020
f5da02c
Refactor method for getting semantic subsets down to core (#2097)
mwaskom May 25, 2020
47331dc
Fix ordering bug by maintaining category metadata (#2099)
mwaskom May 25, 2020
7ef7e9a
Update docs (#2098)
MaozGelbart May 25, 2020
62c76cb
Fix typo and dud test (#2100)
mwaskom May 25, 2020
466e440
Add basic CI workflow
mwaskom May 31, 2020
214336e
Fix CI workflow
mwaskom May 31, 2020
aa18f46
Iterate CI
mwaskom May 31, 2020
698cd4c
Add doc build to CI
mwaskom May 31, 2020
3427c84
Define kernel for doc build during CI
mwaskom May 31, 2020
a9dc80e
Explicit install of deps and utils during CI
mwaskom May 31, 2020
a76477e
Test docs during CI (#2109)
mwaskom May 31, 2020
c13d96e
Fix dud test. (#2116)
romanwerpachowski Jun 1, 2020
de53836
Modernize kdeplot and rugplot (#2104)
mwaskom Jun 2, 2020
3e091fe
Don't fail on int input and mask (#2103)
MaozGelbart Jun 2, 2020
4ee5c51
Boxenplot bug fixes, small features and style changes (#2086)
MaozGelbart Jun 4, 2020
1f23143
Store code examples in API docs using notebooks (#2123)
mwaskom Jun 4, 2020
20dde56
Add histplot function (#2125)
mwaskom Jun 14, 2020
d1e1701
Fix default color in histplot with datetime variable (#2136)
mwaskom Jun 15, 2020
ca22f90
Improve support for datetime (and categorical) data in relational plo…
mwaskom Jun 15, 2020
2d6f86a
Clarified documentation of despine (#2140)
e-dorigatti Jun 15, 2020
eca47b9
Add ecdfplot function (#2141)
mwaskom Jun 17, 2020
ceee032
MNT: fix some failures with matplotlib=3.3.0rc1 (#2144)
MaozGelbart Jun 23, 2020
eb690ec
Delete .mailmap
mwaskom Jun 25, 2020
d1bbef1
TST: Increase testing speed by utilizing multiple cores (#2146)
MaozGelbart Jun 28, 2020
a4a9542
Dont add null columns in plot_data for unassigned semantics (#2148)
mwaskom Jun 28, 2020
79051ed
DOC: enable Sphinx rules for linking to GitHub issues, PRs and users …
MaozGelbart Jul 5, 2020
a40e490
Elaborate on how to build the docs
MaozGelbart Jul 13, 2020
1c2952c
Improve seaborn discoverability (#2160)
MaozGelbart Aug 2, 2020
d3fd1ab
Remove magic number in example script (#2165)
Aug 2, 2020
4375cd8
Fix typo (#2168)
tomasojea Aug 2, 2020
0c2a4dd
Improve matrix functions docstrings (#2188)
MaozGelbart Aug 10, 2020
abb82c5
Use only stdlib in get_dataset_names (#2190)
mwaskom Aug 11, 2020
7dd9efc
Don't test on matplotlib 3.3.1 to avoid scatter bug (#2197)
mwaskom Aug 16, 2020
c0c040c
Add displot, a figure-level distribution function (#2157)
mwaskom Aug 17, 2020
b9d649e
Merge branch 'doc_changes' of https://github.com/MaozGelbart/seaborn …
mwaskom Aug 17, 2020
991afb0
Make a few edits to the new doc README
mwaskom Aug 17, 2020
c517470
Fix and modernize aspects of relational plot docs (#2200)
mwaskom Aug 18, 2020
a31f100
Handle mpl33 deprecations (#2199)
mwaskom Aug 18, 2020
bccfb29
Support wide data with categorical columns (#2202)
mwaskom Aug 18, 2020
d6e94a6
Convert relational model API examples to use notebooks (#2201)
mwaskom Aug 18, 2020
e955041
Always set private despine variable in PairGrid (#2203)
mwaskom Aug 18, 2020
9d96d8f
Change dropna default to False in axisgrid.py (#2204)
mwaskom Aug 18, 2020
646bdfc
Improve variable assignment feedback (#2205)
mwaskom Aug 19, 2020
765eb97
Avoid kde when variance is almost 0 (#2206)
mwaskom Aug 19, 2020
8528dbe
Address various warnings raised within the test (#2208)
mwaskom Aug 19, 2020
fafa8d9
use scatterplot instead of plt.scatter (#2069)
MaozGelbart Aug 20, 2020
a8167e1
FIX: allow un-sharing categories in catplot (#2196)
MaozGelbart Aug 20, 2020
350c64b
Scale `legend.title_fontsize` when scaling fonts (#2214)
MaozGelbart Aug 22, 2020
1ef94ad
Add hue as parameter in JointGrid and "hist" as a kind in jointplot (…
mwaskom Aug 22, 2020
85f97ed
Fix object-typed numeric hue/size input to relational plots (#2173)
MaozGelbart Aug 22, 2020
16d8d86
Change culmen to bill in all examples using penguins (#2215)
mwaskom Aug 22, 2020
356435e
Adjust swarmplot overlap warning and avoid in examples (#2216)
mwaskom Aug 23, 2020
e504fed
Remove deprecaed JointGrid annotation code (#2217)
mwaskom Aug 23, 2020
ccd5635
Add user guide documentation on plotting functions and data structure…
mwaskom Aug 25, 2020
a3a9544
Use decreasing values for categorical size mapping (#2221)
mwaskom Aug 26, 2020
f62a4a5
Use core axis labeling method in relational plots (#2222)
mwaskom Aug 26, 2020
44751c0
Add a rich HTML representation of color palette objects (#2225)
mwaskom Aug 27, 2020
eba6a57
Reverse direction of default distributions sequential colormap (#2224)
mwaskom Aug 27, 2020
4dd57d6
Reduce surprise about relational plot legends (#2229)
mwaskom Aug 28, 2020
954c018
Don't try to set attributes on removed axes (#2233)
mwaskom Aug 29, 2020
d40c0b0
Delegate hue in PairGrid to plotting functions (#2234)
mwaskom Aug 31, 2020
0534e48
replace numpy aliases with builtin types (#2236)
MaozGelbart Aug 31, 2020
cf8af7e
Add new palette functionality and new colormaps (#2237)
mwaskom Sep 1, 2020
eee5d30
Pre-release docs enhancements (#2239)
mwaskom Sep 2, 2020
f123d9b
Add proper logos to docs (#2245)
mwaskom Sep 4, 2020
d2a6cac
Fix discrete string-specified light/dark palettes (#2247)
mwaskom Sep 5, 2020
f0b74ad
DOC: minor fixes (#2242)
MaozGelbart Sep 5, 2020
89f7146
Better documentation of FacetGrid's access to underlying matplotlib o…
mwaskom Sep 5, 2020
0547bb1
Pre-release docs updates (#2250)
mwaskom Sep 7, 2020
0b7697d
Add set_theme() to replace set() (#2253)
mwaskom Sep 8, 2020
9b0a966
Fix bivariate histogram color in displot (#2255)
mwaskom Sep 8, 2020
7a58d86
Improve PairGrid tight_layout (#2256)
mwaskom Sep 8, 2020
76b9974
Small formatting fixes in release notes
mwaskom Sep 8, 2020
9077488
Fix tutorial links in displot docstring
mwaskom Sep 8, 2020
b5fa6b5
Add new Zenodo DOIs
mwaskom Sep 8, 2020
e7c0d67
Update internal version to 0.12.0.dev0
mwaskom Sep 8, 2020
d7cc655
Add links to archived versions of docs
mwaskom Sep 9, 2020
211cabb
Pass `col_order` and `row_order` to FacetGrid in displot (#2262)
badge Sep 11, 2020
3ff2a34
Fix PairGrid with non-square grid and non-marginal diagonal axes (#2270)
mwaskom Oct 26, 2020
d348036
TST: fix colors and paths comparison in relational tests (#2281)
MaozGelbart Oct 26, 2020
8002b3d
Fix: use linewidth when plotting boxes and medians (#2287)
MaozGelbart Oct 26, 2020
c9af297
throw a meaningful error message in lmplot in case kwarg is missing …
neutrinoceros Oct 26, 2020
b9e1fe9
Fix: do not annotate clustermap w/ annot=False (#2323)
CRiddler Oct 26, 2020
a9577e7
Fix `adjust_subtitles` when `legend_out=False`. (#2304)
MaozGelbart Oct 26, 2020
00cb1a7
Force doc CI to use Python 3.8 (#2335)
mwaskom Oct 29, 2020
29f5807
Error if row/col colors are indexed but data isn't (#2313)
MaozGelbart Oct 29, 2020
1b3b416
Fix jointplot reference syntax in distributions tutorial. (#2359)
bdice Nov 23, 2020
d9c887e
better checks for `sharey` and `sharex` in `axesgrid.py` (#2347)
aaronspring Nov 23, 2020
00ead27
MAINT: Drop nose and test on python==3.9 (#2328)
MaozGelbart Nov 23, 2020
2717408
TST: FIX: Consider array length in artist arrays comparison (#2363)
MaozGelbart Nov 25, 2020
607ded2
Fix pairgrid (#2368)
mwaskom Dec 1, 2020
ae123d7
Fix faceted bivariate KDE normalization (#2378)
mwaskom Dec 9, 2020
4560b90
Fix NA propagation in lineplot (#2273)
mwaskom Dec 12, 2020
3b4c21a
FIX: Infer categorical dtypes before boolean resolution (#2379)
MaozGelbart Dec 12, 2020
975f95c
Run tests on github actions (#2383)
mwaskom Dec 12, 2020
4fe84d4
Assorted fixes for small problems (#2382)
mwaskom Dec 12, 2020
bcdac54
Add/restore functionality to long-form data processing (#2386)
mwaskom Dec 17, 2020
9b57ca1
Allow clustermap row/col colors to be categorical (#2389)
MaozGelbart Dec 19, 2020
ead5a52
Reduce usage of global matplotlib state in axisgrid objects (#2388)
mwaskom Dec 19, 2020
a586ce8
Docs tidying for v0.11.1 release (#2393)
mwaskom Dec 20, 2020
69adad6
Fix API docs sphinx
mwaskom Dec 20, 2020
d5ded46
Reduce doc CI parallelization (#2394)
mwaskom Dec 20, 2020
76b5f46
Add v0.11.1 Zenodo badge
mwaskom Dec 20, 2020
2774f1e
Corrects typo in the diverging palette doc sub-section title (#2397)
fakufaku Dec 21, 2020
0a24478
Raise minimal supported Python to 3.7 and bump requirements (#2396)
mwaskom Dec 21, 2020
f1852b5
Make scipy an optional dependency (#2398)
mwaskom Dec 23, 2020
596ec61
Use modern canonical way of drawing the figure (#2399)
mwaskom Dec 23, 2020
8f50c11
Add a note about getting offline docs access through the website repo
mwaskom Dec 27, 2020
42e67d0
Revert change to forced draw command (#2408)
mwaskom Dec 29, 2020
76470b4
Increase errorbar flexibility (#2407)
mwaskom Jan 2, 2021
aad96f8
Refactor tests and bump minimal pandas (#2412)
mwaskom Jan 2, 2021
51be45d
Improve NA robustness in VectorPlotter.comp_data (#2417)
mwaskom Jan 5, 2021
104f020
Abstract logic of forcing figure draw with matplotlib backcompat (#2426)
mwaskom Jan 9, 2021
d334ea6
boxplot whis keyword docstring clarification (#2427)
joooeey Jan 10, 2021
1d3ddab
Restrict comparison values for variable type strings (#2436)
mwaskom Jan 16, 2021
cc00d33
support Float64Dtype in boxenplot, related to #2434 (#2435)
afrendeiro Jan 16, 2021
aa488f0
Fix typo (#2431)
ondrejzacha Jan 16, 2021
a809747
Modernize categorical plotting and refactor stripplot (#2413)
mwaskom Jan 19, 2021
4190c24
Improve swarmplot algorithm (#2443)
mwaskom Jan 21, 2021
80fc0a8
Refactor swarmplot (#2447)
mwaskom Jan 24, 2021
15db683
Move bug report text from website into contributing file
mwaskom Jan 29, 2021
10aa7a8
Generalize getting default color from color cycle (#2449)
mwaskom Jan 30, 2021
ba086c2
Update README CI status badge to reflect GitHub Actions status
mwaskom Jan 30, 2021
63e28ce
Handle deprecation of ci=None in lineplot (#2457)
mwaskom Jan 31, 2021
136b462
Fix rugplot with datetime data (#2458)
mwaskom Jan 31, 2021
548b854
Set alpha properly on unfilled hist/kde plots (#2460)
mwaskom Jan 31, 2021
d0acb8c
Add percent-based normalization in histplot (#2461)
mwaskom Feb 1, 2021
beb7f82
Fix multiple resolution when hue variable has no name (#2462)
mwaskom Feb 3, 2021
9066ad1
Fix faceted bivariate histogram normalization at displot (#2468)
mgab Feb 5, 2021
a19db39
Update release notes
mwaskom Feb 5, 2021
8f83a4d
Don't fail when docstrings have been stripped by -OO mode (#2473)
mwaskom Feb 5, 2021
b1dc1bc
Fix typo
mwaskom Feb 8, 2021
6183f1e
Fix histplot shrink with non-discrete bins (#2477)
mwaskom Feb 10, 2021
0f20403
Update dates
mwaskom Feb 15, 2021
b528ba2
update matplotlib canonical... (#2482)
jklymak Feb 17, 2021
ba4bd0f
Don't pass a set to ListedColormap in clustermap (#2490)
mwaskom Mar 6, 2021
6d84f82
Fix log scaling in distribution plots (#2504)
mwaskom Mar 24, 2021
0f538fb
Fix histplot auto line width with log scale or categorical y axis (#2…
mwaskom Mar 25, 2021
576db3c
Add JOSS paper to docs/README (#2546)
mwaskom Apr 7, 2021
66b4783
DOC: Clarify how to derive dodge parameter value for aligning pointpl…
sappelhoff Apr 14, 2021
e04b07e
DOC: misc fixes. (#2558)
Carreau Apr 17, 2021
5ce48af
Reduce redundant computation in distplot linewidth (#2559)
ivirshup Apr 23, 2021
fa9dab9
Merge branch 'master' of https://github.com/mwaskom/seaborn into seab…
martyatvtti Apr 26, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,26 @@ Contributing to seaborn
General support
---------------

General support questions ("how do I do <x>?") are most at home on [StackOverflow](https://stackoverflow.com/), where they will be seen by more people and are more easily searchable. StackOverflow has a `[seaborn]` tag, which will bring the question to the attention of people who might be able to answer.
General support questions ("how do I do X?") are most at home on either [StackOverflow](https://stackoverflow.com/) or [discourse](https://discourse.matplotlib.org/c/3rdparty/seaborn/21), which have a larger audience of people who will see your post and may be able to offer assistance. StackOverflow is better for specific issues, while discourse is better for more open-ended discussion. Your chance of getting a quick answer will be higher if you include runnable code, a precise statement of what you are hoping to achieve, and a clear explanation of the problems that you have encountered.

Reporting bugs
--------------

If you have encountered a bug in seaborn, please report it on the [Github issue tracker](https://github.com/mwaskom/seaborn/issues/new). It is only really possible to address bug reports if they include a reproducible script using randomly-generated data or one of the example datasets (accessed through `seaborn.load_dataset()`). Please also specify your versions of seaborn and matplotlib, as well as which matplotlib backend you are using.
If you think you've encountered a bug in seaborn, please report it on the [Github issue tracker](https://github.com/mwaskom/seaborn/issues/new). To be useful, bug reports must include the following information:

- A reproducible code example that demonstrates the problem
- The output that you are seeing (an image of a plot, or the error message)
- A clear explanation of why you think something is wrong
- The specific versions of seaborn and matplotlib that you are working with

Bug reports are easiest to address if they can be demonstrated using one of the example datasets from the seaborn docs (i.e. with `seaborn.load_dataset`). Otherwise, it is preferable that your example generate synthetic data to reproduce the problem. If you can only demonstrate the issue with your actual dataset, you will need to share it, ideally as a csv. Note that you can upload a csv directly to a github issue thread, but it must have a `.txt` suffix.

If you've encountered an error, searching the specific text of the message before opening a new issue can often help you solve the problem quickly and avoid making a duplicate report.

Because matplotlib handles the actual rendering, errors or incorrect outputs may be due to a problem in matplotlib rather than one in seaborn. It can save time if you try to reproduce the issue in an example that uses only matplotlib, so that you can report it in the right place. But it is alright to skip this step if it's not obvious how to do it.


New features
------------

If you think there is a new feature that should be added to seaborn, you can open an issue to discuss it. However, seaborn's development has become increasingly conservative, and the answer to most feature requests or proposed additions is "no". Polite requests with an explanation of the proposed feature's virtues will usually get an explanation; feature requests that say "I would like feature X, you need to add it" typically won't.
If you think there is a new feature that should be added to seaborn, you can open an issue to discuss it. But please be aware that current development efforts are mostly focused on standardizing the API and internals, and there may be relatively low enthusiasm for novel features that do not fit well into short- and medium-term development plans.
99 changes: 99 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name : CI

on:
push:
branches: master
pull_request:
branches: master

env:
NB_KERNEL: python
MPLBACKEND: Agg

jobs:

build-docs:
runs-on: ubuntu-latest
steps:

- name: Checkout
uses: actions/checkout@v2

- name: Setup Python
uses: actions/setup-python@v2

- name: Install seaborn
run: |
python -m pip install --upgrade pip
pip install .[all] -r ci/utils.txt

- name: Install doc tools
run: |
pip install -r doc/requirements.txt
sudo apt-get install pandoc

- name: Build docs
run: |
make -C doc -j `nproc` notebooks
make -C doc html


run-tests:
runs-on: ubuntu-latest

strategy:
matrix:

python: [3.7.x, 3.8.x, 3.9.x]
target: [test]
install: [all]
deps: [latest]
backend: [agg]

include:
- python: 3.7.x
target: unittests
install: all
deps: pinned
backend: agg
- python: 3.9.x
target: unittests
install: light
deps: latest
backend: agg
- python: 3.9.x
target: test
install: all
deps: latest
backend: tkagg

steps:

- name: Checkout
uses: actions/checkout@v2

- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}

- name: Install seaborn
run: |
python -m pip install --upgrade pip
if [[ ${{matrix.install}} == 'all' ]]; then EXTRAS='[all]'; fi
if [[ ${{matrix.deps }} == 'pinned' ]]; then DEPS='-r ci/deps_pinned.txt'; fi
pip install .$EXTRAS $DEPS -r ci/utils.txt

- name: Cache datastes
run: python ci/cache_test_datasets.py

- name: Run tests
env:
MPLBACKEND: ${{ matrix.backend }}
run: |
if [[ ${{ matrix.backend }} == 'tkagg' ]]; then PREFIX='xvfb-run -a'; fi
$PREFIX make ${{ matrix.target }}

- name: Upload coverage
uses: codecov/codecov-action@v1
if: ${{ success() }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@ seaborn.egg-info/
.cache/
.coverage
cover/
.idea
htmlcov/
.idea/
.vscode/
.pytest_cache/
notes/
3 changes: 0 additions & 3 deletions .mailmap

This file was deleted.

63 changes: 0 additions & 63 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2012-2019, Michael L. Waskom
Copyright (c) 2012-2021, Michael L. Waskom
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
9 changes: 3 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
export SHELL := /bin/bash

test:
pytest --doctest-modules seaborn
pytest -n auto --doctest-modules --cov=seaborn --cov-config=.coveragerc seaborn

unittests:
pytest seaborn

coverage:
pytest --doctest-modules --cov=seaborn --cov-config=.coveragerc seaborn
pytest -n auto --cov=seaborn --cov-config=.coveragerc seaborn

lint:
flake8 --ignore E121,E123,E126,E226,E24,E704,E741,W503,W504 --exclude seaborn/__init__.py,seaborn/colors/__init__.py,seaborn/cm.py,seaborn/tests,seaborn/external seaborn
flake8 seaborn
71 changes: 32 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,14 @@
seaborn: statistical data visualization
=======================================

<div class="row">

<a href=https://seaborn.pydata.org/examples/scatterplot_matrix.html>
<img src="https://seaborn.pydata.org/_static/scatterplot_matrix_thumb.png" height="135" width="135">
</a>

<a href=http://seaborn.pydata.org/examples/errorband_lineplots.html>
<img src="https://seaborn.pydata.org/_static/errorband_lineplots_thumb.png" height="135" width="135">
</a>

<a href=http://seaborn.pydata.org/examples/different_scatter_variables.html>
<img src="http://seaborn.pydata.org/_static/different_scatter_variables_thumb.png" height="135" width="135">
</a>

<a href=https://seaborn.pydata.org/examples/many_facets.html>
<img src="https://seaborn.pydata.org/_static/many_facets_thumb.png" height="135" width="135">
</a>

<a href=https://seaborn.pydata.org/examples/structured_heatmap.html>
<img src="https://seaborn.pydata.org/_static/structured_heatmap_thumb.png" height="135" width="135">
</a>

<a href=https://seaborn.pydata.org/examples/horizontal_boxplot.html>
<img src="https://seaborn.pydata.org/_static/horizontal_boxplot_thumb.png" height="135" width="135">
</a>

</div>
<img src="doc/_static/logo-wide-lightbg.svg"><br>

--------------------------------------

seaborn: statistical data visualization
=======================================

[![PyPI Version](https://img.shields.io/pypi/v/seaborn.svg)](https://pypi.org/project/seaborn/)
[![License](https://img.shields.io/pypi/l/seaborn.svg)](https://github.com/mwaskom/seaborn/blob/master/LICENSE)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1313201.svg)](https://doi.org/10.5281/zenodo.1313201)
[![Build Status](https://travis-ci.org/mwaskom/seaborn.svg?branch=master)](https://travis-ci.org/mwaskom/seaborn)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.03021/status.svg)](https://doi.org/10.21105/joss.03021)
![Tests](https://github.com/mwaskom/seaborn/workflows/CI/badge.svg)
[![Code Coverage](https://codecov.io/gh/mwaskom/seaborn/branch/master/graph/badge.svg)](https://codecov.io/gh/mwaskom/seaborn)

Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics.
Expand All @@ -47,39 +21,58 @@ Online documentation is available at [seaborn.pydata.org](https://seaborn.pydata

The docs include a [tutorial](https://seaborn.pydata.org/tutorial.html), [example gallery](https://seaborn.pydata.org/examples/index.html), [API reference](https://seaborn.pydata.org/api.html), and other useful information.

To build the documentation locally, please refer to [`doc/README.md`](doc/README.md).

Dependencies
------------

Seaborn supports Python 2.7 and 3.5+.
Seaborn supports Python 3.7+ and no longer supports Python 2.

Installation requires [numpy](http://www.numpy.org/), [scipy](https://www.scipy.org/), [pandas](https://pandas.pydata.org/), and [matplotlib](https://matplotlib.org/). Some functions will optionally use [statsmodels](https://www.statsmodels.org/) if it is installed.
Installation requires [numpy](https://numpy.org/), [pandas](https://pandas.pydata.org/), and [matplotlib](https://matplotlib.org/). Some functions will optionally use [scipy](https://www.scipy.org/) and/or [statsmodels](https://www.statsmodels.org/) if they are available.


Installation
------------

The latest stable release (and older versions) can be installed from PyPI:
The latest stable release (and required dependencies) can be installed from PyPI:

pip install seaborn

It is also possible to include the optional dependencies:

pip install seaborn[all]

You may instead want to use the development version from Github:

pip install git+https://github.com/mwaskom/seaborn.git#egg=seaborn
pip install git+https://github.com/mwaskom/seaborn.git

Seaborn is also available from Anaconda and can be installed with conda:

conda install seaborn

Note that the main anaconda repository typically lags PyPI in adding new releases.

Citing
------

A paper describing seaborn has been published in the [Journal of Open Source Software](https://joss.theoj.org/papers/10.21105/joss.03021). The paper provides an introduction to the key features of the library, and it can be used as a citation if seaborn proves integral to a scientific publication.

Testing
-------

To test seaborn, run `make test` in the source directory.
Testing seaborn requires installing additional packages listed in `ci/utils.txt`.

To test the code, run `make test` in the source directory. This will exercise both the unit tests and docstring examples (using [pytest](https://docs.pytest.org/)) and generate a coverage report.

The doctests require a network connection (unless all example datasets are cached), but the unit tests can be run offline with `make unittests`.

This will exercise both the unit tests and docstring examples (using `pytest`).

Code style is enforced with `flake8` using the settings in the [`setup.cfg`](./setup.cfg) file. Run `make lint` to check.

Development
-----------

Seaborn development takes place on Github: https://github.com/mwaskom/seaborn

Please submit any reproducible bugs you encounter to the [issue tracker](https://github.com/mwaskom/seaborn/issues).
Please submit bugs that you encounter to the [issue tracker](https://github.com/mwaskom/seaborn/issues) with a reproducible example demonstrating the problem. Questions about usage are more at home on StackOverflow, where there is a [seaborn tag](https://stackoverflow.com/questions/tagged/seaborn).

19 changes: 19 additions & 0 deletions ci/cache_test_datasets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
"""
Cache test datasets before running test suites to avoid
race conditions to due tests parallelization
"""
import seaborn as sns

datasets = (
"anscombe",
"attention",
"dots",
"exercise",
"flights",
"fmri",
"iris",
"planets",
"tips",
"titanic"
)
list(map(sns.load_dataset, datasets))
14 changes: 14 additions & 0 deletions ci/check_gallery.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""Execute the scripts that comprise the example gallery in the online docs."""
from glob import glob
import matplotlib.pyplot as plt

if __name__ == "__main__":

fnames = sorted(glob("examples/*.py"))

for fname in fnames:

print(f"- {fname}")
with open(fname) as fid:
exec(fid.read())
plt.close("all")
5 changes: 5 additions & 0 deletions ci/deps_pinned.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
numpy~=1.16.0
pandas~=0.24.0
matplotlib~=3.0.0
scipy~=1.2.0
statsmodels~=0.9.0
File renamed without changes.
4 changes: 4 additions & 0 deletions ci/utils.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
pytest!=5.3.4
pytest-cov
pytest-xdist
flake8
Loading