Skip to content

Commit 7781dbd

Browse files
committed
Merge remote-tracking branch 'master/master' into dfrac
2 parents d0cfe37 + 1bf8282 commit 7781dbd

1,043 files changed

Lines changed: 40196 additions & 28473 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

appveyor.yml renamed to .appveyor.yml

Lines changed: 50 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@ environment:
1111
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
1212
# /E:ON and /V:ON options are not enabled in the batch script intepreter
1313
# See: http://stackoverflow.com/a/13751649/163740
14-
CMD_IN_ENV: "cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd"
14+
CMD_IN_ENV: cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd
1515
# Workaround for https://github.com/conda/conda-build/issues/636
16-
PYTHONIOENCODING: "UTF-8"
17-
PYTEST_ARGS: -ra --timeout=300 --durations=25 -n %NUMBER_OF_PROCESSORS% --cov-report= --cov=lib
18-
USE_PYTEST: no
16+
PYTHONIOENCODING: UTF-8
17+
PYTEST_ARGS: -rawR --timeout=300 --durations=25 -n %NUMBER_OF_PROCESSORS% --cov-report= --cov=lib -m "not network"
1918
PYTHONHASHSEED: 0 # Workaround for pytest-xdist flaky collection order
2019
# https://github.com/pytest-dev/pytest/issues/920
2120
# https://github.com/pytest-dev/pytest/issues/1075
@@ -37,13 +36,6 @@ environment:
3736
PYTHON_VERSION: "3.5"
3837
TEST_ALL: "no"
3938
CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64"
40-
- TARGET_ARCH: "x64"
41-
CONDA_PY: "35"
42-
CONDA_NPY: "110"
43-
PYTHON_VERSION: "3.5"
44-
TEST_ALL: "no"
45-
CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64"
46-
USE_PYTEST: yes
4739
- TARGET_ARCH: "x86"
4840
CONDA_PY: "27"
4941
CONDA_NPY: "18"
@@ -63,26 +55,32 @@ platform:
6355
# all our python builds have to happen in tests_script...
6456
build: false
6557

58+
cache:
59+
- '%LOCALAPPDATA%\pip\Cache'
60+
- '%USERPROFILE%\.cache\matplotlib'
61+
6662
init:
67-
- cmd: "ECHO %PYTHON_VERSION% PYTEST=%USE_PYTEST% %CONDA_INSTALL_LOCN%"
63+
- echo %PYTHON_VERSION% %CONDA_INSTALL_LOCN%
6864

6965
install:
70-
- cmd: set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
71-
- cmd: set PYTHONUNBUFFERED=1
66+
- set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
67+
- set PYTHONUNBUFFERED=1
7268
# for obvci_appveyor_python_build_env.cmd
73-
- cmd: conda install -c pelson/channel/development --yes --quiet obvious-ci
69+
- conda install -c pelson/channel/development --yes --quiet obvious-ci
7470
# for msinttypes and newer stuff
75-
- cmd: conda config --add channels conda-forge
76-
- cmd: conda config --set show_channel_urls yes
77-
- cmd: conda config --set always_yes true
71+
# conda-forge may serve outdated versions of certain packages (e.g. conda
72+
# itself), so append it to the end of the list.
73+
- conda config --append channels conda-forge
74+
- conda config --set show_channel_urls yes
75+
- conda config --set always_yes true
7876
# For building conda packages
79-
- cmd: conda install --yes conda-build jinja2 anaconda-client
77+
- conda install --yes conda-build jinja2 anaconda-client
8078
# this is now the downloaded conda...
8179
- conda info -a
8280

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

