Skip to content

Commit

Permalink
drop support for python 3.6 (#4720)
Browse files Browse the repository at this point in the history
* stop to testing on python 3.6

* update the trove classifiers

* update the required minimum python version

* update the minimum python version in the install docs

* update the pipelines ci matrix

* update the minimum versions check ci

* update whats-new.rst

* update the PR number

* upgrade setuptools to 40.4

* update the required setuptools version in the install instructions

* update the policy override for setuptools

* update whats-new.rst

* update the minimum required version of setuptools in setup.cfg

* update the remaining mentions of the setuptools version
  • Loading branch information
keewis authored Jan 7, 2021
1 parent bc49e27 commit 477e75a
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 77 deletions.
18 changes: 8 additions & 10 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,12 @@ jobs:
- job: Linux
strategy:
matrix:
py36-bare-minimum:
conda_env: py36-bare-minimum
py36-min-all-deps:
conda_env: py36-min-all-deps
py36-min-nep18:
conda_env: py36-min-nep18
py36:
conda_env: py36
py37-bare-minimum:
conda_env: py37-bare-minimum
py37-min-all-deps:
conda_env: py37-min-all-deps
py37-min-nep18:
conda_env: py37-min-nep18
py37:
conda_env: py37
py38:
Expand Down Expand Up @@ -121,6 +119,6 @@ jobs:
- template: ci/azure/add-conda-to-path.yml
- bash: |
conda install -y pyyaml
python ci/min_deps_check.py ci/requirements/py36-bare-minimum.yml
python ci/min_deps_check.py ci/requirements/py36-min-all-deps.yml
python ci/min_deps_check.py ci/requirements/py37-bare-minimum.yml
python ci/min_deps_check.py ci/requirements/py37-min-all-deps.yml
displayName: minimum versions policy
6 changes: 4 additions & 2 deletions ci/min_deps_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,11 @@
# setuptools-scm doesn't work with setuptools < 36.7 (Nov 2017).
# The conda metadata is malformed for setuptools < 38.4 (Jan 2018)
# (it's missing a timestamp which prevents this tool from working).
# setuptools < 40.4 (Sep 2018) from conda-forge cannot be installed into a py37
# environment
# TODO remove this special case and the matching note in installing.rst
# after July 2021.
"setuptools": (38, 4),
# after March 2022.
"setuptools": (40, 4),
}
has_errors = False

Expand Down
49 changes: 0 additions & 49 deletions ci/requirements/py36.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ channels:
- conda-forge
- nodefaults
dependencies:
- python=3.6
- python=3.7
- coveralls
- pip
- pytest
Expand All @@ -12,4 +12,4 @@ dependencies:
- pytest-xdist
- numpy=1.15
- pandas=0.25
- setuptools=38.4
- setuptools=40.4
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ dependencies:
# Run ci/min_deps_check.py to verify that this file respects the policy.
# When upgrading python, numpy, or pandas, must also change
# doc/installing.rst and setup.py.
- python=3.6
- python=3.7
- black
- boto3=1.9
- bottleneck=1.2
Expand All @@ -33,7 +33,7 @@ dependencies:
- numba=0.46
- numpy=1.15
- pandas=0.25
# - pint # See py36-min-nep18.yml
# - pint # See py37-min-nep18.yml
- pip
- pseudonetcdf=3.0
- pydap=3.2
Expand All @@ -45,8 +45,8 @@ dependencies:
- rasterio=1.0
- scipy=1.3
- seaborn=0.9
- setuptools=38.4
# - sparse # See py36-min-nep18.yml
- setuptools=40.4
# - sparse # See py37-min-nep18.yml
- toolz=0.10
- zarr=2.3
- pip:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ channels:
dependencies:
# Optional dependencies that require NEP18, such as sparse and pint,
# require drastically newer packages than everything else
- python=3.6
- python=3.7
- coveralls
- dask=2.9
- distributed=2.9
Expand All @@ -18,5 +18,5 @@ dependencies:
- pytest-env
- pytest-xdist
- scipy=1.3
- setuptools=38.4
- setuptools=40.4
- sparse=0.8
6 changes: 3 additions & 3 deletions doc/installing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Installation
Required dependencies
---------------------

- Python (3.6 or later)
- setuptools (38.4 or later)
- Python (3.7 or later)
- setuptools (40.4 or later)
- `numpy <http://www.numpy.org/>`__ (1.15 or later)
- `pandas <http://pandas.pydata.org/>`__ (0.25 or later)

Expand Down Expand Up @@ -100,7 +100,7 @@ dependencies:

- **Python:** 42 months
(`NEP-29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_)
- **setuptools:** 42 months (but no older than 38.4)
- **setuptools:** 42 months (but no older than 40.4)
- **numpy:** 24 months
(`NEP-29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_)
- **dask and dask.distributed:** 12 months (but no older than 2.9)
Expand Down
12 changes: 12 additions & 0 deletions doc/whats-new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,18 @@ v0.16.3 (unreleased)

Breaking changes
~~~~~~~~~~~~~~~~
- xarray no longer supports python 3.6

The minimum versions of some other dependencies were changed:
============ ====== ====
Package Old New
============ ====== ====
Python 3.6 3.7
setuptools 38.4 40.4
============ ====== ====

(:issue:`4688`, :pull:`4720`)
By `Justus Magin <https://github.com/keewis>`_.
- As a result of :pull:`4684` the default units encoding for
datetime-like values (``np.datetime64[ns]`` or ``cftime.datetime``) will now
always be set such that ``int64`` values can be used. In the past, no units
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

numpy >= 1.15
pandas >= 0.25
setuptools >= 38.4
setuptools >= 40.4
8 changes: 4 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -64,21 +64,21 @@ classifiers =
Intended Audience :: Science/Research
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Topic :: Scientific/Engineering

[options]
packages = find:
zip_safe = False # https://mypy.readthedocs.io/en/latest/installed_packages.html
include_package_data = True
python_requires = >=3.6
python_requires = >=3.7
install_requires =
numpy >= 1.15
pandas >= 0.25
setuptools >= 38.4 # For pkg_resources
setuptools >= 40.4 # For pkg_resources
setup_requires =
setuptools >= 38.4
setuptools >= 40.4
setuptools_scm


Expand Down

0 comments on commit 477e75a

Please sign in to comment.