Compare commits
30 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
171d221430 | ||
|
|
2b82ad2a3b | ||
|
|
98cb5a1a9b | ||
|
|
ac8946e2f5 | ||
|
|
4cdf22e67a | ||
|
|
7da34af983 | ||
|
|
c24355dafa | ||
|
|
e3697cc92e | ||
|
|
3995507d1b | ||
|
|
ad9824fe33 | ||
|
|
f853587a87 | ||
|
|
4524214523 | ||
|
|
26c79f2797 | ||
|
|
c7c1d89af8 | ||
|
|
9d428b07ae | ||
|
|
037e6aee2b | ||
|
|
02546b29b2 | ||
|
|
107b5a1d51 | ||
|
|
8d41fb7796 | ||
|
|
d52452b8de | ||
|
|
ec400d341f | ||
|
|
bea895839b | ||
|
|
713ad4038b | ||
|
|
d613f4be7e | ||
|
|
f5b673f304 | ||
|
|
3fa499ba45 | ||
|
|
ea129e4586 | ||
|
|
e6f3591340 | ||
|
|
304a359289 | ||
|
|
8d98548134 |
16
.gitignore
vendored
16
.gitignore
vendored
@@ -42,3 +42,19 @@ matplotlib-1.0.0-without-gpc.tar.gz
|
||||
/matplotlib-3.1.1.tar.gz
|
||||
/matplotlib-3.1.1-with-freetype-2.10.0.tar.gz
|
||||
/matplotlib-3.1.2.tar.gz
|
||||
/matplotlib-3.2.0rc3.tar.gz
|
||||
/matplotlib-3.2.0rc3-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.2.0.tar.gz
|
||||
/matplotlib-3.2.0-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.2.1.tar.gz
|
||||
/matplotlib-3.2.2.tar.gz
|
||||
/matplotlib-3.2.2-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.3.0rc1.tar.gz
|
||||
/matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.3.0.tar.gz
|
||||
/matplotlib-3.3.0-with-freetype-2.10.2.tar.gz
|
||||
/matplotlib-3.3.1.tar.gz
|
||||
/matplotlib-3.3.2.tar.gz
|
||||
/matplotlib-3.3.3.tar.gz
|
||||
/matplotlib-3.3.3-with-freetype-2.10.4.tar.gz
|
||||
/matplotlib-3.3.4.tar.gz
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
From f0dbd8d7b76ac217df3641d03997b393c476d77c Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Wed, 20 Nov 2019 15:58:04 -0500
|
||||
Subject: [PATCH] Fix env override in WebAgg backend test.
|
||||
|
||||
It's only necessary to override DISPLAY, not throw away the rest of the
|
||||
environment. Without the other environment variables, stuff like custom
|
||||
PYTHONPATH break in this test.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_backend_webagg.py | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_backend_webagg.py b/lib/matplotlib/tests/test_backend_webagg.py
|
||||
index 220670aa4..997c36a3a 100644
|
||||
--- a/lib/matplotlib/tests/test_backend_webagg.py
|
||||
+++ b/lib/matplotlib/tests/test_backend_webagg.py
|
||||
@@ -8,11 +8,9 @@ import pytest
|
||||
def test_webagg_fallback(backend):
|
||||
if backend == "nbagg":
|
||||
pytest.importorskip("IPython")
|
||||
- env = {}
|
||||
- if os.name == "nt":
|
||||
- env = dict(os.environ)
|
||||
- else:
|
||||
- env = {"DISPLAY": ""}
|
||||
+ env = dict(os.environ)
|
||||
+ if os.name != "nt":
|
||||
+ env["DISPLAY"] = ""
|
||||
|
||||
env["MPLBACKEND"] = backend
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From ee5c28ea8cd17cbc04d5a9b79d5ce1326df93466 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Fri, 30 Mar 2018 03:15:51 -0400
|
||||
Subject: [PATCH] Force using system qhull.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
setupext.py | 12 +++++-------
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/setupext.py b/setupext.py
|
||||
index 3e8b382cc..66a278b0c 100644
|
||||
--- a/setupext.py
|
||||
+++ b/setupext.py
|
||||
@@ -838,14 +838,12 @@ class Png(SetupPackage):
|
||||
class Qhull(SetupPackage):
|
||||
name = "qhull"
|
||||
|
||||
+ def check(self):
|
||||
+ self.__class__.found_external = True
|
||||
+ return ' Using system copy.'
|
||||
+
|
||||
def add_flags(self, ext):
|
||||
- # Qhull doesn't distribute pkg-config info, so we have no way of
|
||||
- # knowing whether a system install is recent enough. Thus, always use
|
||||
- # the vendored version.
|
||||
- ext.include_dirs.insert(0, 'extern')
|
||||
- ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
|
||||
- if sysconfig.get_config_var('LIBM') == '-lm':
|
||||
- ext.libraries.extend('m')
|
||||
+ ext.libraries.append('qhull')
|
||||
|
||||
|
||||
class TTConv(SetupPackage):
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From 5c714fede82e29bd42a3a6f20ec2898a9c37a0ed Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Fri, 22 Nov 2019 19:50:20 -0500
|
||||
Subject: [PATCH] Skip webagg test if tornado is not available.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_backend_webagg.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_backend_webagg.py b/lib/matplotlib/tests/test_backend_webagg.py
|
||||
index 997c36a3a..5c6ddfa25 100644
|
||||
--- a/lib/matplotlib/tests/test_backend_webagg.py
|
||||
+++ b/lib/matplotlib/tests/test_backend_webagg.py
|
||||
@@ -6,6 +6,7 @@ import pytest
|
||||
|
||||
@pytest.mark.parametrize("backend", ["webagg", "nbagg"])
|
||||
def test_webagg_fallback(backend):
|
||||
+ pytest.importorskip("tornado")
|
||||
if backend == "nbagg":
|
||||
pytest.importorskip("IPython")
|
||||
env = dict(os.environ)
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
From c2af74bf18d46d03ec34bfda32afe1a99511ac9f Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Sat, 2 Mar 2019 18:18:29 -0500
|
||||
Subject: [PATCH] Use packaged jquery and jquery-ui.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
.../backends/web_backend/all_figures.html | 6 +-
|
||||
.../backends/web_backend/single_figure.html | 6 +-
|
||||
setup.py | 56 -------------------
|
||||
3 files changed, 6 insertions(+), 62 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/backends/web_backend/all_figures.html b/lib/matplotlib/backends/web_backend/all_figures.html
|
||||
index 41f48dc6d..69097eb4f 100644
|
||||
--- a/lib/matplotlib/backends/web_backend/all_figures.html
|
||||
+++ b/lib/matplotlib/backends/web_backend/all_figures.html
|
||||
@@ -3,9 +3,9 @@
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/page.css" type="text/css">
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/boilerplate.css" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/fbm.css" type="text/css" />
|
||||
- <link rel="stylesheet" href="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.css" >
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script>
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script>
|
||||
+ <link rel="stylesheet" href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" >
|
||||
+ <script src="/usr/share/javascript/jquery/latest/jquery.min.js"></script>
|
||||
+ <script src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script>
|
||||
<script src="{{ prefix }}/_static/js/mpl_tornado.js"></script>
|
||||
<script src="{{ prefix }}/js/mpl.js"></script>
|
||||
|
||||
diff --git a/lib/matplotlib/backends/web_backend/single_figure.html b/lib/matplotlib/backends/web_backend/single_figure.html
|
||||
index 4d5a366fb..c11c86618 100644
|
||||
--- a/lib/matplotlib/backends/web_backend/single_figure.html
|
||||
+++ b/lib/matplotlib/backends/web_backend/single_figure.html
|
||||
@@ -3,9 +3,9 @@
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/page.css" type="text/css">
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/boilerplate.css" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/fbm.css" type="text/css" />
|
||||
- <link rel="stylesheet" href="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.css" >
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script>
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script>
|
||||
+ <link rel="stylesheet" href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" >
|
||||
+ <script src="/usr/share/javascript/jquery/latest/jquery.min.js"></script>
|
||||
+ <script src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script>
|
||||
<script src="{{ prefix }}/_static/js/mpl_tornado.js"></script>
|
||||
<script src="{{ prefix }}/js/mpl.js"></script>
|
||||
<script>
|
||||
diff --git a/setup.py b/setup.py
|
||||
index adabf1753..57d6b91b4 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -27,8 +27,6 @@ from zipfile import ZipFile
|
||||
|
||||
from setuptools import setup, Extension
|
||||
from setuptools.command.build_ext import build_ext as BuildExtCommand
|
||||
-from setuptools.command.develop import develop as DevelopCommand
|
||||
-from setuptools.command.install_lib import install_lib as InstallLibCommand
|
||||
from setuptools.command.test import test as TestCommand
|
||||
|
||||
# The setuptools version of sdist adds a setup.cfg file to the tree.
|
||||
@@ -124,60 +122,6 @@ cmdclass['test'] = NoopTestCommand
|
||||
cmdclass['build_ext'] = BuildExtraLibraries
|
||||
|
||||
|
||||
-def _download_jquery_to(dest):
|
||||
- if os.path.exists(os.path.join(dest, "jquery-ui-1.12.1")):
|
||||
- return
|
||||
-
|
||||
- # If we are installing from an sdist, use the already downloaded jquery-ui
|
||||
- sdist_src = os.path.join(
|
||||
- "lib/matplotlib/backends/web_backend", "jquery-ui-1.12.1")
|
||||
- if os.path.exists(sdist_src):
|
||||
- shutil.copytree(sdist_src, os.path.join(dest, "jquery-ui-1.12.1"))
|
||||
- return
|
||||
-
|
||||
- # Note: When bumping the jquery-ui version, also update the versions in
|
||||
- # single_figure.html and all_figures.html.
|
||||
- url = "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip"
|
||||
- sha = 'f8233674366ab36b2c34c577ec77a3d70cac75d2e387d8587f3836345c0f624d'
|
||||
- if not os.path.exists(os.path.join(dest, "jquery-ui-1.12.1")):
|
||||
- os.makedirs(dest, exist_ok=True)
|
||||
- try:
|
||||
- buff = download_or_cache(url, sha)
|
||||
- except Exception:
|
||||
- raise IOError("Failed to download jquery-ui. Please download " +
|
||||
- "{url} and extract it to {dest}.".format(
|
||||
- url=url, dest=dest))
|
||||
- with ZipFile(buff) as zf:
|
||||
- zf.extractall(dest)
|
||||
-
|
||||
-
|
||||
-# Relying on versioneer's implementation detail.
|
||||
-class sdist_with_jquery(cmdclass['sdist']):
|
||||
- def make_release_tree(self, base_dir, files):
|
||||
- super(sdist_with_jquery, self).make_release_tree(base_dir, files)
|
||||
- _download_jquery_to(
|
||||
- os.path.join(base_dir, "lib/matplotlib/backends/web_backend/"))
|
||||
-
|
||||
-
|
||||
-# Affects install and bdist_wheel.
|
||||
-class install_lib_with_jquery(InstallLibCommand):
|
||||
- def run(self):
|
||||
- super(install_lib_with_jquery, self).run()
|
||||
- _download_jquery_to(
|
||||
- os.path.join(self.install_dir, "matplotlib/backends/web_backend/"))
|
||||
-
|
||||
-
|
||||
-class develop_with_jquery(DevelopCommand):
|
||||
- def run(self):
|
||||
- super(develop_with_jquery, self).run()
|
||||
- _download_jquery_to("lib/matplotlib/backends/web_backend/")
|
||||
-
|
||||
-
|
||||
-cmdclass['sdist'] = sdist_with_jquery
|
||||
-cmdclass['install_lib'] = install_lib_with_jquery
|
||||
-cmdclass['develop'] = develop_with_jquery
|
||||
-
|
||||
-
|
||||
# One doesn't normally see `if __name__ == '__main__'` blocks in a setup.py,
|
||||
# however, this is needed on Windows to avoid creating infinite subprocesses
|
||||
# when using multiprocessing.
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,23 +1,33 @@
|
||||
From 7a2146f4de31667bf977ba11598078f76beaf89c Mon Sep 17 00:00:00 2001
|
||||
From 7d34e4c6cf3e9f0b68d0a7f70f5c832a24b74d7e Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Wed, 27 Sep 2017 19:35:59 -0400
|
||||
Subject: [PATCH 1/4] matplotlibrc path search fix
|
||||
Subject: [PATCH 1/2] matplotlibrc path search fix
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/__init__.py | 19 ++++---------------
|
||||
lib/matplotlib/tests/test_rcparams.py | 18 ++++++++++++------
|
||||
2 files changed, 16 insertions(+), 21 deletions(-)
|
||||
lib/matplotlib/__init__.py | 28 ++++------------------------
|
||||
1 file changed, 4 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 825303171..7a4115491 100644
|
||||
index 1c47973f15..202acce525 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -624,18 +624,8 @@ def _get_data_path():
|
||||
return path
|
||||
@@ -536,33 +536,11 @@ def get_data_path(*, _from_rc=None):
|
||||
|
||||
def get_candidate_paths():
|
||||
- yield Path(__file__).with_name('mpl-data')
|
||||
@_logged_cached('(private) matplotlib data path: %s')
|
||||
def _get_data_path():
|
||||
- path = Path(__file__).with_name("mpl-data")
|
||||
+ path = (Path(__file__).parent.parent.parent.parent.parent /
|
||||
+ 'share/matplotlib/mpl-data')
|
||||
if path.is_dir():
|
||||
return str(path)
|
||||
|
||||
- cbook.warn_deprecated(
|
||||
- "3.2", message="Matplotlib installs where the data is not in the "
|
||||
- "mpl-data subdirectory of the package are deprecated since %(since)s "
|
||||
- "and support for them will be removed %(removal)s.")
|
||||
-
|
||||
- def get_candidate_paths():
|
||||
- # setuptools' namespace_packages may hijack this init file
|
||||
- # so need to try something known to be in Matplotlib, not basemap.
|
||||
- import matplotlib.afm
|
||||
@@ -29,77 +39,31 @@ index 825303171..7a4115491 100644
|
||||
- yield Path(sys.executable).parent.with_name('mpl-data')
|
||||
- # Try again assuming sys.path[0] is a dir not a exe.
|
||||
- yield Path(sys.path[0]) / 'mpl-data'
|
||||
+ yield (Path(__file__).parent.parent.parent.parent.parent /
|
||||
+ 'share/matplotlib/mpl-data')
|
||||
-
|
||||
- for path in get_candidate_paths():
|
||||
- if path.is_dir():
|
||||
- defaultParams['datapath'][0] = str(path)
|
||||
- return str(path)
|
||||
-
|
||||
raise RuntimeError('Could not find the matplotlib data files')
|
||||
|
||||
for path in get_candidate_paths():
|
||||
if path.is_dir():
|
||||
@@ -678,8 +668,7 @@ def matplotlib_fname():
|
||||
|
||||
@@ -583,6 +561,7 @@ def matplotlib_fname():
|
||||
is not defined)
|
||||
- On other platforms,
|
||||
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
|
||||
- - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
|
||||
- exist.
|
||||
+ - Lastly, it looks in ``/etc/matplotlibrc``, which should always exist.
|
||||
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
|
||||
+ - ``/etc/matplotlibrc``
|
||||
- Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
|
||||
exist.
|
||||
"""
|
||||
|
||||
def gen_candidates():
|
||||
@@ -692,7 +681,7 @@ def matplotlib_fname():
|
||||
@@ -597,6 +576,7 @@ def matplotlib_fname():
|
||||
yield matplotlibrc
|
||||
yield os.path.join(matplotlibrc, 'matplotlibrc')
|
||||
yield os.path.join(get_configdir(), 'matplotlibrc')
|
||||
- yield os.path.join(get_data_path(), 'matplotlibrc')
|
||||
+ yield '/etc/matplotlibrc'
|
||||
yield os.path.join(_get_data_path(), 'matplotlibrc')
|
||||
|
||||
for fname in gen_candidates():
|
||||
if os.path.exists(fname) and not os.path.isdir(fname):
|
||||
diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py
|
||||
index d8fe73ceb..c3aeb58ef 100644
|
||||
--- a/lib/matplotlib/tests/test_rcparams.py
|
||||
+++ b/lib/matplotlib/tests/test_rcparams.py
|
||||
@@ -1,6 +1,7 @@
|
||||
from collections import OrderedDict
|
||||
import copy
|
||||
import os
|
||||
+from pathlib import Path
|
||||
from unittest import mock
|
||||
import warnings
|
||||
|
||||
@@ -457,11 +458,17 @@ def test_rcparams_reset_after_fail():
|
||||
assert mpl.rcParams['text.usetex'] is False
|
||||
|
||||
|
||||
-def test_if_rctemplate_is_up_to_date():
|
||||
+@pytest.fixture
|
||||
+def mplrc():
|
||||
+ # This is the Fedora-specific location.
|
||||
+ return (Path(__file__).parent.parent.parent.parent.parent.parent.parent /
|
||||
+ 'etc/matplotlibrc')
|
||||
+
|
||||
+
|
||||
+def test_if_rctemplate_is_up_to_date(mplrc):
|
||||
# This tests if the matplotlibrc.template file contains all valid rcParams.
|
||||
deprecated = {*mpl._all_deprecated, *mpl._deprecated_remain_as_none}
|
||||
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
|
||||
- with open(path_to_rc, "r") as f:
|
||||
+ with open(mplrc, "r") as f:
|
||||
rclines = f.readlines()
|
||||
missing = {}
|
||||
for k, v in mpl.defaultParams.items():
|
||||
@@ -484,11 +491,10 @@ def test_if_rctemplate_is_up_to_date():
|
||||
.format(missing.items()))
|
||||
|
||||
|
||||
-def test_if_rctemplate_would_be_valid(tmpdir):
|
||||
+def test_if_rctemplate_would_be_valid(tmpdir, mplrc):
|
||||
# This tests if the matplotlibrc.template file would result in a valid
|
||||
# rc file if all lines are uncommented.
|
||||
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
|
||||
- with open(path_to_rc, "r") as f:
|
||||
+ with open(mplrc, "r") as f:
|
||||
rclines = f.readlines()
|
||||
newlines = []
|
||||
for line in rclines:
|
||||
--
|
||||
2.21.0
|
||||
2.29.2
|
||||
|
||||
|
||||
@@ -1,35 +1,36 @@
|
||||
From 53e911c1eb6b840036acfd6b630439bc55b4bdca Mon Sep 17 00:00:00 2001
|
||||
From 40ed55c16c0d3f7d2365af5c6a8f99e02eadae31 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Sat, 4 May 2019 04:36:45 -0400
|
||||
Subject: [PATCH 2/4] Set FreeType version to 2.10.0 and update tolerances.
|
||||
Date: Fri, 14 Feb 2020 06:05:42 -0500
|
||||
Subject: [PATCH 2/2] Set FreeType version to 2.10.4 and update tolerances.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/__init__.py | 2 +-
|
||||
lib/matplotlib/tests/test_axes.py | 6 +++---
|
||||
lib/matplotlib/tests/test_axes.py | 4 ++--
|
||||
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
|
||||
lib/matplotlib/tests/test_polar.py | 2 +-
|
||||
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
|
||||
setupext.py | 5 ++++-
|
||||
5 files changed, 14 insertions(+), 11 deletions(-)
|
||||
setupext.py | 6 +++++-
|
||||
6 files changed, 15 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 7a4115491..1bf9d3e03 100644
|
||||
index 202acce525..18731b7c4d 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -1361,7 +1361,7 @@ def _init_tests():
|
||||
|
||||
@@ -1198,7 +1198,7 @@ default_test_modules = [
|
||||
def _init_tests():
|
||||
# The version of FreeType to install locally for running the
|
||||
# tests. This must match the value in `setupext.py`
|
||||
- LOCAL_FREETYPE_VERSION = '2.6.1'
|
||||
+ LOCAL_FREETYPE_VERSION = '2.10.0'
|
||||
+ LOCAL_FREETYPE_VERSION = '2.10.4'
|
||||
|
||||
from matplotlib import ft2font
|
||||
if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or
|
||||
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
|
||||
index 8ff5ac45d..25f5695f3 100644
|
||||
index e0b340da1e..9090c2930c 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -6198,7 +6198,7 @@ def test_normal_axes():
|
||||
@@ -6055,7 +6055,7 @@ def test_normal_axes():
|
||||
]
|
||||
for nn, b in enumerate(bbaxis):
|
||||
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
|
||||
@@ -38,7 +39,7 @@ index 8ff5ac45d..25f5695f3 100644
|
||||
|
||||
target = [
|
||||
[150.0, 119.999, 930.0, 11.111],
|
||||
@@ -6216,7 +6216,7 @@ def test_normal_axes():
|
||||
@@ -6073,7 +6073,7 @@ def test_normal_axes():
|
||||
|
||||
target = [85.5138, 75.88888, 1021.11, 1017.11]
|
||||
targetbb = mtransforms.Bbox.from_bounds(*target)
|
||||
@@ -47,30 +48,34 @@ index 8ff5ac45d..25f5695f3 100644
|
||||
|
||||
# test that get_position roundtrips to get_window_extent
|
||||
axbb = ax.get_position().transformed(fig.transFigure).bounds
|
||||
@@ -6341,7 +6341,7 @@ def test_get_tightbbox_polar():
|
||||
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
index 46e6b9663e..593b3fb3ee 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -398,4 +398,4 @@ def test_hidden_axes():
|
||||
extents1 = np.copy(axs[0, 0].get_position().extents)
|
||||
|
||||
np.testing.assert_allclose(
|
||||
- extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5)
|
||||
+ extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2)
|
||||
diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
|
||||
index da9a77c825..a7a98ef59e 100644
|
||||
--- a/lib/matplotlib/tests/test_polar.py
|
||||
+++ b/lib/matplotlib/tests/test_polar.py
|
||||
@@ -314,7 +314,7 @@ def test_get_tightbbox_polar():
|
||||
fig.canvas.draw()
|
||||
bb = ax.get_tightbbox(fig.canvas.get_renderer())
|
||||
assert_allclose(bb.extents,
|
||||
- [107.7778, 29.2778, 539.7847, 450.7222], rtol=1e-03)
|
||||
+ [107.7778, 29.2778, 539.7847, 450.7222], rtol=1)
|
||||
assert_allclose(
|
||||
- bb.extents, [107.7778, 29.2778, 539.7847, 450.7222], rtol=1e-03)
|
||||
+ bb.extents, [107.7778, 29.2778, 539.7847, 450.7222], rtol=1)
|
||||
|
||||
|
||||
@check_figures_equal(extensions=["png"])
|
||||
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
index 8769fcec3..e9ae292f6 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -416,4 +416,4 @@ def test_hidden_axes():
|
||||
extents1 = np.copy(axs[0, 0].get_position().extents)
|
||||
|
||||
np.testing.assert_allclose(extents1,
|
||||
- [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5)
|
||||
+ [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2)
|
||||
diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py
|
||||
index 0b9469cb8..7963b82ff 100644
|
||||
index 9ad2e0a9a0..7c9085a314 100644
|
||||
--- a/lib/matplotlib/tests/test_tightlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_tightlayout.py
|
||||
@@ -186,12 +186,12 @@ def test_outward_ticks():
|
||||
@@ -171,12 +171,12 @@ def test_outward_ticks():
|
||||
plt.tight_layout()
|
||||
# These values were obtained after visual checking that they correspond
|
||||
# to a tight layouting that did take the ticks into account.
|
||||
@@ -89,26 +94,27 @@ index 0b9469cb8..7963b82ff 100644
|
||||
|
||||
|
||||
diff --git a/setupext.py b/setupext.py
|
||||
index 3e8b382cc..2a3fc3ee7 100644
|
||||
index dfa004d7f0..8ec77feed9 100644
|
||||
--- a/setupext.py
|
||||
+++ b/setupext.py
|
||||
@@ -135,12 +135,15 @@ _freetype_hashes = {
|
||||
'2.7.1': '162ef25aa64480b1189cdb261228e6c5c44f212aac4b4621e28cf2157efb59f5',
|
||||
'2.8': '33a28fabac471891d0523033e99c0005b95e5618dc8ffa7fa47f9dadcacb1c9b',
|
||||
'2.8.1': '876711d064a6a1bd74beb18dd37f219af26100f72daaebd2d86cb493d7cd7ec6',
|
||||
+ '2.9': 'bf380e4d7c4f3b5b1c1a7b2bf3abb967bda5e9ab480d0df656e0e08c5019c5e6',
|
||||
+ '2.9.1': 'ec391504e55498adceb30baceebd147a6e963f636eb617424bcfc47a169898ce',
|
||||
+ '2.10.0': '955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
|
||||
@@ -129,12 +129,16 @@ _freetype_hashes = {
|
||||
'955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
|
||||
'2.10.1':
|
||||
'3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
|
||||
+ '2.10.2':
|
||||
+ 'e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab',
|
||||
+ '2.10.4':
|
||||
+ '5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac',
|
||||
}
|
||||
# This is the version of FreeType to use when building a local
|
||||
# version. It must match the value in
|
||||
# lib/matplotlib.__init__.py and also needs to be changed below in the
|
||||
# embedded windows build script (grep for "REMINDER" in this file)
|
||||
-LOCAL_FREETYPE_VERSION = '2.6.1'
|
||||
+LOCAL_FREETYPE_VERSION = '2.10.0'
|
||||
+LOCAL_FREETYPE_VERSION = '2.10.4'
|
||||
LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')
|
||||
|
||||
|
||||
--
|
||||
2.21.0
|
||||
2.29.2
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
From b3b02bdfe6db629bc68a87a472b5f88d988bf5f2 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Tue, 23 Jan 2018 20:27:17 -0500
|
||||
Subject: [PATCH 3/4] Increase tolerances for non-x86_64 arches.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_streamplot.py | 2 +-
|
||||
lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
|
||||
index a712680cd..6007c9b9a 100644
|
||||
--- a/lib/matplotlib/tests/test_streamplot.py
|
||||
+++ b/lib/matplotlib/tests/test_streamplot.py
|
||||
@@ -61,7 +61,7 @@ def test_linewidth():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['streamplot_masks_and_nans'],
|
||||
- tol=0.04 if on_win else 0,
|
||||
+ tol=0.04 if on_win else 0.01,
|
||||
remove_text=True, style='mpl20')
|
||||
def test_masks_and_nans():
|
||||
X, Y, U, V = velocity_field()
|
||||
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
|
||||
index 95b1ae5a3..e054196b4 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
|
||||
@@ -362,7 +362,7 @@ def test_zooming_with_inverted_axes():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['anchored_direction_arrows'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.02,
|
||||
extensions=['png'])
|
||||
def test_anchored_direction_arrows():
|
||||
fig, ax = plt.subplots()
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,658 +0,0 @@
|
||||
From fb6a3a64fe6f5b314c1c54bbef745b78ee512417 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Sat, 31 Mar 2018 00:15:14 -0400
|
||||
Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/testing/decorators.py | 2 +-
|
||||
lib/matplotlib/tests/test_artist.py | 3 +-
|
||||
lib/matplotlib/tests/test_axes.py | 49 ++++++++++---------
|
||||
lib/matplotlib/tests/test_collections.py | 2 +-
|
||||
lib/matplotlib/tests/test_colorbar.py | 11 +++--
|
||||
.../tests/test_constrainedlayout.py | 2 +-
|
||||
lib/matplotlib/tests/test_contour.py | 8 +--
|
||||
lib/matplotlib/tests/test_cycles.py | 3 --
|
||||
lib/matplotlib/tests/test_figure.py | 3 +-
|
||||
lib/matplotlib/tests/test_image.py | 2 +-
|
||||
lib/matplotlib/tests/test_legend.py | 5 +-
|
||||
lib/matplotlib/tests/test_mathtext.py | 4 +-
|
||||
lib/matplotlib/tests/test_patches.py | 3 +-
|
||||
lib/matplotlib/tests/test_patheffects.py | 2 +-
|
||||
lib/matplotlib/tests/test_pickle.py | 2 +-
|
||||
lib/matplotlib/tests/test_quiver.py | 2 +-
|
||||
lib/matplotlib/tests/test_streamplot.py | 2 +-
|
||||
lib/matplotlib/tests/test_transforms.py | 2 +-
|
||||
lib/matplotlib/tests/test_units.py | 1 -
|
||||
.../tests/test_axisartist_floating_axes.py | 4 +-
|
||||
...test_axisartist_grid_helper_curvelinear.py | 6 +--
|
||||
lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
|
||||
22 files changed, 59 insertions(+), 63 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
|
||||
index 04d5bcda8..70de0263b 100644
|
||||
--- a/lib/matplotlib/testing/decorators.py
|
||||
+++ b/lib/matplotlib/testing/decorators.py
|
||||
@@ -341,7 +341,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
|
||||
return decorator
|
||||
|
||||
|
||||
-def image_comparison(baseline_images, extensions=None, tol=0,
|
||||
+def image_comparison(baseline_images, extensions=None, tol=0.1,
|
||||
freetype_version=None, remove_text=False,
|
||||
savefig_kwarg=None,
|
||||
# Default of mpl_test_settings fixture and cleanup too.
|
||||
diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py
|
||||
index 9bf15d0b9..5339dd2eb 100644
|
||||
--- a/lib/matplotlib/tests/test_artist.py
|
||||
+++ b/lib/matplotlib/tests/test_artist.py
|
||||
@@ -94,7 +94,8 @@ def test_collection_transform_of_none():
|
||||
assert isinstance(c._transOffset, mtransforms.IdentityTransform)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=["clip_path_clipping"], remove_text=True)
|
||||
+@image_comparison(baseline_images=["clip_path_clipping"], remove_text=True,
|
||||
+ tol=0.28)
|
||||
def test_clipping():
|
||||
exterior = mpath.Path.unit_rectangle().deepcopy()
|
||||
exterior.vertices *= 4
|
||||
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
|
||||
index 25f5695f3..f6ddc4e95 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -562,7 +562,7 @@ def test_single_point():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['single_date'], extensions=['png'],
|
||||
- style='mpl20')
|
||||
+ style='mpl20', tol=1.97)
|
||||
def test_single_date():
|
||||
time1 = [721964.0]
|
||||
data1 = [-65.54]
|
||||
@@ -1079,7 +1079,7 @@ def test_fill_between_interpolate():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['fill_between_interpolate_decreasing'],
|
||||
- style='mpl20', remove_text=True)
|
||||
+ style='mpl20', remove_text=True, tol=0.78)
|
||||
def test_fill_between_interpolate_decreasing():
|
||||
p = np.array([724.3, 700, 655])
|
||||
t = np.array([9.4, 7, 2.2])
|
||||
@@ -1164,7 +1164,8 @@ def test_pcolormesh():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['pcolormesh_datetime_axis'],
|
||||
- extensions=['png'], remove_text=False, style='mpl20')
|
||||
+ extensions=['png'], remove_text=False, style='mpl20',
|
||||
+ tol=0.19)
|
||||
def test_pcolormesh_datetime_axis():
|
||||
fig = plt.figure()
|
||||
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
|
||||
@@ -1190,7 +1191,8 @@ def test_pcolormesh_datetime_axis():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['pcolor_datetime_axis'],
|
||||
- extensions=['png'], remove_text=False, style='mpl20')
|
||||
+ extensions=['png'], remove_text=False, style='mpl20',
|
||||
+ tol=0.19)
|
||||
def test_pcolor_datetime_axis():
|
||||
fig = plt.figure()
|
||||
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
|
||||
@@ -1247,7 +1249,7 @@ def test_canonical():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['arc_angles'], remove_text=True,
|
||||
- style='default', extensions=['png'])
|
||||
+ style='default', extensions=['png'], tol=0.17)
|
||||
def test_arc_angles():
|
||||
from matplotlib import patches
|
||||
# Ellipse parameters
|
||||
@@ -2635,7 +2637,7 @@ def test_boxplot_mod_artist_after_plotting():
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_baseline',
|
||||
'violinplot_vert_baseline'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.24)
|
||||
def test_vert_violinplot_baseline():
|
||||
# First 9 digits of frac(sqrt(2))
|
||||
np.random.seed(414213562)
|
||||
@@ -2653,7 +2655,7 @@ def test_vert_violinplot_baseline():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showmeans'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_vert_violinplot_showmeans():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(3))
|
||||
@@ -2664,7 +2666,7 @@ def test_vert_violinplot_showmeans():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showextrema'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_vert_violinplot_showextrema():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(5))
|
||||
@@ -2675,7 +2677,7 @@ def test_vert_violinplot_showextrema():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showmedians'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_vert_violinplot_showmedians():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(7))
|
||||
@@ -2686,7 +2688,7 @@ def test_vert_violinplot_showmedians():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showall'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.2)
|
||||
def test_vert_violinplot_showall():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(11))
|
||||
@@ -2697,7 +2699,7 @@ def test_vert_violinplot_showall():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_custompoints_10'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_vert_violinplot_custompoints_10():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(13))
|
||||
@@ -2708,7 +2710,7 @@ def test_vert_violinplot_custompoints_10():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_custompoints_200'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_vert_violinplot_custompoints_200():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(17))
|
||||
@@ -2719,7 +2721,7 @@ def test_vert_violinplot_custompoints_200():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_baseline'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.2)
|
||||
def test_horiz_violinplot_baseline():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(19))
|
||||
@@ -2730,7 +2732,7 @@ def test_horiz_violinplot_baseline():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showmedians'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_horiz_violinplot_showmedians():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(23))
|
||||
@@ -2741,7 +2743,7 @@ def test_horiz_violinplot_showmedians():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showmeans'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.25)
|
||||
def test_horiz_violinplot_showmeans():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(29))
|
||||
@@ -2752,7 +2754,7 @@ def test_horiz_violinplot_showmeans():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showextrema'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.2)
|
||||
def test_horiz_violinplot_showextrema():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(31))
|
||||
@@ -2763,7 +2765,7 @@ def test_horiz_violinplot_showextrema():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showall'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.19)
|
||||
def test_horiz_violinplot_showall():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(37))
|
||||
@@ -2774,7 +2776,7 @@ def test_horiz_violinplot_showall():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_custompoints_10'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_horiz_violinplot_custompoints_10():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(41))
|
||||
@@ -2785,7 +2787,7 @@ def test_horiz_violinplot_custompoints_10():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_custompoints_200'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_horiz_violinplot_custompoints_200():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(43))
|
||||
@@ -3509,8 +3511,7 @@ def test_vertex_markers():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['vline_hline_zorder',
|
||||
- 'errorbar_zorder'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
|
||||
+ 'errorbar_zorder'])
|
||||
def test_eb_line_zorder():
|
||||
x = list(range(10))
|
||||
|
||||
@@ -4190,7 +4191,7 @@ def test_psd_noise():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['csd_freqs'], remove_text=True,
|
||||
- extensions=['png'], tol=0.002)
|
||||
+ extensions=['png'], tol=0.21)
|
||||
def test_csd_freqs():
|
||||
'''test axes.csd with sinusoidal stimuli'''
|
||||
n = 10000
|
||||
@@ -5108,7 +5109,7 @@ def test_rc_spines():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rc_grid'], extensions=['png'],
|
||||
- savefig_kwarg={'dpi': 40})
|
||||
+ savefig_kwarg={'dpi': 40}, tol=0.2)
|
||||
def test_rc_grid():
|
||||
fig = plt.figure()
|
||||
rc_dict0 = {
|
||||
@@ -5670,7 +5671,7 @@ def test_date_timezone_y():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['date_timezone_x_and_y'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=3.05)
|
||||
def test_date_timezone_x_and_y():
|
||||
# Tests issue 5575
|
||||
UTC = datetime.timezone.utc
|
||||
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
|
||||
index 773093100..37356d5e0 100644
|
||||
--- a/lib/matplotlib/tests/test_collections.py
|
||||
+++ b/lib/matplotlib/tests/test_collections.py
|
||||
@@ -466,7 +466,7 @@ def test_EllipseCollection():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['polycollection_close'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.45)
|
||||
def test_polycollection_close():
|
||||
from mpl_toolkits.mplot3d import Axes3D
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
|
||||
index c65ad02c3..79deb249c 100644
|
||||
--- a/lib/matplotlib/tests/test_colorbar.py
|
||||
+++ b/lib/matplotlib/tests/test_colorbar.py
|
||||
@@ -97,7 +97,7 @@ def _colorbar_extension_length(spacing):
|
||||
@image_comparison(
|
||||
baseline_images=['colorbar_extensions_shape_uniform',
|
||||
'colorbar_extensions_shape_proportional'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.16)
|
||||
def test_colorbar_extension_shape():
|
||||
'''Test rectangular colorbar extensions.'''
|
||||
# Create figures for uniform and proportionally spaced colorbars.
|
||||
@@ -107,7 +107,7 @@ def test_colorbar_extension_shape():
|
||||
|
||||
@image_comparison(baseline_images=['colorbar_extensions_uniform',
|
||||
'colorbar_extensions_proportional'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.25)
|
||||
def test_colorbar_extension_length():
|
||||
'''Test variable length colorbar extensions.'''
|
||||
# Create figures for uniform and proportionally spaced colorbars.
|
||||
@@ -121,7 +121,7 @@ def test_colorbar_extension_length():
|
||||
'cbar_sharing',
|
||||
],
|
||||
extensions=['png'], remove_text=True,
|
||||
- savefig_kwarg={'dpi': 40})
|
||||
+ savefig_kwarg={'dpi': 40}, tol=0.17)
|
||||
def test_colorbar_positioning():
|
||||
data = np.arange(1200).reshape(30, 40)
|
||||
levels = [0, 200, 400, 600, 800, 1000, 1200]
|
||||
@@ -175,7 +175,7 @@ def test_colorbar_positioning():
|
||||
|
||||
@image_comparison(baseline_images=['cbar_with_subplots_adjust'],
|
||||
extensions=['png'], remove_text=True,
|
||||
- savefig_kwarg={'dpi': 40})
|
||||
+ savefig_kwarg={'dpi': 40}, tol=0.17)
|
||||
def test_gridspec_make_colorbar():
|
||||
plt.figure()
|
||||
data = np.arange(1200).reshape(30, 40)
|
||||
@@ -233,7 +233,8 @@ def test_colorbarbase():
|
||||
|
||||
@image_comparison(
|
||||
baseline_images=['colorbar_closed_patch'],
|
||||
- remove_text=True)
|
||||
+ remove_text=True,
|
||||
+ tol=0.22)
|
||||
def test_colorbar_closed_patch():
|
||||
fig = plt.figure(figsize=(8, 6))
|
||||
ax1 = fig.add_axes([0.05, 0.85, 0.9, 0.1])
|
||||
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
index e9ae292f6..0edfa1e27 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -246,7 +246,7 @@ def test_constrained_layout12():
|
||||
ax.set_xlabel('x-label')
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['constrained_layout13'], tol=2.e-2,
|
||||
+@image_comparison(baseline_images=['constrained_layout13'], tol=3.e-2,
|
||||
extensions=['png'])
|
||||
def test_constrained_layout13():
|
||||
'Test that padding works.'
|
||||
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
|
||||
index d78dcb1ff..ad39426e2 100644
|
||||
--- a/lib/matplotlib/tests/test_contour.py
|
||||
+++ b/lib/matplotlib/tests/test_contour.py
|
||||
@@ -226,7 +226,8 @@ def test_given_colors_levels_and_extends():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['contour_datetime_axis'],
|
||||
- extensions=['png'], remove_text=False, style='mpl20')
|
||||
+ extensions=['png'], remove_text=False, style='mpl20',
|
||||
+ tol=0.18)
|
||||
def test_contour_datetime_axis():
|
||||
fig = plt.figure()
|
||||
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
|
||||
@@ -252,7 +253,8 @@ def test_contour_datetime_axis():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['contour_test_label_transforms'],
|
||||
- extensions=['png'], remove_text=True, style='mpl20')
|
||||
+ extensions=['png'], remove_text=True, style='mpl20',
|
||||
+ tol=1.38)
|
||||
def test_labels():
|
||||
# Adapted from pylab_examples example code: contour_demo.py
|
||||
# see issues #2475, #2843, and #2818 for explanation
|
||||
@@ -283,7 +285,7 @@ def test_labels():
|
||||
|
||||
@image_comparison(baseline_images=['contour_corner_mask_False',
|
||||
'contour_corner_mask_True'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.19)
|
||||
def test_corner_mask():
|
||||
n = 60
|
||||
mask_level = 0.95
|
||||
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
|
||||
index 1254f3c7c..de11f6103 100644
|
||||
--- a/lib/matplotlib/tests/test_cycles.py
|
||||
+++ b/lib/matplotlib/tests/test_cycles.py
|
||||
@@ -9,7 +9,6 @@ from cycler import cycler
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
extensions=['png'])
|
||||
def test_colorcycle_basic():
|
||||
fig, ax = plt.subplots()
|
||||
@@ -27,7 +26,6 @@ def test_colorcycle_basic():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
remove_text=True, extensions=['png'])
|
||||
def test_marker_cycle():
|
||||
fig, ax = plt.subplots()
|
||||
@@ -61,7 +59,6 @@ def test_marker_cycle():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
extensions=['png'])
|
||||
def test_linestylecycle_basic():
|
||||
fig, ax = plt.subplots()
|
||||
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
|
||||
index 6ecb3edbe..47aff1b74 100644
|
||||
--- a/lib/matplotlib/tests/test_figure.py
|
||||
+++ b/lib/matplotlib/tests/test_figure.py
|
||||
@@ -13,8 +13,7 @@ import numpy as np
|
||||
import pytest
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['figure_align_labels'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
|
||||
+@image_comparison(baseline_images=['figure_align_labels'])
|
||||
def test_align_labels():
|
||||
# Check the figure.align_labels() command
|
||||
fig = plt.figure(tight_layout=True)
|
||||
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
|
||||
index 22cd78d46..b4d41f882 100644
|
||||
--- a/lib/matplotlib/tests/test_image.py
|
||||
+++ b/lib/matplotlib/tests/test_image.py
|
||||
@@ -810,7 +810,7 @@ def test_imshow_endianess():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['imshow_masked_interpolation'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.25,
|
||||
remove_text=True, style='mpl20')
|
||||
def test_imshow_masked_interpolation():
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
|
||||
index b4bcecde8..45228e16c 100644
|
||||
--- a/lib/matplotlib/tests/test_legend.py
|
||||
+++ b/lib/matplotlib/tests/test_legend.py
|
||||
@@ -108,7 +108,6 @@ def test_multiple_keys():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rgba_alpha'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
extensions=['png'], remove_text=True)
|
||||
def test_alpha_rgba():
|
||||
import matplotlib.pyplot as plt
|
||||
@@ -120,7 +119,6 @@ def test_alpha_rgba():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rcparam_alpha'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
extensions=['png'], remove_text=True)
|
||||
def test_alpha_rcparam():
|
||||
import matplotlib.pyplot as plt
|
||||
@@ -148,8 +146,7 @@ def test_fancy():
|
||||
ncol=2, shadow=True, title="My legend", numpoints=1)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['framealpha'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
|
||||
+@image_comparison(baseline_images=['framealpha'], remove_text=True)
|
||||
def test_framealpha():
|
||||
x = np.linspace(1, 100, 100)
|
||||
y = x
|
||||
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
|
||||
index bbb442638..b5d291c87 100644
|
||||
--- a/lib/matplotlib/tests/test_mathtext.py
|
||||
+++ b/lib/matplotlib/tests/test_mathtext.py
|
||||
@@ -173,7 +173,7 @@ def baseline_images(request, fontset, index):
|
||||
['cm', 'stix', 'stixsans', 'dejavusans',
|
||||
'dejavuserif'])
|
||||
@pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True)
|
||||
-@image_comparison(baseline_images=None)
|
||||
+@image_comparison(baseline_images=None, tol=0.31)
|
||||
def test_mathtext_rendering(baseline_images, fontset, index, test, recwarn):
|
||||
matplotlib.rcParams['mathtext.fontset'] = fontset
|
||||
fig = plt.figure(figsize=(5.25, 0.75))
|
||||
@@ -187,7 +187,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test, recwarn):
|
||||
['cm', 'stix', 'stixsans', 'dejavusans',
|
||||
'dejavuserif'])
|
||||
@pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True)
|
||||
-@image_comparison(baseline_images=None, extensions=['png'])
|
||||
+@image_comparison(baseline_images=None, extensions=['png'], tol=0.3)
|
||||
def test_mathfont_rendering(baseline_images, fontset, index, test, recwarn):
|
||||
matplotlib.rcParams['mathtext.fontset'] = fontset
|
||||
fig = plt.figure(figsize=(5.25, 0.75))
|
||||
diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py
|
||||
index 31c240a60..979ab3ad0 100644
|
||||
--- a/lib/matplotlib/tests/test_patches.py
|
||||
+++ b/lib/matplotlib/tests/test_patches.py
|
||||
@@ -259,9 +259,8 @@ def test_wedge_movement():
|
||||
assert getattr(w, attr) == new_v
|
||||
|
||||
|
||||
-# png needs tol>=0.06, pdf tol>=1.617
|
||||
@image_comparison(baseline_images=['wedge_range'],
|
||||
- remove_text=True, tol=1.65 if on_win else 0)
|
||||
+ remove_text=True)
|
||||
def test_wedge_range():
|
||||
ax = plt.axes()
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
|
||||
index 6e80d8d98..0f158eb9e 100644
|
||||
--- a/lib/matplotlib/tests/test_patheffects.py
|
||||
+++ b/lib/matplotlib/tests/test_patheffects.py
|
||||
@@ -119,7 +119,7 @@ def test_SimplePatchShadow_offset():
|
||||
assert pe._offset == (4, 5)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['collection'], tol=0.02, style='mpl20')
|
||||
+@image_comparison(baseline_images=['collection'], tol=0.084, style='mpl20')
|
||||
def test_collection():
|
||||
x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100))
|
||||
data = np.sin(x) + np.cos(y)
|
||||
diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
|
||||
index d8ee5ffa7..f43a7fd34 100644
|
||||
--- a/lib/matplotlib/tests/test_pickle.py
|
||||
+++ b/lib/matplotlib/tests/test_pickle.py
|
||||
@@ -41,7 +41,7 @@ def test_simple():
|
||||
|
||||
@image_comparison(baseline_images=['multi_pickle'],
|
||||
extensions=['png'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.11,
|
||||
style='mpl20')
|
||||
def test_complete():
|
||||
fig = plt.figure('Figure with a label?', figsize=(10, 6))
|
||||
diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py
|
||||
index eab049d91..c3708890b 100644
|
||||
--- a/lib/matplotlib/tests/test_quiver.py
|
||||
+++ b/lib/matplotlib/tests/test_quiver.py
|
||||
@@ -155,7 +155,7 @@ def test_quiver_key_xy():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['barbs_test_image'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.11)
|
||||
def test_barbs():
|
||||
x = np.linspace(-5, 5, 5)
|
||||
X, Y = np.meshgrid(x, x)
|
||||
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
|
||||
index 6007c9b9a..736105a56 100644
|
||||
--- a/lib/matplotlib/tests/test_streamplot.py
|
||||
+++ b/lib/matplotlib/tests/test_streamplot.py
|
||||
@@ -40,7 +40,7 @@ def test_startpoints():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['streamplot_colormap'],
|
||||
- tol=.04, remove_text=True, style='mpl20')
|
||||
+ remove_text=True, style='mpl20')
|
||||
def test_colormap():
|
||||
X, Y, U, V = velocity_field()
|
||||
plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
|
||||
diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py
|
||||
index f36f480af..2b773b042 100644
|
||||
--- a/lib/matplotlib/tests/test_transforms.py
|
||||
+++ b/lib/matplotlib/tests/test_transforms.py
|
||||
@@ -70,7 +70,7 @@ def test_external_transform_api():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['pre_transform_data'],
|
||||
- tol=0.08, remove_text=True, style='mpl20')
|
||||
+ tol=0.155, remove_text=True, style='mpl20')
|
||||
def test_pre_transform_plotting():
|
||||
# a catch-all for as many as possible plot layouts which handle
|
||||
# pre-transforming the data NOTE: The axis range is important in this
|
||||
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
|
||||
index 7d0f38a70..a40d81a4f 100644
|
||||
--- a/lib/matplotlib/tests/test_units.py
|
||||
+++ b/lib/matplotlib/tests/test_units.py
|
||||
@@ -73,7 +73,6 @@ def quantity_converter():
|
||||
# Tests that the conversion machinery works properly for classes that
|
||||
# work as a facade over numpy arrays (like pint)
|
||||
@image_comparison(baseline_images=['plot_pint'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
extensions=['png'], remove_text=False, style='mpl20')
|
||||
def test_numpy_facade(quantity_converter):
|
||||
# Register the class
|
||||
diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
|
||||
index 7105a6480..a5fecba1b 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
|
||||
@@ -19,7 +19,7 @@ def test_subplot():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['curvelinear3'],
|
||||
- extensions=['png'], style='default', tol=0.01)
|
||||
+ extensions=['png'], style='default', tol=0.02)
|
||||
def test_curvelinear3():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
|
||||
@@ -74,7 +74,7 @@ def test_curvelinear3():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['curvelinear4'],
|
||||
- extensions=['png'], style='default', tol=0.015)
|
||||
+ extensions=['png'], style='default', tol=0.055)
|
||||
def test_curvelinear4():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
|
||||
diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
index 32e1c884d..2b38866c5 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['custom_transform'],
|
||||
- extensions=['png'], style='default', tol=0.03)
|
||||
+ extensions=['png'], style='default', tol=0.035)
|
||||
def test_custom_transform():
|
||||
class MyTransform(Transform):
|
||||
input_dims = 2
|
||||
@@ -85,7 +85,7 @@ def test_custom_transform():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['polar_box'],
|
||||
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
|
||||
+ tol=0.08,
|
||||
extensions=['png'], style='default')
|
||||
def test_polar_box():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
@@ -147,7 +147,7 @@ def test_polar_box():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['axis_direction'],
|
||||
- extensions=['png'], style='default', tol=0.03)
|
||||
+ extensions=['png'], style='default', tol=0.05)
|
||||
def test_axis_direction():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
|
||||
diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
|
||||
index 4bfb6f8ff..a6eee9ff6 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_mplot3d.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
|
||||
@@ -269,7 +269,7 @@ def test_text3d():
|
||||
ax.set_zlabel('Z axis')
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.03)
|
||||
+@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.05)
|
||||
def test_trisurf3d():
|
||||
n_angles = 36
|
||||
n_radii = 8
|
||||
@@ -778,7 +778,7 @@ class TestVoxels(object):
|
||||
@image_comparison(
|
||||
baseline_images=['voxels-xyz'],
|
||||
extensions=['png'],
|
||||
- tol=0.01
|
||||
+ tol=0.02
|
||||
)
|
||||
def test_xyz(self):
|
||||
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,266 +0,0 @@
|
||||
From 559f45bb0334b2c920f288a2a010b11c0dba9a49 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Sat, 31 Mar 2018 00:33:37 -0400
|
||||
Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
|
||||
lib/matplotlib/tests/test_axes.py | 4 ++--
|
||||
lib/matplotlib/tests/test_backends_interactive.py | 2 +-
|
||||
lib/matplotlib/tests/test_collections.py | 2 +-
|
||||
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
|
||||
lib/matplotlib/tests/test_cycles.py | 6 +++---
|
||||
lib/matplotlib/tests/test_figure.py | 2 +-
|
||||
lib/matplotlib/tests/test_image.py | 2 +-
|
||||
lib/matplotlib/tests/test_legend.py | 6 +++---
|
||||
lib/matplotlib/tests/test_pickle.py | 2 +-
|
||||
lib/matplotlib/tests/test_streamplot.py | 2 +-
|
||||
lib/matplotlib/tests/test_units.py | 4 ++--
|
||||
.../tests/test_axisartist_grid_helper_curvelinear.py | 4 ++--
|
||||
13 files changed, 21 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
|
||||
index de596a9e0..9f12effa6 100644
|
||||
--- a/lib/matplotlib/tests/test_arrow_patches.py
|
||||
+++ b/lib/matplotlib/tests/test_arrow_patches.py
|
||||
@@ -69,7 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test():
|
||||
|
||||
@image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'],
|
||||
remove_text=True, extensions=['png'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.016,
|
||||
savefig_kwarg=dict(dpi=100))
|
||||
def test_fancyarrow_dpi_cor_100dpi():
|
||||
"""
|
||||
@@ -85,7 +85,7 @@ def test_fancyarrow_dpi_cor_100dpi():
|
||||
|
||||
@image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'],
|
||||
remove_text=True, extensions=['png'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.019,
|
||||
savefig_kwarg=dict(dpi=200))
|
||||
def test_fancyarrow_dpi_cor_200dpi():
|
||||
"""
|
||||
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
|
||||
index 1168ef983..ab553e29e 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -395,7 +395,7 @@ def test_annotate_default_arrow():
|
||||
assert ann.arrow_patch is not None
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['polar_axes'], style='default')
|
||||
+@image_comparison(baseline_images=['polar_axes'], style='default', tol=0.01)
|
||||
def test_polar_annotations():
|
||||
# you can specify the xypoint and the xytext in different
|
||||
# positions and coordinate systems, and optionally turn on a
|
||||
@@ -3502,7 +3502,7 @@ def test_vertex_markers():
|
||||
|
||||
@image_comparison(baseline_images=['vline_hline_zorder',
|
||||
'errorbar_zorder'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
|
||||
+ tol=0.02)
|
||||
def test_eb_line_zorder():
|
||||
x = list(range(10))
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py
|
||||
index ad23abe3f..7b9660f2b 100644
|
||||
--- a/lib/matplotlib/tests/test_backends_interactive.py
|
||||
+++ b/lib/matplotlib/tests/test_backends_interactive.py
|
||||
@@ -104,7 +104,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start())
|
||||
|
||||
plt.show()
|
||||
"""
|
||||
-_test_timeout = 10 # Empirically, 1s is not enough on Travis.
|
||||
+_test_timeout = 30 # Empirically, 1s is not enough on Travis.
|
||||
|
||||
|
||||
@pytest.mark.parametrize("backend", _get_testable_interactive_backends())
|
||||
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
|
||||
index c12ed7004..bc741678f 100644
|
||||
--- a/lib/matplotlib/tests/test_collections.py
|
||||
+++ b/lib/matplotlib/tests/test_collections.py
|
||||
@@ -442,7 +442,7 @@ def test_barb_limits():
|
||||
|
||||
@image_comparison(baseline_images=['EllipseCollection_test_image'],
|
||||
extensions=['png'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.012,
|
||||
remove_text=True)
|
||||
def test_EllipseCollection():
|
||||
# Test basic functionality
|
||||
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
index df3e5cf18..2d0d0f02a 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -173,7 +173,7 @@ def test_constrained_layout9():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['constrained_layout10'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.01)
|
||||
def test_constrained_layout10():
|
||||
'Test for handling legend outside axis'
|
||||
fig, axs = plt.subplots(2, 2, constrained_layout=True)
|
||||
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
|
||||
index 1254f3c7c..cea1522de 100644
|
||||
--- a/lib/matplotlib/tests/test_cycles.py
|
||||
+++ b/lib/matplotlib/tests/test_cycles.py
|
||||
@@ -9,7 +9,7 @@ from cycler import cycler
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.008,
|
||||
extensions=['png'])
|
||||
def test_colorcycle_basic():
|
||||
fig, ax = plt.subplots()
|
||||
@@ -27,7 +27,7 @@ def test_colorcycle_basic():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.008,
|
||||
remove_text=True, extensions=['png'])
|
||||
def test_marker_cycle():
|
||||
fig, ax = plt.subplots()
|
||||
@@ -61,7 +61,7 @@ def test_marker_cycle():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.009,
|
||||
extensions=['png'])
|
||||
def test_linestylecycle_basic():
|
||||
fig, ax = plt.subplots()
|
||||
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
|
||||
index 6ecb3edbe..207659648 100644
|
||||
--- a/lib/matplotlib/tests/test_figure.py
|
||||
+++ b/lib/matplotlib/tests/test_figure.py
|
||||
@@ -14,7 +14,7 @@ import pytest
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['figure_align_labels'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
|
||||
+ tol=0.01)
|
||||
def test_align_labels():
|
||||
# Check the figure.align_labels() command
|
||||
fig = plt.figure(tight_layout=True)
|
||||
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
|
||||
index ae803000d..0091fc03f 100644
|
||||
--- a/lib/matplotlib/tests/test_image.py
|
||||
+++ b/lib/matplotlib/tests/test_image.py
|
||||
@@ -810,7 +810,7 @@ def test_imshow_endianess():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['imshow_masked_interpolation'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.006,
|
||||
remove_text=True, style='mpl20')
|
||||
def test_imshow_masked_interpolation():
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
|
||||
index b4bcecde8..227b654cc 100644
|
||||
--- a/lib/matplotlib/tests/test_legend.py
|
||||
+++ b/lib/matplotlib/tests/test_legend.py
|
||||
@@ -108,7 +108,7 @@ def test_multiple_keys():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rgba_alpha'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.007,
|
||||
extensions=['png'], remove_text=True)
|
||||
def test_alpha_rgba():
|
||||
import matplotlib.pyplot as plt
|
||||
@@ -120,7 +120,7 @@ def test_alpha_rgba():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rcparam_alpha'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.007,
|
||||
extensions=['png'], remove_text=True)
|
||||
def test_alpha_rcparam():
|
||||
import matplotlib.pyplot as plt
|
||||
@@ -149,7 +149,7 @@ def test_fancy():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['framealpha'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
|
||||
+ tol=0.018)
|
||||
def test_framealpha():
|
||||
x = np.linspace(1, 100, 100)
|
||||
y = x
|
||||
diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
|
||||
index d8ee5ffa7..607c13346 100644
|
||||
--- a/lib/matplotlib/tests/test_pickle.py
|
||||
+++ b/lib/matplotlib/tests/test_pickle.py
|
||||
@@ -41,7 +41,7 @@ def test_simple():
|
||||
|
||||
@image_comparison(baseline_images=['multi_pickle'],
|
||||
extensions=['png'], remove_text=True,
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.004,
|
||||
style='mpl20')
|
||||
def test_complete():
|
||||
fig = plt.figure('Figure with a label?', figsize=(10, 6))
|
||||
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
|
||||
index 6007c9b9a..96d43a3e3 100644
|
||||
--- a/lib/matplotlib/tests/test_streamplot.py
|
||||
+++ b/lib/matplotlib/tests/test_streamplot.py
|
||||
@@ -49,7 +49,7 @@ def test_colormap():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['streamplot_linewidth'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.002,
|
||||
remove_text=True, style='mpl20')
|
||||
def test_linewidth():
|
||||
X, Y, U, V = velocity_field()
|
||||
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
|
||||
index 7d0f38a70..ef21a166c 100644
|
||||
--- a/lib/matplotlib/tests/test_units.py
|
||||
+++ b/lib/matplotlib/tests/test_units.py
|
||||
@@ -73,7 +73,7 @@ def quantity_converter():
|
||||
# Tests that the conversion machinery works properly for classes that
|
||||
# work as a facade over numpy arrays (like pint)
|
||||
@image_comparison(baseline_images=['plot_pint'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.003,
|
||||
extensions=['png'], remove_text=False, style='mpl20')
|
||||
def test_numpy_facade(quantity_converter):
|
||||
# Register the class
|
||||
@@ -98,7 +98,7 @@ def test_numpy_facade(quantity_converter):
|
||||
|
||||
# Tests gh-8908
|
||||
@image_comparison(baseline_images=['plot_masked_units'],
|
||||
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
|
||||
+ tol=0.007,
|
||||
extensions=['png'], remove_text=True, style='mpl20')
|
||||
def test_plot_masked_units():
|
||||
data = np.linspace(-5, 5)
|
||||
diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
index 32e1c884d..741d197b5 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['custom_transform'],
|
||||
- extensions=['png'], style='default', tol=0.03)
|
||||
+ extensions=['png'], style='default', tol=0.04)
|
||||
def test_custom_transform():
|
||||
class MyTransform(Transform):
|
||||
input_dims = 2
|
||||
@@ -85,7 +85,7 @@ def test_custom_transform():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['polar_box'],
|
||||
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
|
||||
+ tol=0.04,
|
||||
extensions=['png'], style='default')
|
||||
def test_polar_box():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
%global with_html 0
|
||||
%bcond_with html
|
||||
%bcond_without check
|
||||
# https://fedorahosted.org/fpc/ticket/381
|
||||
%bcond_without bundled_fonts
|
||||
|
||||
# It seems like there's some kind of weird occasional error where a
|
||||
# build (often aarch64 or ppc64) will fail in one of the Stix font
|
||||
# tests with a huge RMS difference, but if you run the same build again,
|
||||
# you won't get the same error. Unless someone can figure out what's
|
||||
# going on, we just have to keep re-running the build until it doesn't
|
||||
# happen.
|
||||
%global run_tests 1
|
||||
# No qt4 for EL8/ELN/EL9
|
||||
%if 0%{?rhel} >= 8
|
||||
%bcond_with qt4
|
||||
%else
|
||||
%bcond_without qt4
|
||||
%endif
|
||||
|
||||
# the default backend; one of GTK3Agg GTK3Cairo MacOSX Qt4Agg Qt5Agg TkAgg
|
||||
# WXAgg Agg Cairo PS PDF SVG
|
||||
@@ -28,58 +30,35 @@
|
||||
% endif
|
||||
%endif
|
||||
|
||||
# https://fedorahosted.org/fpc/ticket/381
|
||||
%global with_bundled_fonts 1
|
||||
|
||||
# Use the same directory of the main package for subpackage licence and docs
|
||||
%global _docdir_fmt %{name}
|
||||
|
||||
#global rctag rc2
|
||||
|
||||
# Updated test images for new FreeType.
|
||||
%global mpl_images_version 3.1.1
|
||||
%global mpl_images_version 3.3.3
|
||||
|
||||
# The version of FreeType in this Fedora branch.
|
||||
%global ftver 2.10.0
|
||||
%global ftver 2.10.4
|
||||
|
||||
Name: python-matplotlib
|
||||
Version: 3.1.2
|
||||
Release: 1%{?rctag:.%{rctag}}%{?dist}
|
||||
Version: 3.3.4
|
||||
%global Version 3.3.4
|
||||
Release: 1%{?dist}
|
||||
Summary: Python 2D plotting library
|
||||
# qt4_editor backend is MIT
|
||||
License: Python and MIT
|
||||
# ResizeObserver at end of lib/matplotlib/backends/web_backend/js/mpl.js is Public Domain
|
||||
License: Python and MIT and Public Domain
|
||||
URL: http://matplotlib.org
|
||||
Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}/matplotlib-%{version}%{?rctag}.tar.gz
|
||||
Source0: https://github.com/matplotlib/matplotlib/archive/v%{Version}/matplotlib-%{Version}.tar.gz
|
||||
Source1: setup.cfg
|
||||
|
||||
# Because the qhull package stopped shipping pkgconfig files.
|
||||
# https://src.fedoraproject.org/rpms/qhull/pull-request/1
|
||||
Patch0001: 0001-Force-using-system-qhull.patch
|
||||
|
||||
# Don't attempt to download jQuery and jQuery UI
|
||||
Patch0002: 0001-Use-packaged-jquery-and-jquery-ui.patch
|
||||
|
||||
# Fix WebAgg test
|
||||
# https://github.com/matplotlib/matplotlib/pull/15737
|
||||
Patch0003: 0001-Fix-env-override-in-WebAgg-backend-test.patch
|
||||
# https://github.com/matplotlib/matplotlib/pull/15763
|
||||
Patch0004: 0001-Skip-webagg-test-if-tornado-is-not-available.patch
|
||||
|
||||
# Fedora-specific patches; see:
|
||||
# https://github.com/fedora-python/matplotlib/tree/fedora-patches
|
||||
# https://github.com/fedora-python/matplotlib/tree/fedora-patches-non-x86
|
||||
# Updated test images for new FreeType.
|
||||
Source1000: https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_version}-with-freetype-%{ftver}/matplotlib-%{mpl_images_version}-with-freetype-%{ftver}.tar.gz
|
||||
# Search in /etc/matplotlibrc:
|
||||
Patch1001: 0001-matplotlibrc-path-search-fix.patch
|
||||
# Increase tolerances for new FreeType everywhere:
|
||||
Patch1002: 0002-Set-FreeType-version-to-2.10.0-and-update-tolerances.patch
|
||||
# Image tolerances for anything but x86_64:
|
||||
Patch1003: 0003-Increase-tolerances-for-non-x86_64-arches.patch
|
||||
# Image tolerances for 32-bit systems: i686 armv7hl
|
||||
Patch1004: 0004-Increase-some-tolerances-for-32-bit-systems.patch
|
||||
# Image tolerances for 64-bit (but not x86_64) systems: aarch64 ppc64(le) s390x
|
||||
Patch1005: 0004-Increase-some-tolerances-for-non-x86-arches.patch
|
||||
Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
@@ -87,16 +66,67 @@ BuildRequires: glibc-langpack-en
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: qhull-devel
|
||||
BuildRequires: texlive-cm
|
||||
BuildRequires: xorg-x11-server-Xvfb
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
BuildRequires: ghostscript
|
||||
BuildRequires: ImageMagick
|
||||
%ifnarch s390x
|
||||
BuildRequires: inkscape
|
||||
%endif
|
||||
|
||||
BuildRequires: texlive-dvipng
|
||||
BuildRequires: texlive-latex-bin
|
||||
BuildRequires: texlive-tex-bin
|
||||
BuildRequires: texlive-xetex-bin
|
||||
# Search for documentclass and add the classes here.
|
||||
BuildRequires: tex(article.cls)
|
||||
BuildRequires: tex(minimal.cls)
|
||||
# Search for inputenc and add any encodings used with it.
|
||||
BuildRequires: tex(utf8.def)
|
||||
BuildRequires: tex(utf8x.def)
|
||||
# Found with: rg -Io 'usepackage(\[.+\])?\{.+\}' lib | rg -o '\{.+\}' | sort -u
|
||||
# and then removing duplicates in one line, etc.
|
||||
BuildRequires: tex(avant.sty)
|
||||
BuildRequires: tex(bm.sty)
|
||||
BuildRequires: tex(chancery.sty)
|
||||
BuildRequires: tex(charter.sty)
|
||||
BuildRequires: tex(color.sty)
|
||||
BuildRequires: tex(courier.sty)
|
||||
BuildRequires: tex(euler.sty)
|
||||
BuildRequires: tex(fontenc.sty)
|
||||
BuildRequires: tex(fontspec.sty)
|
||||
BuildRequires: tex(geometry.sty)
|
||||
BuildRequires: tex(graphicx.sty)
|
||||
BuildRequires: tex(helvet.sty)
|
||||
BuildRequires: tex(import.sty)
|
||||
BuildRequires: tex(inputenc.sty)
|
||||
BuildRequires: tex(mathpazo.sty)
|
||||
BuildRequires: tex(mathptmx.sty)
|
||||
BuildRequires: tex(pgf.sty)
|
||||
BuildRequires: tex(preview.sty)
|
||||
BuildRequires: tex(psfrag.sty)
|
||||
BuildRequires: tex(sfmath.sty)
|
||||
BuildRequires: tex(textcomp.sty)
|
||||
BuildRequires: tex(txfonts.sty)
|
||||
BuildRequires: tex(type1cm.sty)
|
||||
BuildRequires: tex(type1ec.sty)
|
||||
BuildRequires: tex(unicode-math.sty)
|
||||
# See BakomaFonts._fontmap in lib/matplotlib/mathtext.py
|
||||
BuildRequires: tex(cmb10.tfm)
|
||||
BuildRequires: tex(cmex10.tfm)
|
||||
BuildRequires: tex(cmmi10.tfm)
|
||||
BuildRequires: tex(cmr10.tfm)
|
||||
BuildRequires: tex(cmss10.tfm)
|
||||
BuildRequires: tex(cmsy10.tfm)
|
||||
BuildRequires: tex(cmtt10.tfm)
|
||||
|
||||
%description
|
||||
Matplotlib is a python 2D plotting library which produces publication
|
||||
Matplotlib is a Python 2D plotting library which produces publication
|
||||
quality figures in a variety of hardcopy formats and interactive
|
||||
environments across platforms. matplotlib can be used in python
|
||||
scripts, the python and ipython shell, web application servers, and
|
||||
six graphical user interface toolkits.
|
||||
environments across platforms. Matplotlib can be used in Python
|
||||
scripts, the Python and IPython shell, web application servers, and
|
||||
various graphical user interface toolkits.
|
||||
|
||||
Matplotlib tries to make easy things easy and hard things possible.
|
||||
You can generate plots, histograms, power spectra, bar charts,
|
||||
@@ -105,16 +135,15 @@ errorcharts, scatterplots, etc, with just a few lines of code.
|
||||
%package -n python3-matplotlib-data
|
||||
Summary: Data used by python-matplotlib
|
||||
BuildArch: noarch
|
||||
%if %{with_bundled_fonts}
|
||||
%if %{with bundled_fonts}
|
||||
Requires: python3-matplotlib-data-fonts = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: python-matplotlib-data < 3
|
||||
%{?python_provide:%python_provide python3-matplotlib-data}
|
||||
|
||||
%description -n python3-matplotlib-data
|
||||
%{summary}
|
||||
|
||||
%if %{with_bundled_fonts}
|
||||
%if %{with bundled_fonts}
|
||||
%package -n python3-matplotlib-data-fonts
|
||||
Summary: Fonts used by python-matplotlib
|
||||
# STIX and Computer Modern is OFL
|
||||
@@ -123,7 +152,6 @@ License: OFL and Bitstream Vera and Public Domain
|
||||
BuildArch: noarch
|
||||
Requires: python3-matplotlib-data = %{version}-%{release}
|
||||
Obsoletes: python-matplotlib-data-fonts < 3
|
||||
%{?python_provide:%python_provide python3-matplotlib-data-fonts}
|
||||
|
||||
%description -n python3-matplotlib-data-fonts
|
||||
%{summary}
|
||||
@@ -132,6 +160,7 @@ Obsoletes: python-matplotlib-data-fonts < 3
|
||||
%package -n python3-matplotlib
|
||||
Summary: Python 2D plotting library
|
||||
BuildRequires: python3-cairo
|
||||
BuildRequires: python3-certifi >= 2020.06.20
|
||||
BuildRequires: python3-cycler >= 0.10.0
|
||||
BuildRequires: python3-dateutil
|
||||
BuildRequires: python3-devel
|
||||
@@ -144,50 +173,52 @@ BuildRequires: python3-pyparsing
|
||||
BuildRequires: python3-pytz
|
||||
BuildRequires: python3-sphinx
|
||||
Requires: dejavu-sans-fonts
|
||||
Requires: dvipng
|
||||
Recommends: texlive-dvipng
|
||||
Requires: (texlive-dvipng if texlive-base)
|
||||
Requires: python3-matplotlib-data = %{version}-%{release}
|
||||
Requires: python3-cairo
|
||||
Requires: python3-cycler >= 0.10.0
|
||||
Requires: python3-dateutil
|
||||
Requires: python3-kiwisolver
|
||||
Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
|
||||
%if %{run_tests}
|
||||
%if %{with check}
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: python3-pytest-rerunfailures
|
||||
BuildRequires: python3-pytest-timeout
|
||||
BuildRequires: python3-pytest-xdist
|
||||
BuildRequires: python3-pikepdf
|
||||
%endif
|
||||
Requires: python3-numpy
|
||||
Recommends: python3-pillow
|
||||
Requires: python3-pyparsing
|
||||
%if !%{with_bundled_fonts}
|
||||
%if %{without bundled_fonts}
|
||||
Requires: stix-math-fonts
|
||||
%else
|
||||
Provides: bundled(stix-math-fonts)
|
||||
%endif
|
||||
%{?python_provide:%python_provide python3-matplotlib}
|
||||
|
||||
%description -n python3-matplotlib
|
||||
Matplotlib is a python 2D plotting library which produces publication
|
||||
Matplotlib is a Python 2D plotting library which produces publication
|
||||
quality figures in a variety of hardcopy formats and interactive
|
||||
environments across platforms. matplotlib can be used in python
|
||||
scripts, the python and ipython shell, web application servers, and
|
||||
six graphical user interface toolkits.
|
||||
environments across platforms. Matplotlib can be used in Python
|
||||
scripts, the Python and IPython shell, web application servers, and
|
||||
various graphical user interface toolkits.
|
||||
|
||||
Matplotlib tries to make easy things easy and hard things possible.
|
||||
You can generate plots, histograms, power spectra, bar charts,
|
||||
errorcharts, scatterplots, etc, with just a few lines of code.
|
||||
|
||||
%if %{with qt4}
|
||||
%package -n python3-matplotlib-qt4
|
||||
Summary: Qt4 backend for python3-matplotlib
|
||||
BuildRequires: python3-PyQt4-devel
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
Requires: python3-matplotlib-qt5
|
||||
Requires: python3-PyQt4
|
||||
%{?python_provide:%python_provide python3-matplotlib-qt4}
|
||||
|
||||
%description -n python3-matplotlib-qt4
|
||||
%{summary}
|
||||
%endif
|
||||
|
||||
%package -n python3-matplotlib-qt5
|
||||
Summary: Qt5 backend for python3-matplotlib
|
||||
@@ -207,7 +238,6 @@ BuildRequires: python3-gobject
|
||||
Requires: gtk3%{?_isa}
|
||||
Requires: python3-gobject%{?_isa}
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-matplotlib-gtk3}
|
||||
|
||||
%description -n python3-matplotlib-gtk3
|
||||
%{summary}
|
||||
@@ -217,7 +247,6 @@ Summary: Tk backend for python3-matplotlib
|
||||
BuildRequires: python3-tkinter
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
Requires: python3-tkinter
|
||||
%{?python_provide:%python_provide python3-matplotlib-tk}
|
||||
|
||||
%description -n python3-matplotlib-tk
|
||||
%{summary}
|
||||
@@ -227,15 +256,13 @@ Summary: WX backend for python3-matplotlib
|
||||
BuildRequires: python3-wxpython4
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
Requires: python3-wxpython4
|
||||
%{?python_provide:%python_provide python3-matplotlib-wx}
|
||||
|
||||
%description -n python3-matplotlib-wx
|
||||
%{summary}
|
||||
|
||||
%package -n python3-matplotlib-doc
|
||||
Summary: Documentation files for python-matplotlib
|
||||
%if %{with_html}
|
||||
BuildRequires: dvipng
|
||||
%if %{with html}
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: python3-sphinx
|
||||
BuildRequires: tex(latex)
|
||||
@@ -254,209 +281,208 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
%package -n python3-matplotlib-test-data
|
||||
Summary: Test data for python3-matplotlib
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-matplotlib-test-data}
|
||||
|
||||
%description -n python3-matplotlib-test-data
|
||||
%{summary}
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n matplotlib-%{version}%{?rctag} -N
|
||||
%patch0001 -p1
|
||||
|
||||
%patch0002 -p1
|
||||
|
||||
%patch0003 -p1
|
||||
|
||||
%patch0004 -p1
|
||||
%autosetup -n matplotlib-%{Version} -N
|
||||
|
||||
# Fedora-specific patches follow:
|
||||
%patch1001 -p1
|
||||
# Updated test images for new FreeType.
|
||||
%patch1002 -p1
|
||||
gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~'
|
||||
%ifnarch x86_64
|
||||
%patch1003 -p1
|
||||
%endif
|
||||
%ifarch aarch64 ppc64 ppc64le s390x
|
||||
%patch1005 -p1
|
||||
%endif
|
||||
%ifarch i686 armv7hl
|
||||
%patch1004 -p1
|
||||
%endif
|
||||
gzip -dc %SOURCE1000 | tar xf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~'
|
||||
rm -r extern/libqhull
|
||||
|
||||
# Copy setup.cfg to the builddir
|
||||
cp -p %{SOURCE1} setup.cfg
|
||||
|
||||
# Keep this until next version, and increment if changing from
|
||||
# USE_FONTCONFIG to False or True so that cache is regenerated
|
||||
# if updated from a version enabling fontconfig to one not
|
||||
# enabling it, or vice versa
|
||||
if [ %{version} = 1.4.3 ]; then
|
||||
sed -i 's/\(__version__ = 200\)/\1.1/' lib/matplotlib/font_manager.py
|
||||
fi
|
||||
|
||||
%if !%{with_bundled_fonts}
|
||||
# Use fontconfig by default
|
||||
sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
|
||||
%endif
|
||||
|
||||
|
||||
%build
|
||||
%set_build_flags
|
||||
export http_proxy=http://127.0.0.1/
|
||||
|
||||
MPLCONFIGDIR=$PWD \
|
||||
xvfb-run %{__python3} setup.py build
|
||||
%if %{with_html}
|
||||
MPLCONFIGDIR=$PWD %py3_build
|
||||
%if %{with html}
|
||||
# Need to make built matplotlib libs available for the sphinx extensions:
|
||||
pushd doc
|
||||
MPLCONFIGDIR=$PWD/.. \
|
||||
PYTHONPATH=`realpath ../build/lib.linux*` \
|
||||
%{__python3} make.py html
|
||||
%{python3} make.py html
|
||||
popd
|
||||
%endif
|
||||
# Ensure all example files are non-executable so that the -doc
|
||||
# package doesn't drag in dependencies
|
||||
find examples -name '*.py' -exec chmod a-x '{}' \;
|
||||
|
||||
|
||||
%install
|
||||
export http_proxy=http://127.0.0.1/
|
||||
|
||||
MPLCONFIGDIR=$PWD \
|
||||
%{__python3} setup.py install -O1 --skip-build --root=%{buildroot}
|
||||
chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py
|
||||
MPLCONFIGDIR=$PWD %py3_install
|
||||
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
|
||||
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data/matplotlibrc \
|
||||
%{buildroot}%{_sysconfdir}
|
||||
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data \
|
||||
%{buildroot}%{_datadir}/matplotlib
|
||||
%if !%{with_bundled_fonts}
|
||||
%if %{without bundled_fonts}
|
||||
rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
|
||||
%endif
|
||||
|
||||
%if %{run_tests}
|
||||
|
||||
%if %{with check}
|
||||
%check
|
||||
# These files confuse pytest, and we want to test the installed copy.
|
||||
rm -rf build*/
|
||||
|
||||
# We need to prime this LaTeX cache stuff, or it might fail while running tests
|
||||
# in parallel.
|
||||
mktexfmt lualatex.fmt
|
||||
mktexfmt pdflatex.fmt
|
||||
mktexfmt xelatex.fmt
|
||||
|
||||
export http_proxy=http://127.0.0.1/
|
||||
# Skips:
|
||||
# * test_invisible_Line_rendering: Checks for "slowness" that often fails on a
|
||||
# heavily-loaded builder.
|
||||
# * test_tinypages fails due to new Sphinx warning
|
||||
# * wxagg is broken on ppc64le:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1738752
|
||||
MPLCONFIGDIR=$PWD \
|
||||
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
|
||||
PYTHONPATH=%{buildroot}%{python3_sitearch} \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
xvfb-run -a -s "-screen 0 640x480x24" \
|
||||
%{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
|
||||
%{python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
|
||||
-m 'not network' \
|
||||
%ifarch ppc64le
|
||||
-k 'not test_invisible_Line_rendering and not Qt5Agg and not wxagg'
|
||||
%else
|
||||
-k 'not test_invisible_Line_rendering and not Qt5Agg'
|
||||
%endif
|
||||
# Run Qt5Agg tests separately to not conflict with Qt4 tests.
|
||||
MPLCONFIGDIR=$PWD \
|
||||
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
|
||||
PYTHONPATH=%{buildroot}%{python3_sitearch} \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
xvfb-run -a -s "-screen 0 640x480x24" \
|
||||
%{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
|
||||
%{python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
|
||||
-m 'not network' -k 'Qt5Agg'
|
||||
%endif
|
||||
|
||||
|
||||
%files -n python3-matplotlib-data
|
||||
%{_sysconfdir}/matplotlibrc
|
||||
%{_datadir}/matplotlib/mpl-data/
|
||||
%if %{with_bundled_fonts}
|
||||
%if %{with bundled_fonts}
|
||||
%exclude %{_datadir}/matplotlib/mpl-data/fonts/
|
||||
%endif
|
||||
|
||||
%if %{with_bundled_fonts}
|
||||
%if %{with bundled_fonts}
|
||||
%files -n python3-matplotlib-data-fonts
|
||||
%{_datadir}/matplotlib/mpl-data/fonts/
|
||||
%endif
|
||||
|
||||
%files -n python3-matplotlib-doc
|
||||
%doc examples
|
||||
%if %{with_html}
|
||||
%if %{with html}
|
||||
%doc doc/build/html/*
|
||||
%endif
|
||||
|
||||
%files -n python3-matplotlib
|
||||
%license LICENSE/
|
||||
%doc README.rst
|
||||
%{python3_sitearch}/*egg-info
|
||||
%{python3_sitearch}/matplotlib-*.egg-info/
|
||||
%{python3_sitearch}/matplotlib-*-nspkg.pth
|
||||
%{python3_sitearch}/matplotlib/
|
||||
%exclude %{python3_sitearch}/matplotlib/tests/baseline_images/*
|
||||
%{python3_sitearch}/mpl_toolkits/
|
||||
%exclude %{python3_sitearch}/mpl_toolkits/tests/baseline_images/*
|
||||
%{python3_sitearch}/pylab.py*
|
||||
%{python3_sitearch}/__pycache__/*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*.py
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4*
|
||||
#exclude #{python3_sitearch}/matplotlib/backends/backend_qt5*.py
|
||||
#exclude #{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*.py
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/_backend_tk.py
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/backend_tk*.py
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.py
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_backend_tk.*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tk*.*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
|
||||
%pycached %{python3_sitearch}/pylab.py
|
||||
%pycached %exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*.py
|
||||
%if %{without qt4}
|
||||
%pycached %exclude %{python3_sitearch}/matplotlib/backends/backend_qt5*.py
|
||||
%endif
|
||||
%pycached %exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*.py
|
||||
%pycached %exclude %{python3_sitearch}/matplotlib/backends/_backend_tk.py
|
||||
%pycached %exclude %{python3_sitearch}/matplotlib/backends/backend_tk*.py
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/_tkagg.*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/backend_wx*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/wx_compat.*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_wx*
|
||||
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/wx_compat.*
|
||||
%pycached %exclude %{python3_sitearch}/matplotlib/backends/backend_wx*.py
|
||||
%exclude %{_pkgdocdir}/*/
|
||||
|
||||
%files -n python3-matplotlib-test-data
|
||||
%{python3_sitearch}/matplotlib/tests/baseline_images/
|
||||
%{python3_sitearch}/mpl_toolkits/tests/baseline_images/
|
||||
|
||||
%if %{with qt4}
|
||||
%files -n python3-matplotlib-qt4
|
||||
%{python3_sitearch}/matplotlib/backends/backend_qt4.py
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.*
|
||||
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.py
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/backend_qt4.py
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/backend_qt4agg.py
|
||||
%endif
|
||||
|
||||
# This subpackage is empty because the Qt4 backend imports it, so we leave
|
||||
# these files in the default package, and only use this one for dependencies.
|
||||
%files -n python3-matplotlib-qt5
|
||||
#{python3_sitearch}/matplotlib/backends/backend_qt5.py
|
||||
#{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
|
||||
#{python3_sitearch}/matplotlib/backends/backend_qt5agg.py
|
||||
#{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
|
||||
%if %{without qt4}
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/backend_qt5.py
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/backend_qt5agg.py
|
||||
%endif
|
||||
|
||||
%files -n python3-matplotlib-gtk3
|
||||
%{python3_sitearch}/matplotlib/backends/backend_gtk*.py
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/backend_gtk*.py
|
||||
|
||||
%files -n python3-matplotlib-tk
|
||||
%{python3_sitearch}/matplotlib/backends/backend_tk*.py
|
||||
%{python3_sitearch}/matplotlib/backends/_backend_tk.py
|
||||
%{python3_sitearch}/matplotlib/backends/tkagg.py
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tk*.*
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/_backend_tk.*
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/backend_tk*.py
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/_backend_tk.py
|
||||
%{python3_sitearch}/matplotlib/backends/_tkagg.*
|
||||
|
||||
%files -n python3-matplotlib-wx
|
||||
%{python3_sitearch}/matplotlib/backends/backend_wx*.py
|
||||
%{python3_sitearch}/matplotlib/backends/wx_compat.py
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_wx*
|
||||
%{python3_sitearch}/matplotlib/backends/__pycache__/wx_compat.*
|
||||
%pycached %{python3_sitearch}/matplotlib/backends/backend_wx*.py
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jan 28 2021 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.4-1
|
||||
- Update to latest version (#1921574)
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Dec 02 2020 Tomas Popela <tpopela@redhat.com> - 3.3.3-2
|
||||
- Don't build the Qt 4 backend in ELN/RHEL 9 as Qt 4 won't be available there
|
||||
(reuse
|
||||
https://src.fedoraproject.org/rpms/python-matplotlib/c/588e490738b06d525910f05bc1ba3f3f05ec7d50?branch=epel8)
|
||||
|
||||
* Thu Nov 12 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.3-1
|
||||
- Update to latest version (#1897021)
|
||||
|
||||
* Tue Sep 15 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.2-1
|
||||
- Update to latest version (#1878999)
|
||||
|
||||
* Thu Aug 13 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.1-1
|
||||
- Update to latest version
|
||||
- Fixes RHBZ#1868838
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sat Jul 18 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.0-1
|
||||
- Update to latest version
|
||||
- Fixes RHBZ#1858120
|
||||
|
||||
* Tue Jun 30 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.0-0.2.rc1
|
||||
- Add more test dependencies
|
||||
|
||||
* Mon Jun 29 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.0-0.1.rc1
|
||||
- Update to latest version
|
||||
|
||||
* Sat Jun 20 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.2.2-1
|
||||
- Update to latest version
|
||||
|
||||
* Mon Jun 01 2020 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-2
|
||||
- Only recommend texlive-dvipng (but require it if texlive is installed) (#1509657)
|
||||
|
||||
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-1.1
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Wed Mar 18 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.2.1-1
|
||||
- Update to latest version
|
||||
|
||||
* Tue Mar 03 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.2.0-1
|
||||
- Update to latest version
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.2-1.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Nov 22 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.2-1
|
||||
- Update to latest version
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
[libs]
|
||||
system_freetype = True
|
||||
system_qhull = True
|
||||
|
||||
[packages]
|
||||
tests = True
|
||||
toolkits = True
|
||||
|
||||
4
sources
4
sources
@@ -1,2 +1,2 @@
|
||||
SHA512 (matplotlib-3.1.2.tar.gz) = 514e66ff76381dccb185a8b8dee44ecbf5108e99ecc5ce46b56750e2a62b782e2b67f0ba02b01545541a1499ffe2347b6bc502077455d8a742796161017cba42
|
||||
SHA512 (matplotlib-3.1.1-with-freetype-2.10.0.tar.gz) = 257546b047ff79302b616f1d37caa028a7b9abc1682cf10861e1347a3db9f437967abe24e11aee898ae11c6f163939d48bc5aeaec2894d6472b4326f8edaed8b
|
||||
SHA512 (matplotlib-3.3.4.tar.gz) = e29bcd17ea2b65c26c75421a319d3f21c5b0148c9e61d55d719c191c07342ed19032f97cde269647bd545ed45b5e142483e50caf29ffd421acde5b0b3bfa238b
|
||||
SHA512 (matplotlib-3.3.3-with-freetype-2.10.4.tar.gz) = b583842a24edc5deb39a3182797199081500fb089bff467a9e55d3612d8c049d43ed08385d42060271928f5cb02240599c7173a65c213fae9bafb2081c54c5a1
|
||||
|
||||
Reference in New Issue
Block a user