8785
# For building, use a new environment which only includes the requirements for mpl
8886
# same things as the requirements in ci/conda_recipe/meta.yaml
@@ -91,18 +89,18 @@ install:
9189
- conda create -q -n test-environment python=%PYTHON_VERSION%
9290
pip setuptools numpy python-dateutil freetype=2.6 msinttypes "tk=8.5"
9391
pyparsing pytz tornado "libpng>=1.6.21,<1.7" "zlib=1.2" "cycler>=0.10"
94-
mock sphinx
92+
mock sphinx pandas
9593
- activate test-environment
96-
- cmd: echo %PYTHON_VERSION% %TARGET_ARCH%
97-
- cmd: IF %PYTHON_VERSION% == 2.7 conda install -q functools32
94+
- echo %PYTHON_VERSION% %TARGET_ARCH%
95+
- if %PYTHON_VERSION% == 2.7 conda install -q backports.functools_lru_cache
9896
# pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124
99-
- conda install -q pytest "pytest-cov>=2.3.1" pytest-timeout pytest-xdist
97+
- pip install -q pytest "pytest-cov>=2.3.1" pytest-rerunfailures pytest-timeout pytest-xdist
10098

10199
# Let the install prefer the static builds of the libs
102100
- set LIBRARY_LIB=%CONDA_PREFIX%\Library\lib
103-
- cmd: 'mkdir lib || cmd /c "exit /b 0"'
104-
- copy /Y %LIBRARY_LIB%\zlibstatic.lib lib\z.lib
105-
- copy /Y %LIBRARY_LIB%\libpng_static.lib lib\png.lib
101+
- mkdir lib || cmd /c "exit /b 0"
102+
- copy /y %LIBRARY_LIB%\zlibstatic.lib lib\z.lib
103+
- copy /y %LIBRARY_LIB%\libpng_static.lib lib\png.lib
106104
# These z.lib / png.lib are not static versions but files which end up as
107105
# dependencies to the dll file. This is fine for the conda build, but not here
108106
# and for the wheels
@@ -119,55 +117,51 @@ test_script:
119117
- '%CMD_IN_ENV% pip install --no-deps -ve .'
120118
# these should show no z, png, or freetype dll...
121119
- set "DUMPBIN=%VS140COMNTOOLS%\..\..\VC\bin\dumpbin.exe"
122-
#- cmd: '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\_png*.pyd'
123-
#- cmd: '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd'
124-
- cmd: '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
125-
- cmd: '"%DUMPBIN%" /DEPENDENTS lib\\matplotlib\\_png*.pyd | findstr z.*.dll && exit /b 1 || exit /b 0'
126-
- cmd: '"%DUMPBIN%" /DEPENDENTS lib\\matplotlib\\_png*.pyd | findstr png.*.dll && exit /b 1 || exit /b 0'
120+
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
121+
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\_png*.pyd | findstr z.*.dll && exit /b 1 || exit /b 0'
122+
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\_png*.pyd | findstr png.*.dll && exit /b 1 || exit /b 0'
127123

128124
# this are optional dependencies so that we don't skip so many tests...
129-
- cmd: if x%TEST_ALL% == xyes; conda install -q pillow miktex inkscape
130-
# missing packages on conda-forge for ffmpeg avconv mencoder imagemagick
131-
- cmd: if x%TEST_ALL% == xyes; conda install -q -c menpo ffmpeg # a repackaged version
125+
- if x%TEST_ALL% == xyes conda install -q ffmpeg inkscape miktex pillow
126+
# missing packages on conda-forge for avconv mencoder imagemagick
132127
# This install sometimes failed randomly :-(
133-
#- cmd: choco install imagemagick
128+
#- choco install imagemagick
134129

135130
# Test import of tkagg backend
136131
- python -c "import matplotlib as m; m.use('tkagg'); import matplotlib.pyplot as plt; print(plt.get_backend())"
137132
# tests
138133
- echo The following args are passed to pytest %PYTEST_ARGS%
139-
- if x%USE_PYTEST% == xyes py.test %PYTEST_ARGS%
140-
- if x%USE_PYTEST% == xno python tests.py %PYTEST_ARGS%
134+
- python tests.py %PYTEST_ARGS%
141135
# Generate a html for visual tests
142-
- python visual_tests.py
143-
- if x%USE_PYTEST% == xyes pip install codecov
144-
- if x%USE_PYTEST% == xyes codecov -e PYTHON_VERSION PLATFORM
136+
- python tools/visualize_tests.py --no-browser
137+
- pip install codecov
138+
- codecov -e PYTHON_VERSION PLATFORM
145139

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

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

153147
# And now the conda build after a cleanup...
154148
# cleanup build files so that they don't pollute the conda build but keep the wheel in dist...
155-
- cmd: git clean -d -x -f -e dist/
149+
- git clean -xdfq -e dist/
156150
# cleanup the environment so that the test-environment does not leak into the conda build...
157-
- cmd: set MPLBASEDIRLIST=
158-
- cmd: set LIBRARY_LIB=
159-
- cmd: deactivate
160-
- cmd: path
161-
- cmd: where python
162-
- cmd: '%CMD_IN_ENV% conda config --get channels'
163-
- cmd: '%CMD_IN_ENV% conda build -q .\ci\conda_recipe'
151+
- set MPLBASEDIRLIST=
152+
- set LIBRARY_LIB=
153+
- deactivate
154+
- path
155+
- where python
156+
- '%CMD_IN_ENV% conda config --get channels'
157+
- '%CMD_IN_ENV% conda build -q .\ci\conda_recipe'
164158

165159
# Move the conda package into the dist directory, to register it
166160
# as an "artifact" for Appveyor.
167-
- cmd: 'copy /Y %CONDA_INSTALL_LOCN%\conda-bld\win-32\*.bz2 dist || cmd /c "exit /b 0"'
168-
- cmd: 'copy /Y %CONDA_INSTALL_LOCN%\conda-bld\win-64\*.bz2 dist || cmd /c "exit /b 0"'
169-
- cmd: dir dist\
170-
- cmd: echo finished...
161+
- copy /y %CONDA_INSTALL_LOCN%\conda-bld\win-32\*.bz2 dist || cmd /c "exit /b 0"
162+
- copy /y %CONDA_INSTALL_LOCN%\conda-bld\win-64\*.bz2 dist || cmd /c "exit /b 0"
163+
- dir dist\
164+
- echo finished...
171165

172166
artifacts:
173167
- path: dist\*
@@ -180,9 +174,9 @@ artifacts:
180174
on_finish:
181175

182176
on_failure:
183-
- python visual_tests.py
177+
- python tools/visualize_tests.py --no-browser
184178
- echo zipping images after a failure...
185-
- 7z a result_images.zip result_images\ |grep -v "Compressing"
179+
- 7z a result_images.zip result_images\ | grep -v "Compressing"
186180
- appveyor PushArtifact result_images.zip
187181

188182
matrix:

.coveragerc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
[run]
2-
source=
2+
branch = true
3+
source =
34
matplotlib
45
mpl_toolkits
6+
omit = matplotlib/_version.py
57

68
[report]
79
exclude_lines =

.github/ISSUE_TEMPLATE.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
To help us understand and resolve your issue, please fill out the form to the best of your ability. You can feel free to delete the sections that do not apply.
1+
<!--To help us understand and resolve your issue, please fill out the form to the best of your ability.-->
2+
<!--You can feel free to delete the sections that do not apply.-->
23

34
### Bug report
45

56
**Bug summary**
67

7-
- A short 1-2 sentences that succinctly describes the bug
8+
<!--A short 1-2 sentences that succinctly describes the bug-->
89

910
**Code for reproduction**
1011

11-
- A minimum code snippet required to reproduce the bug, also minimizing the number of dependencies required
12+
<!--A minimum code snippet required to reproduce the bug, also minimizing the number of dependencies required-->
1213

1314
```python
1415
# Paste your code here
@@ -18,7 +19,7 @@ To help us understand and resolve your issue, please fill out the form to the be
1819

1920
**Actual outcome**
2021

21-
- The output produced by the above code, which may be a screenshot, console output, etc.
22+
<!--The output produced by the above code, which may be a screenshot, console output, etc.-->
2223

2324
```
2425
# If applicable, paste the console output here
@@ -28,11 +29,17 @@ To help us understand and resolve your issue, please fill out the form to the be
2829

2930
**Expected outcome**
3031

31-
- A description of the expected outcome from the code snippet
32-
- If this used to work in an earlier version of Matplotlib, please note the version it used to work on
32+
<!--A description of the expected outcome from the code snippet-->
33+
<!--If this used to work in an earlier version of Matplotlib, please note the version it used to work on-->
3334

3435
**Matplotlib version**
35-
36-
- Matplotlib version, Python version and Platform (Windows, OSX, Linux ...)
37-
- How did you install Matplotlib and Python (pip, anaconda, from source ...)
36+
<!--Please specify your platform and versions of the relevant libraries you are using:-->
37+
* Operating System:
38+
* Matplotlib Version:
39+
* Python Version:
40+
* Jupyter Version (if applicable):
41+
* Other Libraries:
42+
43+
<!--Please tell us how you installed matplotlib and python e.g., from source, pip, conda-->
44+
<!--If you installed from conda, please specify which channel you used if not the default-->
3845

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<!--Thank you so much for your PR! To help us review, fill out the form
2+
to the best of your ability. Please make use of the development guide at
3+
https://matplotlib.org/devdocs/devel/index.html-->
4+
5+
<!--Provide a general summary of your changes in the title above, for
6+
example "Raises ValueError on Non-Numeric Input to set_xlim". Please avoid
7+
non-descriptive titles such as "Addresses issue #8576".-->
8+
9+
<!--If you are able to do so, please do not create the
10+
PR out of master, but out of a separate branch. See
11+
https://matplotlib.org/devel/gitwash/development_workflow.html for
12+
instructions.-->
13+
14+
## PR Summary
15+
16+
<!--Please provide at least 1-2 sentences describing the pull request in
17+
detail. Why is this change required? What problem does it solve?-->
18+
19+
<!--If it fixes an open issue, please link to the issue here.-->
20+
21+
## PR Checklist
22+
23+
- [ ] Has Pytest style unit tests
24+
- [ ] Code is PEP 8 compliant
25+
- [ ] New features are documented, with examples if plot related
26+
- [ ] Documentation is sphinx and numpydoc compliant
27+
- [ ] Added an entry to doc/users/whats_new.rst if major new feature
28+
- [ ] Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way
29+
30+
<!--We understand that PRs can sometimes be overwhelming, especially as the
31+
reviews start coming in. Please let us know if the reviews are unclear or the
32+
recommended next step seems overly demanding , or if you would like help in
33+
addressing a reviewer's comments. And please ping us if you've been waiting
34+
too long to hear back on your PR.-->

.gitignore

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@
3030
################
3131
# setup.py working directory
3232
build
33-
# sphinx build directory
34-
doc/_build
33+
3534
# setup.py dist directory
3635
dist
3736
# Egg metadata
@@ -57,12 +56,18 @@ lib/matplotlib/mpl-data/matplotlibrc
5756

5857
# Documentation generated files #
5958
#################################
59+
# sphinx build directory
60+
doc/_build
61+
doc/api/_as_gen
62+
# autogenerated by sphinx-gallery
6063
doc/examples
61-
doc/_templates/gallery.html
64+
doc/gallery
65+
doc/tutorials
66+
doc/modules
67+
doc/pyplots/tex_demo.png
6268
doc/users/installing.rst
69+
doc/_static/depsy_badge.svg
6370
doc/_static/matplotlibrc
64-
doc/pyplots/tex_demo.png
65-
doc/api/_as_gen
6671
lib/dateutil
6772
examples/*/*.pdf
6873
examples/*/*.png

0 commit comments

Comments
 (0)