Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
b884161
Merge pull request #9079 from fariza/text-avoid-circular-import
QuLogic Aug 23, 2017
0525c6b
ENH: Update view limits on units change
dopplershift Aug 23, 2017
cfcae2b
Merge pull request #9032 from anntzer/image-cleanup
QuLogic Aug 23, 2017
0b95ba1
Merge pull request #9073 from craigcitro/uint
dopplershift Aug 24, 2017
76a9b59
DOC: standardize on `exc` for arg/variable name
tacaswell Aug 24, 2017
bcc2f12
Merge pull request #9063 from tacaswell/api_callback_exceptions
anntzer Aug 24, 2017
78b6780
Micro-optimization of to_rgba_array.
anntzer Aug 24, 2017
aee94c9
[MAINT] savefig only takes one args
NelleV Aug 24, 2017
86bca7a
Merge pull request #8956 from anntzer/text.set(bbox=None)
dopplershift Aug 24, 2017
a226171
Merge pull request #9090 from NelleV/savefig_improve_error_mesg
fariza Aug 24, 2017
5348ce9
Cleanups: Broadcasting, np.hypot, np.pi, etc.
anntzer Dec 5, 2016
134c06a
Merge pull request #8957 from kbrose/performance-helpers
tacaswell Aug 25, 2017
4bed297
Merge pull request #8939 from anntzer/no-gae
efiring Aug 25, 2017
63fbdd3
Merge pull request #9087 from anntzer/microoptimize-to_rgba_array
efiring Aug 25, 2017
fc4d690
Merge pull request #9025 from gnaggnoyil/master
dstansby Aug 25, 2017
e7ebb3b
Drop python 3.3 from setup.py
dstansby Aug 25, 2017
24817d5
Merge pull request #9066 from dstansby/agg-jpg-dpi
WeatherGod Aug 25, 2017
cf43f81
Merge pull request #9093 from dstansby/drop-py33
tacaswell Aug 25, 2017
5a550f2
ENH: Add the space_sep option to EngFormatter, and docstring updates
afvincent Jun 6, 2016
722f5d6
FIX: force format_eng(-0.0) to be consistent with format_eng(0)
afvincent Jun 6, 2016
3c221ff
Fix docstrings and comments (remove leading spaces)
afvincent Jun 7, 2016
122cfa2
Simplify and move cleaning strip op. from 'format_eng' to '__call__'
afvincent Jun 7, 2016
07f022d
DOC: update the api example engineering_formatter.py
afvincent Jun 19, 2016
e371e5a
More extensive testing of EngFormatter (including 'space_sep' param)
afvincent Feb 11, 2017
3049a2d
space_sep=bool <- sep=string, and adapt tests
afvincent Feb 12, 2017
e0a2ec8
remove unnecessary trailing 'u' characters in strings
afvincent Feb 12, 2017
1621a2d
fix EngFormatter docstring: escape Unicode character codes
afvincent Feb 12, 2017
c82dcff
'fix' docstring: unindent and reorder bullet list + mention regular t…
afvincent Feb 12, 2017
f09a1b4
Update the example
afvincent Feb 12, 2017
dc9409b
fix test docstring PEP8 errors in test_ticker.py
afvincent Feb 12, 2017
0195beb
Add a 'whats_new' entry
afvincent Feb 12, 2017
3ec1dbd
docstring overhaul: fix bullet list and merge duplicated infos betwee…
afvincent Feb 13, 2017
cd2ac88
use named entities instead of raw unicode codes
afvincent Aug 17, 2017
7f1422c
stop mixing C-style and format-based formatting
afvincent Aug 17, 2017
aba7a7f
Small example tweaking to avoid label cluttering
afvincent Aug 17, 2017
b75f20d
fix an issue with {:g} and str format
afvincent Aug 17, 2017
41a69da
get rid of decimal.Decimal + fix rounding special cases like 999.9...
afvincent Aug 19, 2017
556ec20
Fix the related rounding discrepancies in test_ticker
afvincent Aug 19, 2017
a9af431
(try) fix(ing) an exception about raising an int to a negative power
afvincent Aug 19, 2017
0bde03a
fix some anntzer's comments
afvincent Aug 20, 2017
c98ba91
more complete handling of corner-case roundings + add proper tests
afvincent Aug 20, 2017
60b95ab
Fix some additional remarks made by anntzer
afvincent Aug 21, 2017
ac42b94
Deprecate passing a string as *num* argument
afvincent Aug 24, 2017
f3101f6
Merge pull request #8873 from ianthomas23/8682_qhull_large_offset
QuLogic Aug 25, 2017
df6acf9
Merge pull request #6542 from afvincent/enh_engformatter_space_sep_ne…
tacaswell Aug 26, 2017
d7420fb
DOC: merge new whats_new and api_changes into top level doc
tacaswell Aug 26, 2017
b1bac4c
Document auto-tightlayouting.
anntzer Aug 26, 2017
73f7525
Validate string rcParams with string_types, not text_type.
anntzer Aug 26, 2017
54adb36
Merge pull request #9096 from anntzer/document-tight-layout
dstansby Aug 26, 2017
1be4eab
Merge pull request #9097 from anntzer/string_types
tacaswell Aug 26, 2017
64a7bd5
Merge pull request #9095 from tacaswell/doc_api_whatsnew_mergeup
tacaswell Aug 26, 2017
daacc99
Convert some dates.py docstrings to numpydoc
dstansby Aug 26, 2017
c720364
Add spaces after parameter names
dstansby Aug 26, 2017
46d3828
Don't call draw() twice when Qt canvas first appears.
anntzer Aug 26, 2017
56a7552
DOC: re-order the interactive backends in an opinionated way
tacaswell Aug 26, 2017
1847d22
DOC: adjust backend docs header levels
tacaswell Aug 26, 2017
149eb61
Update color docs.
anntzer Aug 27, 2017
ee26c7c
TST: do not do import in finally block
tacaswell Aug 27, 2017
24de043
Merge pull request #9106 from tacaswell/tst_avoid_cpython_bug
QuLogic Aug 27, 2017
d9965e3
Fix sequence spelling
dstansby Aug 27, 2017
e7da181
Merge pull request #9102 from dstansby/dates-docstrings
tacaswell Aug 27, 2017
ecc2976
Fixed bug caused by wrong scoping
forman Jun 6, 2017
9a99de5
Merge pull request #9105 from anntzer/color-docs
QuLogic Aug 27, 2017
7cf904d
Merge pull request #7562 from anntzer/cleanup-broadcasting
QuLogic Aug 27, 2017
e078f91
API: change signature of bar and barh
tacaswell Aug 27, 2017
5546eee
MNT: update pyplot.hist for changes to Axes.hist
tacaswell Aug 27, 2017
5bb1c8a
STY: whitespace fixes
tacaswell Aug 27, 2017
89c6a77
DOC: tweak markup a bit
tacaswell Aug 28, 2017
dd9c7b1
FIX: bug in docs inserted by _preprocess_data
tacaswell Aug 28, 2017
80355e0
DOC: add comment about use of lambdas to unpack args/kwrags
tacaswell Aug 28, 2017
7e1a65d
MNT: re-organize to simplify handling `None` as input
tacaswell Aug 28, 2017
d0eeddb
Merge pull request #9103 from anntzer/no-double-draw
dopplershift Aug 28, 2017
9d3b14c
Merge pull request #9070 from anntzer/no-renderer-uid
dopplershift Aug 28, 2017
38137a6
BLD: bump minimum dateutil to 2.0
tacaswell Aug 26, 2017
c201bb9
DOC: update wxPython data
tacaswell Aug 29, 2017
cb7b60f
Merge pull request #9099 from tacaswell/bld_minimum_dateutil
QuLogic Aug 29, 2017
c5047c3
DOC: add missing imports in docs
tacaswell Aug 29, 2017
12c27f3
FIX: re-work image interpolation
tacaswell Jul 30, 2017
63da377
TST: update rotated image test
tacaswell Aug 29, 2017
2509030
TST: update test images
tacaswell Aug 29, 2017
ec43d0e
TST: update masked interpolation images
tacaswell Aug 29, 2017
856556f
TST: add comment to test about ringing
tacaswell Aug 29, 2017
f6b812d
Merge pull request #9116 from tacaswell/doc_fix_imports_style
dstansby Aug 29, 2017
efb030d
Merge pull request #9101 from tacaswell/doc_backends
WeatherGod Aug 29, 2017
fe0095e
Merge pull request #6603 from anntzer/waitcursor-while-redrawing
dopplershift Aug 29, 2017
e3a34c5
Merge pull request #9049 from dopplershift/fix-8908
dstansby Aug 29, 2017
82f1465
Fix PEP8 issues
dstansby Aug 29, 2017
6f248fc
Move event_handling/README to event_handling/README.txt.
anntzer Aug 30, 2017
da06ed9
Merge pull request #9122 from anntzer/event-handling-readme
tacaswell Aug 30, 2017
ea89615
rcParams always exist.
anntzer Aug 30, 2017
8d71309
Cleanup axis3d.py.
anntzer Aug 30, 2017
b5238ac
FIX: handle degenerate case of all equal values
tacaswell Aug 30, 2017
3833ff0
DOC: add section on setting random number seeds
tacaswell Aug 30, 2017
a67b232
Merge pull request #9123 from tacaswell/doc_test_random
dstansby Aug 30, 2017
7476f6f
Remove Artist.{get,set}_axes.
anntzer Aug 30, 2017
73a82ee
Reorder imports.
anntzer Aug 30, 2017
f7ec3b1
Inline the with_rasterized contextmanager.
anntzer Aug 30, 2017
940ede2
DOC: note that ipympl is external dependency
tacaswell Aug 30, 2017
6c69f3e
Merge pull request #9110 from tacaswell/api_bar_signature
efiring Aug 31, 2017
346bb1a
FIX: make image.set_clim mark the figure as stale
tacaswell Aug 30, 2017
1aebff1
TST: add flat-field test
tacaswell Aug 31, 2017
ad0ef8b
Add an entry in api_changes
afvincent Aug 31, 2017
b1b9404
Merge pull request #8966 from tacaswell/fix_image_interpolation
efiring Aug 31, 2017
54b6de0
Don't highlight the end of the API changes (plain text).
anntzer Aug 31, 2017
19a9d4e
Merge pull request #9132 from afvincent/doc_axes_collision_deprecation
anntzer Aug 31, 2017
947a56c
Merge pull request #9136 from anntzer/doc-markup-fix
dstansby Aug 31, 2017
d0922df
Merge pull request #9128 from anntzer/remove-getset-axes
dstansby Aug 31, 2017
4f73376
Merge pull request #9126 from tacaswell/doc_ipympl
WeatherGod Aug 31, 2017
34b6ea3
Import JSAnimation into the animation module.
dopplershift Jul 28, 2015
570e830
Use savefig instead of print_figure.
anntzer Aug 30, 2017
9bc08c2
Simplify savefig.directory persistence.
anntzer Aug 30, 2017
11f0464
Limit size of HTML embedded animations.
dopplershift Aug 4, 2015
c0c8fe3
Add What's New file for JSAnimation.
dopplershift Dec 3, 2015
ace6700
ENH: Add HTMLWriter to animation smoke tests
dopplershift May 8, 2017
ffb2ccd
Some cleanups to HTMLWriter.
dopplershift Sep 1, 2017
83fa71f
Merge pull request #9125 from anntzer/cleanup
tacaswell Sep 1, 2017
751c9af
Merge pull request #9124 from anntzer/savefig
tacaswell Sep 1, 2017
9b3543a
MNT: future numpy only takes ints as index
tacaswell Sep 1, 2017
8d871d7
MNT: use tight layout in output figure
tacaswell Sep 1, 2017
e5b9f7d
Merge pull request #4821 from dopplershift/add-jsanimation
tacaswell Sep 1, 2017
c06610a
FIX: cast max/min to scaled dtype
tacaswell Sep 1, 2017
1b10c69
DOC: merge up whats_new
tacaswell Sep 1, 2017
731909b
Merge pull request #9145 from tacaswell/doc_merge_whats_new
tacaswell Sep 1, 2017
bcafaf9
MNT: use int division rather than int cast
tacaswell Sep 1, 2017
b722810
Merge pull request #9146 from tacaswell/fix_bool_imshow
tacaswell Sep 1, 2017
32fe66e
DOC: update github stats
tacaswell Sep 1, 2017
afcc8a0
DOC: do not include future whats_new
tacaswell Sep 1, 2017
f20f43d
REL: v2.1.0rc1
tacaswell Sep 1, 2017
715259f
BLD: bump branch away from tag
tacaswell Sep 1, 2017
d02024e
Merge pull request #9142 from tacaswell/mnt_memleak_future_numpy
efiring Sep 1, 2017
3a5a4d3
Fix some broken links
dstansby Sep 1, 2017
440605e
Merge pull request #9148 from dstansby/broken-links
tacaswell Sep 1, 2017
67d1299
Merge pull request #9142 from tacaswell/mnt_memleak_future_numpy
efiring Sep 1, 2017
fb0d711
Fix osx busy cursor
dstansby Sep 5, 2017
75064e1
Add comment about OSX busy cursor
dstansby Sep 6, 2017
11b619c
Fix pcolormesh and DatetimeIndex error
jklymak Sep 8, 2017
fb6fa1d
Makes restore __init__ works with PySide
t20100 Sep 8, 2017
52eb8b8
Pass bytes to QApplication()
t20100 Sep 8, 2017
7a0cbc3
Remove some unused scripts.
anntzer Sep 9, 2017
83a290d
fixed typo
jzc Sep 12, 2017
fdb414f
Merge pull request #9180 from jzc/master
anntzer Sep 12, 2017
46e9c31
Convert clabel docstring to numpydoc
dstansby Sep 14, 2017
a83a102
Fix wx_compat code for wxPython >= 4.0.0b2
RobinD42 Sep 14, 2017
ed537a1
Use svg zenodo badges throughout.
anntzer Sep 14, 2017
5285e76
Change axes.prop_cycle to single line in mplrc
jni Sep 15, 2017
b1dbf5d
Small fixes to clabel docstring
dstansby Sep 15, 2017
328dda5
Fix typo
et2010 Sep 15, 2017
2b21148
Merge pull request #9191 from et2010/patch-1
dstansby Sep 15, 2017
1f982fb
Further refactoring and simplification of _AddTool.
RobinD42 Sep 15, 2017
abdc2be
Merge pull request #9189 from jni/validate-mplrc
WeatherGod Sep 15, 2017
aee7196
Merge pull request #9188 from anntzer/svg-zenodo
dstansby Sep 16, 2017
e66b5d8
Merge pull request #9186 from dstansby/clabel-docstring
dstansby Sep 16, 2017
849fa26
Convert tick-setting methods to docstrings
dstansby Sep 16, 2017
59dbf08
Merge pull request #9188 from anntzer/svg-zenodo
dstansby Sep 16, 2017
c7107cd
Merge pull request #9189 from jni/validate-mplrc
WeatherGod Sep 15, 2017
31afe34
Clean conda
dstansby Sep 17, 2017
b175cf7
Pin anaconda-client version
dstansby Sep 17, 2017
ae57ee6
Don't fail on empty autoscale_None.
anntzer Sep 17, 2017
3d3ede8
Merge pull request #9197 from dstansby/appveyor
tacaswell Sep 17, 2017
61714e7
Merge pull request #8867 from anntzer/eventloop
efiring Sep 18, 2017
f945eca
Merge pull request #9195 from anntzer/empty-lognorm
dstansby Sep 18, 2017
35af6c0
Merge pull request #8867 from anntzer/eventloop
efiring Sep 18, 2017
4b50e49
Merge pull request #9169 from t20100/fix-restore-init-pyside
tacaswell Sep 18, 2017
6ab5288
Merge pull request #9169 from t20100/fix-restore-init-pyside
tacaswell Sep 18, 2017
e12db84
TST: add test for pandas + pcolormesh
tacaswell Sep 18, 2017
63e2810
Merge pull request #9157 from dstansby/osx-busy-cursor
tacaswell Sep 18, 2017
ebd3a72
Merge pull request #9197 from dstansby/appveyor
tacaswell Sep 17, 2017
b4acccf
Minor fixes to tick docstrings
dstansby Sep 19, 2017
0817c66
Merge pull request #9192 from dstansby/set-tick-docstrings
NelleV Sep 19, 2017
ed44f27
get proper renderer width and height in FigureImage
jklymak Sep 19, 2017
b4788ba
Merge pull request #9195 from anntzer/empty-lognorm
dstansby Sep 18, 2017
172daf8
Merge pull request #9192 from dstansby/set-tick-docstrings
NelleV Sep 19, 2017
fb01a91
get proper renderer width and height in FigureImage
jklymak Sep 19, 2017
22091d6
get proper renderer width and height in FigureImage
jklymak Sep 19, 2017
272b377
Fixed tests to include svg and pdf for figimage
jklymak Sep 20, 2017
90aab86
Put a bit of commenting in
jklymak Sep 20, 2017
013d2e2
added baseline images
jklymak Sep 20, 2017
a473231
PEP-8: add space after comma in test
efiring Sep 20, 2017
90dcfe2
removed svg from tests and changed test names to match image names
jklymak Sep 20, 2017
f85a6c1
Shorten line, remove 2nd LooseVersion in comparrison
RobinD42 Sep 20, 2017
1a23a5a
Fixed mis-edited _base.py
jklymak Sep 20, 2017
30f7897
cleaned up duplicate code in test_image
jklymak Sep 21, 2017
a7ec9d3
Merge pull request #9031 from tropfcode/Rectangle-Selector-geometry-d…
dstansby Sep 21, 2017
9149d8c
Backport PR #9031: Added RectangleSelector.geometry docstring
dstansby Sep 21, 2017
f5893ce
Merge pull request #9212 from matplotlib/auto-backport-of-pr-9031
tacaswell Sep 22, 2017
7a3747f
Mark svg files as binary/generated in gitattributes.
anntzer Sep 22, 2017
e3e78be
FIX: always decode byte strings from AFM files as utf8
tacaswell Sep 18, 2017
ffbb57e
STY: remove extra line
tacaswell Sep 22, 2017
a6f38ab
Update wxpython wheel url for travis.
anntzer Sep 20, 2017
ffa4803
Merge pull request #9168 from jklymak/fixpcolormeshdatetime
tacaswell Sep 22, 2017
788abaf
Backport PR #9168: Fix pcolormesh and DatetimeIndex error
tacaswell Sep 22, 2017
cb9ddbc
Merge pull request #9213 from matplotlib/auto-backport-of-pr-9168
tacaswell Sep 22, 2017
80ffe40
Merge pull request #9187 from RobinD42/fix-AddTool-for-wxPy4.0.0b2
tacaswell Sep 22, 2017
5d0d3f5
Backport PR #9187: Fix wx_compat code for wxPython >= 4.0.0b2
tacaswell Sep 22, 2017
7dc7a32
Merge pull request #9215 from anntzer/svg-gitattributes
dstansby Sep 22, 2017
a1f635f
Merge pull request #9216 from matplotlib/auto-backport-of-pr-9187
tacaswell Sep 22, 2017
cece2d4
Merge pull request #9198 from tacaswell/fix_afm_unicode
tacaswell Sep 24, 2017
5f63dd4
Merge pull request #9204 from jklymak/fiximage
tacaswell Sep 24, 2017
052b52b
Merge pull request #9204 from jklymak/fiximage
tacaswell Sep 24, 2017
427e0bb
Merge remote-tracking branch 'matplotlib/v2.1.x'
tacaswell Sep 24, 2017
b3e9d7b
Merge pull request #9108 from tacaswell/fix_js_bug
tacaswell Sep 24, 2017
918649a
Small index change
jklymak Sep 24, 2017
62450fd
Small index change
jklymak Sep 24, 2017
95d58f4
Merge pull request #9219 from jklymak/smallindexchange
tacaswell Sep 24, 2017
b4b1802
update link to IPython stable doc
Carreau Sep 25, 2017
6ec497a
Merge pull request #9225 from Carreau/docupdate
dstansby Sep 25, 2017
73e4425
Use custom *Axis in polar plots.
QuLogic Aug 4, 2017
30b4a6c
Add a custom ThetaTick for polar plots.
QuLogic Aug 4, 2017
8c430e8
Add a custom RadialTick for polar plots.
QuLogic Aug 4, 2017
386bb30
Apply padding to radial ticks in polar plots.
QuLogic Aug 10, 2017
ba242b1
Apply padding to theta ticks in polar plots.
QuLogic Aug 10, 2017
a2531ee
Add clip path when resetting radial ticks.
QuLogic Aug 29, 2017
5f1ecbd
Add info about polar tick(label) changes.
QuLogic Aug 29, 2017
9529875
Restore old polar tick label behaviour for full circles.
QuLogic Aug 30, 2017
5b8d2df
Tweak padding on angular ticks to match previous.
QuLogic Aug 30, 2017
33377ce
Enable ticks on some polar plot tests.
QuLogic Aug 31, 2017
80a5f10
Cleanup polar tick changes based on review.
QuLogic Aug 31, 2017
77e2532
Ensure polar ticks are always "right-side up".
QuLogic Sep 25, 2017
228ee53
Add an 'auto' option to label rotation.
QuLogic Sep 25, 2017
549c07f
Re-create polar tests images with new ticks.
QuLogic Sep 25, 2017
15c57bd
Fix small grammatical errors.
QuLogic Sep 26, 2017
4792425
Merge pull request #9068 from QuLogic/polar-ticks
tacaswell Sep 26, 2017
fe311da
Fix download of freetype 2.6.1.
anntzer Sep 27, 2017
affc5c6
Merge pull request #9243 from anntzer/freetype261-download
dopplershift Sep 27, 2017
c5170ec
Fix passing shape (2,) input to Collections.set_offsets.
anntzer Sep 26, 2017
4fe22e1
Merge pull request #9232 from anntzer/fix-collections-offsets
tacaswell Sep 28, 2017
a24d131
DOC: Update instructions on pandas converters
TomAugspurger Sep 28, 2017
963f913
Merge pull request #9251 from TomAugspurger/pandas-import-doc
tacaswell Sep 29, 2017
17ec416
Merge pull request #9174 from anntzer/remove-pylab-names-script
NelleV Sep 30, 2017
c08e75a
Remove four unused variables in src/_path.h.
kianasun Oct 1, 2017
793635c
Merge pull request #9258 from skx19952/unused-variables
anntzer Oct 2, 2017
92552b2
Minor fixes to github templates.
anntzer Oct 2, 2017
0b7e02d
Merge pull request #9266 from anntzer/github-templates
tacaswell Oct 2, 2017
43016ac
Include the default of "plot_pre_code" of the plot directive in the d…
MSeifert04 Oct 3, 2017
9986196
Merge pull request #9272 from MSeifert04/include-plot-directive-preco…
tacaswell Oct 3, 2017
028b098
Remove scatter_profile example.
anntzer Oct 4, 2017
922156f
Merge pull request #9278 from anntzer/remove-scatter_profile
tacaswell Oct 4, 2017
de0848e
Update docstrings and allow infinite counts for plot_{surface,wirefra…
anntzer Oct 4, 2017
c1fa7fc
Fix documents of semilogx and semilogy.
kianasun Oct 2, 2017
9cb0f74
Merge pull request #9277 from anntzer/plot-surface
WeatherGod Oct 5, 2017
cd9ca9d
Ask Appveyor to ignore certain branches.
Carreau Oct 5, 2017
589b953
Merge pull request #9286 from Carreau/skip-autobackport
tacaswell Oct 5, 2017
df79954
Throw std::runtime_exception instead of char*.
anntzer Oct 5, 2017
790c843
Merge pull request #9268 from skx19952/semilog-doc
dstansby Oct 6, 2017
89183ba
Merge pull request #9289 from anntzer/dont-throw-cpp-strings
tacaswell Oct 6, 2017
c52dd21
In text, report to verbose and return instead of exception for non-fi…
jklymak Oct 6, 2017
7c06c7f
Don't use pytest.filterwarings, which needs pytest>=3.2.
anntzer Oct 7, 2017
d5e10fe
Merge pull request #9303 from anntzer/no-pytest-filterwarnings
dstansby Oct 7, 2017
39a2924
TST: add test of text with non finite positions
tacaswell Oct 7, 2017
ad8ef63
Merge pull request #9295 from jklymak/textcheckpos
anntzer Oct 7, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
182 changes: 182 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
# With infos from
# http://tjelvarolsson.com/blog/how-to-continuously-test-your-python-code-on-windows-using-appveyor/
# https://packaging.python.org/en/latest/appveyor/
# https://github.com/rmcgibbo/python-appveyor-conda-example

# Backslashes in quotes need to be escaped: \ -> "\\"
branches:
except:
- /auto-backport-.*/

environment:

global:
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
# /E:ON and /V:ON options are not enabled in the batch script intepreter
# See: http://stackoverflow.com/a/13751649/163740
CMD_IN_ENV: cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd
# Workaround for https://github.com/conda/conda-build/issues/636
PYTHONIOENCODING: UTF-8
PYTEST_ARGS: -rawR --timeout=300 --durations=25 --cov-report= --cov=lib -m "not network"
PYTHONHASHSEED: 0 # Workaround for pytest-xdist flaky collection order
# https://github.com/pytest-dev/pytest/issues/920
# https://github.com/pytest-dev/pytest/issues/1075

matrix:
# for testing purpose: numpy 1.8 on py2.7, for the rest use 1.10/latest
# theoretically the CONDA_INSTALL_LOCN could be only two: one for 32bit,
# one for 64bit because we construct envs anyway. But using one for the
# right python version is hopefully making it fast due to package caching.
- TARGET_ARCH: "x64"
CONDA_PY: "27"
CONDA_NPY: "18"
PYTHON_VERSION: "2.7"
TEST_ALL: "no"
CONDA_INSTALL_LOCN: "C:\\Miniconda-x64"
- TARGET_ARCH: "x64"
CONDA_PY: "35"
CONDA_NPY: "110"
PYTHON_VERSION: "3.5"
CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64"
TEST_ALL: "no"
- TARGET_ARCH: "x64"
CONDA_PY: "36"
PYTHON_VERSION: "3.6"
CONDA_NPY: "111"
CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64"
TEST_ALL: "no"

# We always use a 64-bit machine, but can build x86 distributions
# with the PYTHON_ARCH variable (which is used by CMD_IN_ENV).
platform:
- x64

# all our python builds have to happen in tests_script...
build: false

cache:
- '%LOCALAPPDATA%\pip\Cache'
- '%USERPROFILE%\.cache\matplotlib'

init:
- echo %PYTHON_VERSION% %CONDA_INSTALL_LOCN%

install:
- set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
- set PYTHONUNBUFFERED=1
# for obvci_appveyor_python_build_env.cmd
- conda update --all --yes
- conda install anaconda-client=1.6.3 --yes
- conda install -c conda-forge --yes obvious-ci
# for msinttypes and newer stuff
- conda config --prepend channels conda-forge
- conda config --set show_channel_urls yes
- conda config --set always_yes true
# For building conda packages
- conda install --yes conda-build jinja2 anaconda-client
# this is now the downloaded conda...
- conda info -a

# Fix the appveyor build environment to work with conda build
# workaround for missing vcvars64.bat in py34 64bit
- copy ci\appveyor\vcvars64.bat "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64"

# For building, use a new environment which only includes the requirements for mpl
# same things as the requirements in ci/conda_recipe/meta.yaml
# if conda-forge gets a new pyqt, it might be nice to install it as well to have more backends
# https://github.com/conda-forge/conda-forge.github.io/issues/157#issuecomment-223536381
- conda create -q -n test-environment python=%PYTHON_VERSION%
pip setuptools numpy python-dateutil freetype=2.6 msinttypes "tk=8.5"
pyparsing pytz tornado "libpng>=1.6.21,<1.7" "zlib=1.2" "cycler>=0.10"
mock sphinx pandas
- activate test-environment
- echo %PYTHON_VERSION% %TARGET_ARCH%
- if %PYTHON_VERSION% == 2.7 conda install -q backports.functools_lru_cache
# pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124
- pip install -q pytest "pytest-cov>=2.3.1" pytest-rerunfailures pytest-timeout

# Let the install prefer the static builds of the libs
- set LIBRARY_LIB=%CONDA_PREFIX%\Library\lib
- mkdir lib || cmd /c "exit /b 0"
- copy /y %LIBRARY_LIB%\zlibstatic.lib lib\z.lib
- copy /y %LIBRARY_LIB%\libpng_static.lib lib\png.lib
# These z.lib / png.lib are not static versions but files which end up as
# dependencies to the dll file. This is fine for the conda build, but not here
# and for the wheels
- del %LIBRARY_LIB%\png.lib
- del %LIBRARY_LIB%\z.lib
- set MPLBASEDIRLIST=%CONDA_PREFIX%\Library\;.
# enables the local freetype build
- copy ci\travis\setup.cfg .
# Show the installed packages + versions
- conda list

test_script:
# Now build the thing..
- '%CMD_IN_ENV% pip install --no-deps -ve .'
# these should show no z, png, or freetype dll...
- set "DUMPBIN=%VS140COMNTOOLS%\..\..\VC\bin\dumpbin.exe"
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\_png*.pyd | findstr z.*.dll && exit /b 1 || exit /b 0'
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\_png*.pyd | findstr png.*.dll && exit /b 1 || exit /b 0'

# this are optional dependencies so that we don't skip so many tests...
- if x%TEST_ALL% == xyes conda install -q ffmpeg inkscape miktex pillow
# missing packages on conda-forge for avconv mencoder imagemagick
# This install sometimes failed randomly :-(
#- choco install imagemagick

# Test import of tkagg backend
- python -c "import matplotlib as m; m.use('tkagg'); import matplotlib.pyplot as plt; print(plt.get_backend())"
# tests
- echo The following args are passed to pytest %PYTEST_ARGS%
- python tests.py %PYTEST_ARGS%
# Generate a html for visual tests
- python tools/visualize_tests.py --no-browser
- pip install codecov
- codecov -e PYTHON_VERSION PLATFORM

after_test:
# After the tests were a success, build packages (wheels and conda)

# Build the wheel with the static libs
# Hide the output, the copied files really clutter the build log...
- '%CMD_IN_ENV% python setup.py bdist_wheel > NUL:'

# And now the conda build after a cleanup...
# cleanup build files so that they don't pollute the conda build but keep the wheel in dist...
- git clean -xdfq -e dist/
# cleanup the environment so that the test-environment does not leak into the conda build...
- set MPLBASEDIRLIST=
- set LIBRARY_LIB=
- deactivate
- path
- where python
- '%CMD_IN_ENV% conda config --get channels'
- '%CMD_IN_ENV% conda build -q .\ci\conda_recipe'

# Move the conda package into the dist directory, to register it
# as an "artifact" for Appveyor.
- copy /y %CONDA_INSTALL_LOCN%\conda-bld\win-32\*.bz2 dist || cmd /c "exit /b 0"
- copy /y %CONDA_INSTALL_LOCN%\conda-bld\win-64\*.bz2 dist || cmd /c "exit /b 0"
- dir dist\
- echo finished...

artifacts:
- path: dist\*
name: packages

- path: result_images\*
name: result_images
type: zip

on_finish:

on_failure:
- python tools/visualize_tests.py --no-browser
- echo zipping images after a failure...
- 7z a result_images.zip result_images\ | grep -v "Compressing"
- appveyor PushArtifact result_images.zip

matrix:
fast_finish: true
169 changes: 169 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# Circle CI configuration file
# https://circleci.com/docs/

version: 2


###########################################
# Define some common steps as YAML anchors.
#

apt-run: &apt-install
name: Install apt packages
command: |
sudo apt-get -qq update
sudo apt-get install -y \
inkscape \
libav-tools \
dvipng \
pgf \
lmodern \
cm-super \
texlive-latex-base \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-latex-recommended \
texlive-xetex \
graphviz \
libgeos-dev \
otf-freefont

fonts-run: &fonts-install
name: Install custom fonts
# We manually install Humor-Sans using the package from Ubuntu 14.10.
# Unfortunately humor sans is not available in the Ubuntu version used by
# CircleCI but we can manually install the deb from a later version since
# it is basically just a .ttf file.
command: |
mkdir -p ~/.local/share/fonts
wget -nc https://github.com/google/fonts/blob/master/ofl/felipa/Felipa-Regular.ttf?raw=true -O ~/.local/share/fonts/Felipa-Regular.ttf || true
if [ ! -f ~/.local/share/fonts/Humor-Sans.ttf ]; then
wget https://mirrors.kernel.org/ubuntu/pool/universe/f/fonts-humor-sans/fonts-humor-sans_1.0-1_all.deb
mkdir tmp
dpkg -x fonts-humor-sans_1.0-1_all.deb tmp
cp tmp/usr/share/fonts/truetype/humor-sans/Humor-Sans.ttf ~/.local/share/fonts
rm -rf tmp
else
echo "Not downloading Humor-Sans; file already exists."
fi
fc-cache -f -v

pip-run: &pip-install
# Upgrade pip and setuptools and wheel to get as clean an install as possible
name: Upgrade pip, setuptools, wheel
command: |
pip install --upgrade --user pip
pip install --upgrade --user wheel
pip install --upgrade --user setuptools

deps-run: &deps-install
name: Install Python dependencies
command: |
pip install --user python-dateutil numpy${NUMPY_VERSION} pyparsing!=2.1.6 cycler codecov coverage sphinx pillow
pip install --user -r doc-requirements.txt

mpl-run: &mpl-install
name: Install Matplotlib
command: pip install --user -ve .

doc-run: &doc-build
name: Build documentation
command: python make.py html
working_directory: doc

doc-bundle-run: &doc-bundle
name: Bundle sphinx-gallery documentation artifacts
command: tar cf doc/build/sphinx-gallery-files.tar.gz doc/api/_as_gen doc/gallery doc/tutorials
when: always


##########################################
# Here is where the real jobs are defined.
#

jobs:
docs-python35:
docker:
- image: circleci/python:3.5
steps:
- checkout

- run: *apt-install
- run: *fonts-install
- run: *pip-install

- run: *deps-install
- run: *mpl-install

- run: *doc-build

- run: *doc-bundle
- store_artifacts:
path: doc/build/sphinx-gallery-files.tar.gz

- store_artifacts:
path: doc/build/html

- run:
name: "Built documentation is available at:"
command: echo "${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/doc/build/html/index.html"

- add_ssh_keys:
fingerprints:
- "78:13:59:08:61:a9:e5:09:af:df:3a:d8:89:c2:84:c0"
- deploy:
name: "Deploy new docs"
command: ./.circleci/deploy-docs.sh

docs-python27:
docker:
- image: circleci/python:2.7
steps:
- checkout

- run: *apt-install
- run: *fonts-install
- run: *pip-install

- run:
<<: *deps-install
environment:
NUMPY_VERSION: "==1.7.1"
# Linkchecker only works with python 2.7 for the time being.
# Linkchecker is currently broken with requests 2.10.0 so force an earlier version.
- run: pip install --user $PRE requests==2.9.2 linkchecker
- run: *mpl-install

- run: *doc-build

# We don't build the LaTeX docs here, so linkchecker will complain
- run: touch doc/build/html/Matplotlib.pdf

# Linkchecker only works with python 2.7 for the time being
- run:
name: linkchecker
command: ~/.local/bin/linkchecker build/html/index.html
working_directory: doc

- run: *doc-bundle
- store_artifacts:
path: doc/build/sphinx-gallery-files.tar.gz

- store_artifacts:
path: doc/build/html

- run:
name: "Built documentation is available at:"
command: echo "${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/doc/build/html/index.html"


#########################################
# Defining workflows gets us parallelism.
#

workflows:
version: 2
build:
jobs:
- docs-python35
- docs-python27
28 changes: 28 additions & 0 deletions .circleci/deploy-docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

set -e

if [ "$CIRCLE_PROJECT_USERNAME" != "matplotlib" -o "$CIRCLE_BRANCH" != "master" -o "$CIRCLE_PULL_REQUEST" != "" ]; then
echo "Not uploading docs from non-master branch or non-Matplotlib org."
exit
fi

git clone [email protected]:matplotlib/devdocs.git

cd devdocs

git checkout --orphan gh-pages || true
git reset --hard first_commit

git rm -rf .
cp -R ../doc/build/html/. .
touch .nojekyll

git config user.email "MatplotlibCircleBot@nomail"
git config user.name "MatplotlibCircleBot"
git config push.default simple

git add .
git commit -m "Docs build of $CIRCLE_SHA1"

git push --set-upstream origin gh-pages --force
13 changes: 13 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[run]
branch = true
source =
matplotlib
mpl_toolkits
omit = matplotlib/_version.py

[report]
exclude_lines =
raise NotImplemented
def __str__
def __repr__
if __name__ == .__main__.:
Loading