From dd61ed19d05edcf9a919c73e657c512dc8f6d265 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 17 Jun 2020 15:53:43 -0400 Subject: [PATCH 1/5] MNT: bump minimum python-dateutil version to 2.7 This was release in March 2018 and is the first version of python-dateutil that does not have deprecation warnings due to the collections -> collections.abc change in CPython. --- INSTALL.rst | 2 +- requirements/testing/travis36minver.txt | 4 ++-- setup.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index d7d4ff594c8b..503aafe5cff4 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -147,7 +147,7 @@ Matplotlib requires the following dependencies: * `NumPy `_ (>= 1.15) * `setuptools `_ * `cycler `_ (>= 0.10.0) -* `dateutil `_ (>= 2.1) +* `dateutil `_ (>= 2.7) * `kiwisolver `_ (>= 1.0.0) * `Pillow `_ (>= 6.2) * `pyparsing `_ (>=2.0.3) diff --git a/requirements/testing/travis36minver.txt b/requirements/testing/travis36minver.txt index 2b012c01a6ce..5cd72277421c 100644 --- a/requirements/testing/travis36minver.txt +++ b/requirements/testing/travis36minver.txt @@ -1,6 +1,6 @@ -# Extra pip requirements for the first travis python 3.6 build +# Extra pip requirements for the minimum-version travis run cycler==0.10 -python-dateutil==2.1 +python-dateutil==2.7 numpy==1.15.0 pyparsing==2.0.3 diff --git a/setup.py b/setup.py index 7c0d85d7f4ba..2124c30b3bc5 100644 --- a/setup.py +++ b/setup.py @@ -283,7 +283,7 @@ def build_extensions(self): "numpy>=1.15", "pillow>=6.2.0", "pyparsing>=2.0.3,!=2.0.4,!=2.1.2,!=2.1.6", - "python-dateutil>=2.1", + "python-dateutil>=2.7", ], cmdclass=cmdclass, From cfccfb8203d2bf4c6243872850975d493e773161 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 17 Jun 2020 16:07:17 -0400 Subject: [PATCH 2/5] MNT: bump minimum pyparsing to 2.2.1 This is released in Sept 2018 and is the earliest version to not warn due to the collections -> collections.abc change in CPython. --- INSTALL.rst | 2 +- requirements/testing/travis36minver.txt | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index 503aafe5cff4..878caa2d41da 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -150,7 +150,7 @@ Matplotlib requires the following dependencies: * `dateutil `_ (>= 2.7) * `kiwisolver `_ (>= 1.0.0) * `Pillow `_ (>= 6.2) -* `pyparsing `_ (>=2.0.3) +* `pyparsing `_ (>=2.2.1) Optionally, you can also install a number of packages to enable better user interface toolkits. See :ref:`what-is-a-backend` for more details on the diff --git a/requirements/testing/travis36minver.txt b/requirements/testing/travis36minver.txt index 5cd72277421c..54b45531c28e 100644 --- a/requirements/testing/travis36minver.txt +++ b/requirements/testing/travis36minver.txt @@ -3,4 +3,4 @@ cycler==0.10 python-dateutil==2.7 numpy==1.15.0 -pyparsing==2.0.3 +pyparsing==2.2.1 diff --git a/setup.py b/setup.py index 2124c30b3bc5..7fab333d3f85 100644 --- a/setup.py +++ b/setup.py @@ -282,7 +282,7 @@ def build_extensions(self): "kiwisolver>=1.0.1", "numpy>=1.15", "pillow>=6.2.0", - "pyparsing>=2.0.3,!=2.0.4,!=2.1.2,!=2.1.6", + "pyparsing>=2.2.1", "python-dateutil>=2.7", ], From 60b03f1571c775f60bbd701d3381357a31eaf8bb Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 17 Jun 2020 21:52:40 -0400 Subject: [PATCH 3/5] MNT: bump minimum numpy version to 1.16 --- INSTALL.rst | 2 +- requirements/testing/travis36minver.txt | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index 878caa2d41da..562890fc61f6 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -144,7 +144,7 @@ Matplotlib will automatically install dependencies when you install with Matplotlib requires the following dependencies: * `Python `_ (>= 3.6) -* `NumPy `_ (>= 1.15) +* `NumPy `_ (>= 1.16) * `setuptools `_ * `cycler `_ (>= 0.10.0) * `dateutil `_ (>= 2.7) diff --git a/requirements/testing/travis36minver.txt b/requirements/testing/travis36minver.txt index 54b45531c28e..6fde528b59e2 100644 --- a/requirements/testing/travis36minver.txt +++ b/requirements/testing/travis36minver.txt @@ -2,5 +2,5 @@ cycler==0.10 python-dateutil==2.7 -numpy==1.15.0 +numpy==1.16.0 pyparsing==2.2.1 diff --git a/setup.py b/setup.py index 7fab333d3f85..f714721a4945 100644 --- a/setup.py +++ b/setup.py @@ -280,7 +280,7 @@ def build_extensions(self): install_requires=[ "cycler>=0.10", "kiwisolver>=1.0.1", - "numpy>=1.15", + "numpy>=1.16", "pillow>=6.2.0", "pyparsing>=2.2.1", "python-dateutil>=2.7", From 0828a91d09704893b99462a2103b9fb3d706b2ec Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 17 Jun 2020 16:27:13 -0400 Subject: [PATCH 4/5] DOC/TST: correctly document the minimum kiwisolver and test --- INSTALL.rst | 2 +- requirements/testing/travis36minver.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/INSTALL.rst b/INSTALL.rst index 562890fc61f6..c321982544b2 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -148,7 +148,7 @@ Matplotlib requires the following dependencies: * `setuptools `_ * `cycler `_ (>= 0.10.0) * `dateutil `_ (>= 2.7) -* `kiwisolver `_ (>= 1.0.0) +* `kiwisolver `_ (>= 1.0.1) * `Pillow `_ (>= 6.2) * `pyparsing `_ (>=2.2.1) diff --git a/requirements/testing/travis36minver.txt b/requirements/testing/travis36minver.txt index 6fde528b59e2..3cd31922c17a 100644 --- a/requirements/testing/travis36minver.txt +++ b/requirements/testing/travis36minver.txt @@ -4,3 +4,4 @@ cycler==0.10 python-dateutil==2.7 numpy==1.16.0 pyparsing==2.2.1 +kiwisolver==1.0.1 From 2295a0ebc52cca545d83c078973f5586907ecd5a Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 17 Jun 2020 12:32:47 -0400 Subject: [PATCH 5/5] API: bump minimum version of Python to 3.7 for mpl 3.4 This is consistent with our policy and NEP29 --- .appveyor.yml | 17 ++++++-------- .circleci/config.yml | 17 +++++++------- .travis.yml | 4 ++-- INSTALL.rst | 2 +- azure-pipelines.yml | 9 -------- .../deprecations/17662-TAC.rst | 22 +++++++++++++++++++ doc/devel/coding_guide.rst | 2 +- doc/devel/min_dep_policy.rst | 4 +++- doc/devel/testing.rst | 2 +- doc/faq/installing_faq.rst | 2 +- .../{travis36minver.txt => minver.txt} | 0 setup.py | 2 +- tox.ini | 2 +- 13 files changed, 49 insertions(+), 36 deletions(-) create mode 100644 doc/api/next_api_changes/deprecations/17662-TAC.rst rename requirements/testing/{travis36minver.txt => minver.txt} (100%) diff --git a/.appveyor.yml b/.appveyor.yml index 668c5391de65..49611c66a254 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -23,13 +23,14 @@ environment: # In theory we could use a single CONDA_INSTALL_LOCN because we construct # the envs anyway. But using one for the right python version hopefully # making things faster due to package caching. - - PYTHON_VERSION: "3.6" - CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64" + - PYTHON_VERSION: "3.7" + CONDA_INSTALL_LOCN: "C:\\Miniconda37-x64" TEST_ALL: "no" EXTRAREQS: "-r requirements/testing/travis_extra.txt" - - PYTHON_VERSION: "3.7" + - PYTHON_VERSION: "3.8" CONDA_INSTALL_LOCN: "C:\\Miniconda37-x64" TEST_ALL: "no" + EXTRAREQS: "-r requirements/testing/travis_extra.txt" # We always use a 64-bit machine, but can build x86 distributions # with the PYTHON_ARCH variable @@ -55,19 +56,15 @@ install: # For building, use a new environment - conda create -q -n test-environment python=%PYTHON_VERSION% tk - activate test-environment + # pull pywin32 from conda because on py38 there is something wrong with finding + # the dlls when insalled from pip + - conda install -c conda-forge pywin32 - echo %PYTHON_VERSION% %TARGET_ARCH% # Install dependencies from PyPI. - python -mpip install --upgrade -r requirements/testing/travis_all.txt %EXTRAREQS% %PINNEDVERS% # Install optional dependencies from PyPI. # Sphinx is needed to run sphinxext tests - python -mpip install --upgrade sphinx - - # Apply patch to `subprocess` on Python versions > 2 and < 3.6.3 - # https://github.com/matplotlib/matplotlib/issues/9176 - - python -c "import sys; sys.exit(not (3,) < sys.version_info < (3,6,3))" && ( - curl -sL https://github.com/python/cpython/pull/1224.patch | - patch -fsup 1 -d %CONDA_PREFIX% ) || cmd /c "exit /b 0" - # Show the installed packages + versions - conda list diff --git a/.circleci/config.yml b/.circleci/config.yml index f0201de420c2..48275404c92e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -110,17 +110,17 @@ commands: # jobs: - docs-python36: + docs-python37: docker: - - image: circleci/python:3.6 + - image: circleci/python:3.7 steps: - checkout - apt-install - fonts-install - pip-install - - deps-install: - numpy_version: "==1.13.0" + + - deps-install - mpl-install - doc-build @@ -130,9 +130,9 @@ jobs: - store_artifacts: path: doc/build/html - docs-python37: + docs-python38-min: docker: - - image: circleci/python:3.7 + - image: circleci/python:3.8 steps: - checkout @@ -140,7 +140,8 @@ jobs: - fonts-install - pip-install - - deps-install + - deps-install: + numpy_version: "==1.16.0" - mpl-install - doc-build @@ -185,6 +186,6 @@ workflows: version: 2 build: jobs: - - docs-python36 - docs-python37 - docs-python38 + - docs-python38-min diff --git a/.travis.yml b/.travis.yml index c40219b982a2..2c2aab29175c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,9 +73,9 @@ env: matrix: include: - - python: 3.6 + - python: 3.7 env: - - PINNEDVERS='-c requirements/testing/travis36minver.txt' + - PINNEDVERS='-c requirements/testing/minver.txt' - DELETE_FONT_CACHE=1 - python: 3.7 env: diff --git a/INSTALL.rst b/INSTALL.rst index c321982544b2..0145863cfbcc 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -143,7 +143,7 @@ Matplotlib will automatically install dependencies when you install with Matplotlib requires the following dependencies: -* `Python `_ (>= 3.6) +* `Python `_ (>= 3.7) * `NumPy `_ (>= 1.16) * `setuptools `_ * `cycler `_ (>= 0.10.0) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 91e510d27b52..a5c8544b7e88 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -5,27 +5,18 @@ strategy: matrix: - Linux_py36: - vmImage: 'ubuntu-16.04' - python.version: '3.6' Linux_py37: vmImage: 'ubuntu-16.04' python.version: '3.7' Linux_py38: vmImage: 'ubuntu-16.04' python.version: '3.8' - macOS_py36: - vmImage: 'macOS-10.14' - python.version: '3.6' macOS_py37: vmImage: 'macOS-10.15' python.version: '3.7' macOS_py38: vmImage: 'macOS-latest' python.version: '3.8' - Windows_py36: - vmImage: 'vs2017-win2016' - python.version: '3.6' Windows_py37: vmImage: 'vs2017-win2016' python.version: '3.7' diff --git a/doc/api/next_api_changes/deprecations/17662-TAC.rst b/doc/api/next_api_changes/deprecations/17662-TAC.rst new file mode 100644 index 000000000000..61791346679a --- /dev/null +++ b/doc/api/next_api_changes/deprecations/17662-TAC.rst @@ -0,0 +1,22 @@ +Increase minimum supported versions of Python and dependencies +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +For Maptlotlib 3.4 the :ref:`minimum supported versions +` are being bumped + ++------------+-----------------+---------------+ +| Dependency | min in mpl3.3 | min in mpl3.4 | ++============+=================+===============+ +| Python | 3.6 | 3.7 | ++------------+-----------------+---------------+ +| dateutil | 2.1 | 2.2.1 | ++------------+-----------------+---------------+ +| numpy | 1.15 | 1.16 | ++------------+-----------------+---------------+ +| pyparsing | 2.0.3 | 2.2.1 | ++------------+-----------------+---------------+ + + +This consistent with our :ref:`min_deps_policy` and `NEP29 +`__ diff --git a/doc/devel/coding_guide.rst b/doc/devel/coding_guide.rst index e39761e608a1..cced9549aaf3 100644 --- a/doc/devel/coding_guide.rst +++ b/doc/devel/coding_guide.rst @@ -255,7 +255,7 @@ The current active branches are *master* The current development version. Future minor releases (*v3.N.0*) will be - branched from this. Supports Python 3.6+. + branched from this. Supports Python 3.7+. *v3.N.x* Maintenance branch for Matplotlib 3.N. Future patch releases will be diff --git a/doc/devel/min_dep_policy.rst b/doc/devel/min_dep_policy.rst index e4921a756018..45cee59e34a3 100644 --- a/doc/devel/min_dep_policy.rst +++ b/doc/devel/min_dep_policy.rst @@ -83,7 +83,8 @@ specification of the dependencies. ========== ======== ====== Matplotlib Python NumPy ========== ======== ====== -3.3 3.6 1.15.0 +3.4 3.7 1.16.0 +`3.3`_ 3.6 1.15.0 `3.2`_ 3.6 1.11.0 `3.1`_ 3.6 1.11.0 `3.0`_ 3.5 1.10.0 @@ -98,6 +99,7 @@ Matplotlib Python NumPy 1.0 2.4 1.1 ========== ======== ====== +.. _`3.3`: https://matplotlib.org/3.3.0/users/installing.html#dependencies .. _`3.2`: https://matplotlib.org/3.2.0/users/installing.html#dependencies .. _`3.1`: https://matplotlib.org/3.1.0/users/installing.html#dependencies .. _`3.0`: https://matplotlib.org/3.0.0/users/installing.html#dependencies diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst index d1187d3ecfb1..2fc16c57122d 100644 --- a/doc/devel/testing.rst +++ b/doc/devel/testing.rst @@ -243,7 +243,7 @@ You can also run tox on a subset of environments: .. code-block:: bash - $ tox -e py36,py37 + $ tox -e py37,py38 Tox processes everything serially so it can take a long time to test several environments. To speed it up, you might try using a new, diff --git a/doc/faq/installing_faq.rst b/doc/faq/installing_faq.rst index 529e1be7aca2..7ced5c063218 100644 --- a/doc/faq/installing_faq.rst +++ b/doc/faq/installing_faq.rst @@ -105,7 +105,7 @@ the form of wheels. pip is installed by default with python.org and Homebrew Python, but needs to be manually installed on Macports with :: - sudo port install py36-pip + sudo port install py38-pip Once pip is installed, you can install Matplotlib and all its dependencies with from the Terminal.app command line:: diff --git a/requirements/testing/travis36minver.txt b/requirements/testing/minver.txt similarity index 100% rename from requirements/testing/travis36minver.txt rename to requirements/testing/minver.txt diff --git a/setup.py b/setup.py index f714721a4945..cc8738a4a752 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ # and/or pip. import sys -min_version = (3, 6) +min_version = (3, 7) if sys.version_info < min_version: error = """ diff --git a/tox.ini b/tox.ini index 8696a8e0a91a..b6b94c41b5fc 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py36, py37, py38 +envlist = py37, py38 [testenv] changedir = /tmp pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy