Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0848bd1

Browse files
authored
Merge branch 'master' into fix-mplot3d-projection
2 parents e601965 + 37074c5 commit 0848bd1

671 files changed

Lines changed: 37117 additions & 41015 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

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@ clone_depth: 50
1414
environment:
1515

1616
global:
17+
PYTHONFAULTHANDLER: 1
1718
PYTHONIOENCODING: UTF-8
1819
PYTEST_ARGS: -raR --numprocesses=auto --timeout=300 --durations=25
1920
--cov-report= --cov=lib --log-level=DEBUG
2021

2122
matrix:
22-
# theoretically the CONDA_INSTALL_LOCN could be only two: one for 32bit,
23-
# one for 64bit because we construct envs anyway. But using one for the
24-
# right python version is hopefully making it fast due to package caching.
23+
# In theory we could use a single CONDA_INSTALL_LOCN because we construct
24+
# the envs anyway. But using one for the right python version hopefully
25+
# making things faster due to package caching.
2526
- PYTHON_VERSION: "3.6"
2627
CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64"
2728
TEST_ALL: "no"
@@ -47,57 +48,40 @@ init:
4748
install:
4849
- set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
4950
- set PYTHONUNBUFFERED=1
50-
# for msinttypes and newer stuff
5151
- conda config --set always_yes true
5252
- conda update --all
5353
- conda config --set show_channel_urls yes
5454
- conda config --prepend channels conda-forge
5555
# this is now the downloaded conda...
56+
- activate
5657
- conda info -a
5758

5859
# For building, use a new environment which only includes the requirements for mpl
59-
# same things as the requirements in ci/conda_recipe/meta.yaml
6060
# if conda-forge gets a new pyqt, it might be nice to install it as well to have more backends
6161
# https://github.com/conda-forge/conda-forge.github.io/issues/157#issuecomment-223536381
62-
#
6362
- conda create -q -n test-environment python=%PYTHON_VERSION%
64-
msinttypes freetype=2.6 "libpng>=1.6.21,<1.7" zlib=1.2 tk=8.5
65-
pip setuptools numpy pandas sphinx tornado
63+
freetype=2.6 tk=8.5
64+
pip setuptools numpy sphinx tornado
6665
- activate test-environment
6766
- echo %PYTHON_VERSION% %TARGET_ARCH%
68-
# pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124
69-
- pip install -q "pytest>=3.4,!=4.6.0" "pytest-cov>=2.3.1" pytest-rerunfailures pytest-timeout pytest-xdist
67+
- pip install -r requirements/testing/travis_all.txt -r requirements/testing/travis36.txt
7068

7169
# Apply patch to `subprocess` on Python versions > 2 and < 3.6.3
7270
# https://github.com/matplotlib/matplotlib/issues/9176
7371
- python -c "import sys; sys.exit(not (3,) < sys.version_info < (3,6,3))" && (
7472
curl -sL https://github.com/python/cpython/pull/1224.patch |
7573
patch -fsup 1 -d %CONDA_PREFIX% ) || cmd /c "exit /b 0"
7674

77-
# Let the install prefer the static builds of the libs
78-
- set LIBRARY_LIB=%CONDA_PREFIX%\Library\lib
79-
- mkdir lib || cmd /c "exit /b 0"
80-
- copy /y %LIBRARY_LIB%\zlibstatic.lib lib\z.lib
81-
- copy /y %LIBRARY_LIB%\libpng_static.lib lib\png.lib
82-
# These z.lib / png.lib are not static versions but files which end up as
83-
# dependencies to the dll file. This is fine for the conda build, but not here
84-
# and for the wheels
85-
- del %LIBRARY_LIB%\png.lib
86-
- del %LIBRARY_LIB%\z.lib
87-
# enables the local freetype build
88-
- set MPLLOCALFREETYPE=1
8975
# Show the installed packages + versions
9076
- conda list
9177

9278
test_script:
9379
# Now build the thing..
9480
- set LINK=/LIBPATH:%cd%\lib
9581
- pip install -ve .
96-
# these should show no z, png, or freetype dll...
82+
# this should show no freetype dll...
9783
- set "DUMPBIN=%VS140COMNTOOLS%\..\..\VC\bin\dumpbin.exe"
9884
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
99-
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\_png*.pyd | findstr z.*.dll && exit /b 1 || exit /b 0'
100-
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\_png*.pyd | findstr png.*.dll && exit /b 1 || exit /b 0'
10185

10286
# this are optional dependencies so that we don't skip so many tests...
10387
- if x%TEST_ALL% == xyes conda install -q ffmpeg inkscape miktex pillow
@@ -112,7 +96,7 @@ test_script:
11296
- pytest %PYTEST_ARGS%
11397

11498
after_test:
115-
# After the tests were a success, build wheels with the static libs
99+
# After the tests were a success, build wheels.
116100
# Hide the output, the copied files really clutter the build log...
117101
- 'python setup.py bdist_wheel > NUL:'
118102
- dir dist\

.circleci/config.yml

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ apt-run: &apt-install
1414
sudo apt-get -qq update
1515
sudo apt-get install -y \
1616
inkscape \
17-
libav-tools \
17+
ffmpeg \
1818
dvipng \
19-
pgf \
2019
lmodern \
2120
cm-super \
2221
texlive-latex-base \
2322
texlive-latex-extra \
2423
texlive-fonts-recommended \
2524
texlive-latex-recommended \
25+
texlive-pictures \
2626
texlive-xetex \
2727
graphviz \
2828
libgeos-dev \
2929
fonts-crosextra-carlito \
30-
otf-freefont
30+
fonts-freefont-otf
3131
3232
fonts-run: &fonts-install
3333
name: Install custom fonts
@@ -75,7 +75,9 @@ mpl-run: &mpl-install
7575

7676
doc-run: &doc-build
7777
name: Build documentation
78-
command: make html O=-T
78+
command: |
79+
make html O=-T
80+
rm -r build/html/_sources
7981
working_directory: doc
8082

8183
doc-bundle-run: &doc-bundle
@@ -101,7 +103,7 @@ jobs:
101103
- run:
102104
<<: *deps-install
103105
environment:
104-
NUMPY_VERSION: "==1.11.0"
106+
NUMPY_VERSION: "==1.13.0"
105107
- run: *mpl-install
106108

107109
- run: *doc-build
@@ -143,6 +145,32 @@ jobs:
143145
name: "Built documentation is available at:"
144146
command: echo "${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/doc/build/html/index.html"
145147

148+
docs-python38:
149+
docker:
150+
- image: circleci/python:3.8
151+
steps:
152+
- checkout
153+
154+
- run: *apt-install
155+
- run: *fonts-install
156+
- run: *pip-install
157+
158+
- run: *deps-install
159+
- run: *mpl-install
160+
161+
- run: *doc-build
162+
163+
- run: *doc-bundle
164+
- store_artifacts:
165+
path: doc/build/sphinx-gallery-files.tar.gz
166+
167+
- store_artifacts:
168+
path: doc/build/html
169+
170+
- run:
171+
name: "Built documentation is available at:"
172+
command: echo "${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/doc/build/html/index.html"
173+
146174
- add_ssh_keys:
147175
fingerprints:
148176
- "78:13:59:08:61:a9:e5:09:af:df:3a:d8:89:c2:84:c0"
@@ -160,3 +188,4 @@ workflows:
160188
jobs:
161189
- docs-python36
162190
- docs-python37
191+
- docs-python38

.flake8

Lines changed: 42 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[flake8]
2+
max-line-length = 79
23
ignore =
34
# Normal default
45
E121,E123,E126,E226,E24,E704,W503,W504,
@@ -7,18 +8,20 @@ ignore =
78
E265, E266,
89
E305, E306,
910
E722, E741,
10-
F401, F403, F811, F841,
11+
F811, F841,
1112
# Some new flake8 ignores:
1213
N801, N802, N803, N806, N812,
1314
# pydocstyle
1415
D100, D101, D102, D103, D104, D105, D106, D107,
15-
D200, D202, D203, D204, D205, D207, D208, D209, D212, D213,
16+
D200, D202, D203, D204, D205, D207, D209, D212, D213,
1617
D300, D301
1718
D400, D401, D402, D403, D413,
1819

1920
exclude =
2021
.git
2122
build
23+
doc/gallery
24+
doc/tutorials
2225
# External files.
2326
versioneer.py
2427
tools/gh_api.py
@@ -29,32 +32,51 @@ exclude =
2932
per-file-ignores =
3033
setup.py: E402
3134
setupext.py: E501
35+
tests.py: F401
3236

33-
tools/compare_backend_driver_results.py: E501
3437
tools/subset.py: E221, E251, E261, E302, E501
3538

39+
lib/matplotlib/__init__.py: F401
3640
lib/matplotlib/_cm.py: E202, E203, E302
3741
lib/matplotlib/_mathtext_data.py: E203, E261
38-
lib/matplotlib/font_manager.py: E203, E221, E251, E501
39-
lib/matplotlib/mathtext.py: E201, E202, E203, E211, E221, E222, E225, E251, E301, E402
40-
lib/matplotlib/pylab.py: E501
42+
lib/matplotlib/animation.py: F401
43+
lib/matplotlib/axes/__init__.py: F401, F403
44+
lib/matplotlib/axes/_axes.py: F401
45+
lib/matplotlib/backends/backend_*.py: F401
46+
lib/matplotlib/backends/qt_editor/formlayout.py: F401, F403
47+
lib/matplotlib/cbook/__init__.py: F401
48+
lib/matplotlib/figure.py: F401
49+
lib/matplotlib/font_manager.py: E221, E251, E501
50+
lib/matplotlib/image.py: F401, F403
51+
lib/matplotlib/lines.py: F401
52+
lib/matplotlib/mathtext.py: E221, E251
53+
lib/matplotlib/pylab.py: F401, F403
54+
lib/matplotlib/pyplot.py: F401
4155
lib/matplotlib/rcsetup.py: E501
56+
lib/matplotlib/style/__init__.py: F401
57+
lib/matplotlib/testing/conftest.py: F401
58+
lib/matplotlib/testing/compare.py: F401
59+
lib/matplotlib/testing/decorators.py: F401
60+
lib/matplotlib/tests/conftest.py: F401
61+
lib/matplotlib/tests/test_backend_qt.py: F401
4262
lib/matplotlib/tests/test_mathtext.py: E501
63+
lib/matplotlib/text.py: F401
4364
lib/matplotlib/transforms.py: E201, E202, E203
65+
lib/matplotlib/tri/__init__.py: F401, F403
4466
lib/matplotlib/tri/triinterpolate.py: E201, E221
45-
46-
lib/mpl_toolkits/axes_grid1/axes_divider.py: E402, E501
67+
lib/mpl_toolkits/axes_grid/*: F401, F403
68+
lib/mpl_toolkits/axes_grid1/__init__.py: F401
4769
lib/mpl_toolkits/axes_grid1/axes_size.py: E272
48-
lib/mpl_toolkits/axes_grid1/colorbar.py: E225, E501
70+
lib/mpl_toolkits/axisartist/__init__.py: F401
4971
lib/mpl_toolkits/axisartist/angle_helper.py: E221
50-
lib/mpl_toolkits/axisartist/clip_path.py: E225
51-
lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py: E225, E501
72+
lib/mpl_toolkits/axisartist/axes_divider.py: F401
73+
lib/mpl_toolkits/axisartist/axes_rgb.py: F401
74+
lib/mpl_toolkits/axisartist/axislines.py: F401
75+
lib/mpl_toolkits/mplot3d/__init__.py: F401
76+
lib/mpl_toolkits/tests/conftest.py: F401
77+
lib/pylab.py: F401, F403
5278

5379
doc/conf.py: E402, E501
54-
doc/sphinxext/github.py: E302, E501
55-
doc/sphinxext/math_symbol_table.py: E302, E501
56-
doc/sphinxext/skip_deprecated.py: E302
57-
doc/users/generate_credits.py: E302, E501
5880
tutorials/advanced/path_tutorial.py: E402, E501
5981
tutorials/advanced/patheffects_guide.py: E402, E501
6082
tutorials/advanced/transforms_tutorial.py: E402, E501
@@ -81,6 +103,7 @@ per-file-ignores =
81103

82104
examples/animation/frame_grabbing_sgskip.py: E402
83105
examples/axes_grid1/inset_locator_demo.py: E402
106+
examples/axes_grid1/scatter_hist_locatable_axes.py: E401, E402
84107
examples/axisartist/demo_curvelinear_grid.py: E402
85108
examples/color/color_by_yvalue.py: E402
86109
examples/color/color_cycle_default.py: E402
@@ -105,6 +128,7 @@ per-file-ignores =
105128
examples/images_contours_and_fields/contourf_hatching.py: E402
106129
examples/images_contours_and_fields/contourf_log.py: E402
107130
examples/images_contours_and_fields/demo_bboximage.py: E402
131+
examples/images_contours_and_fields/image_antialiasing.py: E402
108132
examples/images_contours_and_fields/image_clip_path.py: E402
109133
examples/images_contours_and_fields/image_demo.py: E402
110134
examples/images_contours_and_fields/image_masked.py: E402
@@ -137,6 +161,7 @@ per-file-ignores =
137161
examples/lines_bars_and_markers/filled_step.py: E402
138162
examples/lines_bars_and_markers/horizontal_barchart_distribution.py: E402
139163
examples/lines_bars_and_markers/joinstyle.py: E402
164+
examples/lines_bars_and_markers/scatter_hist.py: E402
140165
examples/lines_bars_and_markers/scatter_piecharts.py: E402
141166
examples/lines_bars_and_markers/scatter_with_legend.py: E402
142167
examples/lines_bars_and_markers/span_regions.py: E402
@@ -186,7 +211,6 @@ per-file-ignores =
186211
examples/pyplots/text_commands.py: E231, E402
187212
examples/pyplots/text_layout.py: E231, E402
188213
examples/pyplots/whats_new_1_subplot3d.py: E402
189-
examples/pyplots/whats_new_98_4_fancy.py: E302, E402
190214
examples/pyplots/whats_new_98_4_fill_between.py: E225, E402
191215
examples/pyplots/whats_new_98_4_legend.py: E228, E402
192216
examples/pyplots/whats_new_99_axes_grid.py: E402
@@ -223,6 +247,7 @@ per-file-ignores =
223247
examples/style_sheets/plot_solarizedlight2.py: E501
224248
examples/subplots_axes_and_figures/axes_margins.py: E402
225249
examples/subplots_axes_and_figures/axes_zoom_effect.py: E402
250+
examples/subplots_axes_and_figures/custom_figure_class.py: E402
226251
examples/subplots_axes_and_figures/demo_constrained_layout.py: E402
227252
examples/subplots_axes_and_figures/demo_tight_layout.py: E402
228253
examples/subplots_axes_and_figures/secondary_axis.py: E402
@@ -232,6 +257,7 @@ per-file-ignores =
232257
examples/text_labels_and_annotations/annotation_demo.py: E501
233258
examples/text_labels_and_annotations/demo_text_rotation_mode.py: E402
234259
examples/text_labels_and_annotations/custom_legends.py: E402
260+
examples/text_labels_and_annotations/fancyarrow_demo.py: E402
235261
examples/text_labels_and_annotations/font_family_rc_sgskip.py: E402
236262
examples/text_labels_and_annotations/font_file.py: E402
237263
examples/text_labels_and_annotations/legend.py: E402

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
* text=auto
2+
*.ppm binary
23
*.svg binary
34
*.svg linguist-language=true
45
lib/matplotlib/_version.py export-subst

.github/FUNDING.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# These are supported funding model platforms
2-
3-
custom: https://numfocus.salsalabs.org/donate-to-matplotlib/index.html
2+
github: [numfocus]
3+
custom: https://numfocus.org/donate-to-matplotlib

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ dist
3737
# Egg metadata
3838
*.egg-info
3939
.eggs
40+
# wheel metadata
41+
pip-wheel-metadata/*
4042
# tox testing tool
4143
.tox
4244
setup.cfg
@@ -54,6 +56,8 @@ Thumbs.db
5456
###################################
5557
lib/matplotlib/mpl-data/matplotlib.conf
5658
lib/matplotlib/mpl-data/matplotlibrc
59+
tutorials/intermediate/CL01.png
60+
tutorials/intermediate/CL02.png
5761

5862
# Documentation generated files #
5963
#################################

.travis.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
language: python
22

33
dist: xenial
4-
sudo: false
54

65
services:
76
- xvfb
@@ -82,7 +81,7 @@ matrix:
8281
- DELETE_FONT_CACHE=1
8382
- EXTRAREQS='-r requirements/testing/travis36.txt'
8483
- python: 3.7
85-
sudo: true
84+
- python: 3.8
8685
- python: "nightly"
8786
env:
8887
- PRE=--pre
@@ -99,7 +98,6 @@ matrix:
9998
- $HOME/.ccache # https://github.com/travis-ci/travis-ci/issues/5853
10099
- $HOME/.cache/matplotlib
101100
allow_failures:
102-
- python: "nightly"
103101

104102
before_install: |
105103
case "$TRAVIS_OS_NAME" in
@@ -145,6 +143,10 @@ install:
145143
python -c 'import PyQt5.QtCore' &&
146144
echo 'PyQt5 is available' ||
147145
echo 'PyQt5 is not available'
146+
python -mpip install --upgrade pyside2 &&
147+
python -c 'import PySide2.QtCore' &&
148+
echo 'PySide2 is available' ||
149+
echo 'PySide2 is not available'
148150
python -mpip install --upgrade \
149151
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-14.04 \
150152
wxPython &&
@@ -158,7 +160,7 @@ install:
158160
export CPPFLAGS=--coverage
159161
fi
160162
- |
161-
MPLLOCALFREETYPE=1 python -mpip install -ve . # Install Matplotlib.
163+
python -mpip install -ve . # Install Matplotlib.
162164
- |
163165
if [[ $TRAVIS_OS_NAME != 'osx' ]] && [[ $RUN_PYTEST == 1 ]]; then
164166
unset CPPFLAGS

0 commit comments

Comments
 (0)