Skip to content

Commit a1c4ce4

Browse files
committed
Merge branch 'master' into becky-fix-#8059
* master: (107 commits) Remove incorrect warning in gca(). Re-add of changes for flake8 and __cmp__ updates Py3fy backend_pgf. Fix tk icon loading. Add upstream link for PYOSINPUTHOOK_REPETITIVE. Remove outdated Py_TPFLAGS_HAVE_NEWBUFFER flag. Remove C checks for old PY_*VERSION*. Remove C checks for PY3K macro. Remove back-compat defined for old NumPy. Rename #include guards without using reserved names. Py3fy font_manager. Enable enter/leave notify for tk bump warnings backend gtk3, qt5/qt4 and wx pass in coordinates when entering figure. figure_enter_event uses now LocationEvent instead of Event. This is now consistent with the documentation: https://matplotlib.org/users/event_handling.html Some py3fication for matplotlib/__init__, setupext. Move API change Add API changes Remove old nose testing code Filter out invalid value warnings in log scaling ...
2 parents 36c4c1b + 53305a4 commit a1c4ce4

File tree

202 files changed

+3089
-7410
lines changed

Some content is hidden

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

202 files changed

+3089
-7410
lines changed

.appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ install:
5959
#
6060
- conda create -q -n test-environment python=%PYTHON_VERSION%
6161
msinttypes freetype=2.6 "libpng>=1.6.21,<1.7" zlib=1.2 tk=8.5
62-
pip setuptools numpy mock pandas sphinx tornado
62+
pip setuptools numpy pandas sphinx tornado
6363
- activate test-environment
6464
- echo %PYTHON_VERSION% %TARGET_ARCH%
6565
# pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ result_images
8080

8181
# Nose/Pytest generated files #
8282
###############################
83+
.pytest_cache/
8384
.cache/
8485
.coverage
8586
.coverage.*

.travis.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ addons:
3737
- texlive-latex-extra
3838
- texlive-latex-recommended
3939
- texlive-xetex
40+
- texlive-luatex
4041

4142
env:
4243
global:
@@ -47,7 +48,6 @@ env:
4748
- secure: "dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU="
4849
- CYCLER=cycler
4950
- DATEUTIL=python-dateutil
50-
- MOCK=
5151
- NOSE=
5252
- NUMPY=numpy
5353
- PANDAS=
@@ -70,7 +70,6 @@ matrix:
7070
env:
7171
- CYCLER=cycler==0.10
7272
- DATEUTIL=python-dateutil==2.1
73-
- MOCK=mock
7473
- NOSE=nose
7574
- NUMPY=numpy==1.10.0
7675
- PANDAS='pandas<0.21.0'
@@ -86,7 +85,6 @@ matrix:
8685
env: PRE=--pre
8786
- os: osx
8887
language: generic # https://github.com/travis-ci/travis-ci/issues/2312
89-
env: MOCK=mock
9088
only: master
9189
cache:
9290
# As for now travis caches only "$HOME/.cache/pip"
@@ -109,9 +107,8 @@ before_install:
109107
export PATH=/usr/lib/ccache:$PATH
110108
else
111109
ci/travis/silence brew update
112-
brew install python3 ffmpeg imagemagick mplayer ccache
113-
# make 'python' mean 'python3'
114-
ln -sf /usr/local/bin/python3 /usr/local/bin/python
110+
brew upgrade python
111+
brew install ffmpeg imagemagick mplayer ccache
115112
hash -r
116113
which python
117114
python --version
@@ -122,21 +119,18 @@ before_install:
122119
fi
123120
124121
install:
125-
# Upgrade pip and setuptools. Mock has issues with the default version of
126-
# setuptools
127122
- |
128-
# Setup environment
123+
# Setup environment.
129124
ccache -s
130125
git describe
131-
# Upgrade pip and setuptools and wheel to get as clean an install as possible
126+
# Upgrade pip and setuptools and wheel to get as clean an install as possible.
132127
python -mpip install --upgrade pip setuptools wheel
133128
- |
134-
# Install dependencies from PyPI
129+
# Install dependencies from PyPI.
135130
python -mpip install --upgrade $PRE \
136131
codecov \
137132
coverage \
138133
$CYCLER \
139-
$MOCK \
140134
$NOSE \
141135
$NUMPY \
142136
$PANDAS \

INSTALL.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ To run the test suite:
5454
* extract the :file:`lib\\matplotlib\\tests` or
5555
:file:`lib\\mpl_toolkits\\tests` directories from the source distribution;
5656
* install test dependencies: `pytest <https://pypi.python.org/pypi/pytest>`_,
57-
`mock <https://pypi.python.org/pypi/mock>`_, Pillow, MiKTeX, GhostScript,
58-
ffmpeg, avconv, ImageMagick, and `Inkscape <https://inkscape.org/>`_;
59-
* run ``py.test path\to\tests\directory``.
57+
Pillow, MiKTeX, GhostScript, ffmpeg, avconv, ImageMagick, and `Inkscape
58+
<https://inkscape.org/>`_;
59+
* run ``pytest path\to\tests\directory``.
6060

6161

6262
Third-party distributions of Matplotlib
@@ -159,7 +159,6 @@ optional Matplotlib backends and the capabilities they provide.
159159
* `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.4) or
160160
`PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4Agg backend;
161161
* `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5Agg backend;
162-
* :term:`pygtk` (>= 2.4): for the GTK and the GTKAgg backend;
163162
* :term:`wxpython` (>= 2.9 or later): for the WX or WXAgg backend;
164163
* `cairocffi <https://cairocffi.readthedocs.io/en/latest/>`__ (>=
165164
v0.8): for cairo based backends;

MANIFEST.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ include pytest.ini
44
include Makefile MANIFEST.in
55
include matplotlibrc.template setup.cfg.template
66
include setupext.py setup.py distribute_setup.py
7-
include lib/matplotlib/mpl-data/lineprops.glade
87
include lib/matplotlib/mpl-data/matplotlibrc
98
include lib/matplotlib/mpl-data/images/*
109
include lib/matplotlib/mpl-data/fonts/ttf/*

README.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,16 @@ Testing
5252

5353
After installation, you can launch the test suite::
5454

55-
py.test
55+
pytest
5656

5757
Or from the Python interpreter::
5858

5959
import matplotlib
6060
matplotlib.test()
6161

62-
Consider reading http://matplotlib.org/devel/coding_guide.html#testing for
63-
more information. Note that the test suite requires pytest and, on Python 2.7,
64-
mock. Please install with pip or your package manager of choice.
62+
Consider reading http://matplotlib.org/devel/coding_guide.html#testing for more
63+
information. Note that the test suite requires pytest. Please install with pip
64+
or your package manager of choice.
6565

6666
Contact
6767
=======

doc-requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ sphinx>=1.3,!=1.5.0,!=1.6.4
1010
colorspacious
1111
ipython
1212
ipywidgets
13-
mock
1413
numpydoc>=0.4
1514
pillow
1615
sphinx-gallery>=0.1.12

doc/_static/mpl.css

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,14 +373,24 @@ div.warning {
373373
border: 1px solid #eed3d7;
374374
}
375375

376+
div.deprecated {
377+
color: #606060;
378+
background-color: #f0f0f0;
379+
border: 1px solid #404040;
380+
}
381+
382+
div.deprecated span.versionmodified {
383+
color: #606060;
384+
font-weight: bold;
385+
}
386+
376387
div.green {
377388
color: #468847;
378389
background-color: #dff0d8;
379390
border: 1px solid #d6e9c6;
380391
}
381392

382-
383-
div.admonition p, div.warning p {
393+
div.admonition p, div.warning p, div.deprecated p {
384394
margin: 0.5em 1em 0.5em 1em;
385395
padding: 0;
386396
}
@@ -401,15 +411,14 @@ div.warning p.admonition-title {
401411
font-size: 14px;
402412
}
403413

404-
div.admonition {
414+
div.admonition, div.deprecated {
405415
margin-bottom: 10px;
406416
margin-top: 10px;
407417
padding: 7px;
408418
border-radius: 4px;
409419
-moz-border-radius: 4px;
410420
}
411421

412-
413422
div.note {
414423
background-color: #eee;
415424
border: 1px solid #ccc;

doc/api/axes_api.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,6 @@ Interactive
509509
Axes.contains_point
510510

511511
Axes.get_cursor_data
512-
Axes.get_cursor_props
513-
Axes.set_cursor_props
514512

515513
Children
516514
========

doc/api/backend_gtkagg_api.rst

Lines changed: 0 additions & 11 deletions
This file was deleted.

doc/api/backend_gtkcairo_api.rst

Lines changed: 0 additions & 11 deletions
This file was deleted.

doc/api/index_backend_api.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ backends
1010
backend_tools_api.rst
1111
backend_agg_api.rst
1212
backend_cairo_api.rst
13-
backend_gtkagg_api.rst
14-
backend_gtkcairo_api.rst
1513
backend_gtk3agg_api.rst
1614
backend_gtk3cairo_api.rst
1715
backend_nbagg_api.rst

doc/api/next_api_changes/2018-02-15-AL-deprecations.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ The following functions and classes are deprecated:
1010

1111
- ``cbook.GetRealpathAndStat`` (which is only a helper for
1212
``get_realpath_and_stat``),
13+
- ``cbook.Locked``,
1314
- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead),
1415
- ``mathtext.unichr_safe`` (use ``chr`` instead),
1516
- ``texmanager.dvipng_hack_alpha``,
17+
18+
The following rcParams are deprecated:
19+
- ``pgf.debug`` (the pgf backend relies on logging),
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Deprecated methods removed from `matplotlib.testing`
2+
----------------------------------------------------
3+
4+
The deprecated methods `knownfailureif` and `remove_text` have been removed
5+
from :mod:`matplotlib.testing.decorators`.
6+
7+
The entire contents of `testing.noseclasses` have also been removed.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Removal of deprecated backends
2+
------------------------------
3+
4+
Deprecated backends have been removed:
5+
6+
* GTKAgg
7+
* GTKCairo
8+
* GTK
9+
* GDK
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Removal of deprecated functions
2+
```````````````````````````````
3+
The following previously deprecated functions have been removed:
4+
- ``matplotlib.font_manager.ttfdict_to_fnames``
5+
- ``matplotlib.font_manager.weight_as_number``
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Removal of deprecated APIs
2+
``````````````````````````
3+
The following deprecated API elements have been removed:
4+
5+
- ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint``,
6+
- ``backend_bases.IdleEvent``,
7+
- ``cbook.converter``, ``cbook.tostr``, ``cbook.todatetime``, ``cbook.todate``,
8+
``cbook.tofloat``, ``cbook.toint``, ``cbook.unique``,
9+
``cbook.is_string_like``, ``cbook.is_sequence_of_strings``,
10+
``cbook.is_scalar``, ``cbook.soundex``, ``cbook.dict_delall``,
11+
``cbook.get_split_ind``, ``cbook.wrap``, ``cbook.get_recursive_filelist``,
12+
``cbook.pieces``, ``cbook.exception_to_str``, ``cbook.allequal``,
13+
``cbook.alltrue``, ``cbook.onetrue``, ``cbook.allpairs``, ``cbook.finddir``,
14+
``cbook.reverse_dict``, ``cbook.restrict_dict``, ``cbook.issubclass_safe``,
15+
``cbook.recursive_remove``, ``cbook.unmasked_index_ranges``,
16+
``cbook.Null``, ``cbook.RingBuffer``, ``cbook.Sorter``, ``cbook.Xlator``,
17+
- ``font_manager.weight_as_number``, ``font_manager.ttfdict_to_fnames``,
18+
- ``pyplot.colors``,
19+
- ``rcsetup.validate_negative_linestyle``,
20+
``rcsetup.validate_negative_linestyle_legacy``,
21+
- ``testing.compare.verifiers``, ``testing.compare.verify``,
22+
- ``testing.decorators.knownfailureif``,
23+
``testing.decorators.ImageComparisonTest.remove_text``,
24+
- ``tests.assert_str_equal``, ``tests.test_tinypages.file_same``,
25+
- ``texmanager.dvipng_hack_alpha``,
26+
- ``_AxesBase.axesPatch``, ``_AxesBase.get_cursor_props``,
27+
``_AxesBase.set_cursor_props``,
28+
- ``_ImageBase.iterpnames``,
29+
- ``Figure.figurePatch``,
30+
- ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``,
31+
``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle``,
32+
- ``FigureCanvasQTAgg.blitbox``,
33+
- passing ``frac`` to ``PolarAxes.set_theta_grids``,

doc/conf.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ def _check_deps():
5858
"numpydoc": 'numpydoc',
5959
"PIL.Image": 'pillow',
6060
"sphinx_gallery": 'sphinx_gallery'}
61-
if sys.version_info < (3, 3):
62-
names["mock"] = 'mock'
6361
missing = []
6462
for name in names:
6563
try:

doc/devel/contributing.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,18 +142,17 @@ Additionally you will need to copy :file:`setup.cfg.template` to
142142
In either case you can then run the tests to check your work
143143
environment is set up properly::
144144

145-
python tests.py
145+
pytest
146146

147147
.. _pytest: http://doc.pytest.org/en/latest/
148148
.. _pep8: https://pep8.readthedocs.io/en/latest/
149-
.. _mock: https://docs.python.org/dev/library/unittest.mock.html
150149
.. _Ghostscript: https://www.ghostscript.com/
151150
.. _Inkscape: https://inkscape.org>
152151

153152
.. note::
154153

155154
**Additional dependencies for testing**: pytest_ (version 3.1 or later),
156-
mock_ (if Python 2), Ghostscript_, Inkscape_
155+
Ghostscript_, Inkscape_
157156

158157
.. seealso::
159158

doc/devel/documenting_mpl.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ requirements that are needed to build the documentation. They are listed in
4545
* Sphinx>=1.3, !=1.5.0, !=1.6.4
4646
* colorspacious
4747
* IPython
48-
* mock
4948
* numpydoc>=0.4
5049
* Pillow
5150
* sphinx-gallery>=0.1.12

doc/devel/testing.rst

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ Matplotlib's testing infrastructure depends on pytest_. The tests are in
99
infrastructure are in :mod:`matplotlib.testing`.
1010

1111
.. _pytest: http://doc.pytest.org/en/latest/
12-
.. _mock: https://docs.python.org/3/library/unittest.mock.html
1312
.. _Ghostscript: https://www.ghostscript.com/
1413
.. _Inkscape: https://inkscape.org
1514
.. _pytest-cov: https://pytest-cov.readthedocs.io/en/latest/
@@ -27,7 +26,6 @@ local FreeType build
2726
The following software is required to run the tests:
2827

2928
- pytest_ (>=3.1)
30-
- mock_, when running Python 2
3129
- Ghostscript_ (to render PDF files)
3230
- Inkscape_ (to render SVG files)
3331

@@ -44,7 +42,7 @@ Running the tests
4442

4543
Running the tests is simple. Make sure you have pytest installed and run::
4644

47-
py.test
45+
pytest
4846

4947
or::
5048

@@ -74,22 +72,22 @@ To run a single test from the command line, you can provide a file path,
7472
optionally followed by the function separated by two colons, e.g., (tests do
7573
not need to be installed, but Matplotlib should be)::
7674

77-
py.test lib/matplotlib/tests/test_simplification.py::test_clipping
75+
pytest lib/matplotlib/tests/test_simplification.py::test_clipping
7876

7977
or, if tests are installed, a dot-separated path to the module, optionally
8078
followed by the function separated by two colons, such as::
8179

82-
py.test --pyargs matplotlib.tests.test_simplification::test_clipping
80+
pytest --pyargs matplotlib.tests.test_simplification::test_clipping
8381

8482
If you want to run the full test suite, but want to save wall time try
8583
running the tests in parallel::
8684

87-
py.test --verbose -n 5
85+
pytest --verbose -n 5
8886

8987
Depending on your version of Python and pytest-xdist, you may need to set
9088
``PYTHONHASHSEED`` to a fixed value when running in parallel::
9189

92-
PYTHONHASHSEED=0 py.test --verbose -n 5
90+
PYTHONHASHSEED=0 pytest --verbose -n 5
9391

9492
An alternative implementation that does not look at command line arguments
9593
and works from within Python is to run the tests from the Matplotlib library

doc/faq/howto_faq.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,10 @@ Finally, the multipage pdf object has to be closed::
136136

137137
pp.close()
138138

139+
The same can be done using the pgf backend::
140+
141+
from matplotlib.backends.backend_pgf import PdfPages
142+
139143

140144
.. _howto-subplots-adjust:
141145

0 commit comments

Comments
 (0)