Skip to content

Commit 477e75a

Browse files
authored
drop support for python 3.6 (#4720)
* 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
1 parent bc49e27 commit 477e75a

File tree

10 files changed

+40
-77
lines changed

10 files changed

+40
-77
lines changed

azure-pipelines.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@ jobs:
88
- job: Linux
99
strategy:
1010
matrix:
11-
py36-bare-minimum:
12-
conda_env: py36-bare-minimum
13-
py36-min-all-deps:
14-
conda_env: py36-min-all-deps
15-
py36-min-nep18:
16-
conda_env: py36-min-nep18
17-
py36:
18-
conda_env: py36
11+
py37-bare-minimum:
12+
conda_env: py37-bare-minimum
13+
py37-min-all-deps:
14+
conda_env: py37-min-all-deps
15+
py37-min-nep18:
16+
conda_env: py37-min-nep18
1917
py37:
2018
conda_env: py37
2119
py38:
@@ -121,6 +119,6 @@ jobs:
121119
- template: ci/azure/add-conda-to-path.yml
122120
- bash: |
123121
conda install -y pyyaml
124-
python ci/min_deps_check.py ci/requirements/py36-bare-minimum.yml
125-
python ci/min_deps_check.py ci/requirements/py36-min-all-deps.yml
122+
python ci/min_deps_check.py ci/requirements/py37-bare-minimum.yml
123+
python ci/min_deps_check.py ci/requirements/py37-min-all-deps.yml
126124
displayName: minimum versions policy

ci/min_deps_check.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,11 @@
3535
# setuptools-scm doesn't work with setuptools < 36.7 (Nov 2017).
3636
# The conda metadata is malformed for setuptools < 38.4 (Jan 2018)
3737
# (it's missing a timestamp which prevents this tool from working).
38+
# setuptools < 40.4 (Sep 2018) from conda-forge cannot be installed into a py37
39+
# environment
3840
# TODO remove this special case and the matching note in installing.rst
39-
# after July 2021.
40-
"setuptools": (38, 4),
41+
# after March 2022.
42+
"setuptools": (40, 4),
4143
}
4244
has_errors = False
4345

ci/requirements/py36.yml

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

ci/requirements/py36-bare-minimum.yml renamed to ci/requirements/py37-bare-minimum.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ channels:
33
- conda-forge
44
- nodefaults
55
dependencies:
6-
- python=3.6
6+
- python=3.7
77
- coveralls
88
- pip
99
- pytest
@@ -12,4 +12,4 @@ dependencies:
1212
- pytest-xdist
1313
- numpy=1.15
1414
- pandas=0.25
15-
- setuptools=38.4
15+
- setuptools=40.4

ci/requirements/py36-min-all-deps.yml renamed to ci/requirements/py37-min-all-deps.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ dependencies:
77
# Run ci/min_deps_check.py to verify that this file respects the policy.
88
# When upgrading python, numpy, or pandas, must also change
99
# doc/installing.rst and setup.py.
10-
- python=3.6
10+
- python=3.7
1111
- black
1212
- boto3=1.9
1313
- bottleneck=1.2
@@ -33,7 +33,7 @@ dependencies:
3333
- numba=0.46
3434
- numpy=1.15
3535
- pandas=0.25
36-
# - pint # See py36-min-nep18.yml
36+
# - pint # See py37-min-nep18.yml
3737
- pip
3838
- pseudonetcdf=3.0
3939
- pydap=3.2
@@ -45,8 +45,8 @@ dependencies:
4545
- rasterio=1.0
4646
- scipy=1.3
4747
- seaborn=0.9
48-
- setuptools=38.4
49-
# - sparse # See py36-min-nep18.yml
48+
- setuptools=40.4
49+
# - sparse # See py37-min-nep18.yml
5050
- toolz=0.10
5151
- zarr=2.3
5252
- pip:

ci/requirements/py36-min-nep18.yml renamed to ci/requirements/py37-min-nep18.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ channels:
55
dependencies:
66
# Optional dependencies that require NEP18, such as sparse and pint,
77
# require drastically newer packages than everything else
8-
- python=3.6
8+
- python=3.7
99
- coveralls
1010
- dask=2.9
1111
- distributed=2.9
@@ -18,5 +18,5 @@ dependencies:
1818
- pytest-env
1919
- pytest-xdist
2020
- scipy=1.3
21-
- setuptools=38.4
21+
- setuptools=40.4
2222
- sparse=0.8

doc/installing.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ Installation
66
Required dependencies
77
---------------------
88

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

@@ -100,7 +100,7 @@ dependencies:
100100

101101
- **Python:** 42 months
102102
(`NEP-29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_)
103-
- **setuptools:** 42 months (but no older than 38.4)
103+
- **setuptools:** 42 months (but no older than 40.4)
104104
- **numpy:** 24 months
105105
(`NEP-29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_)
106106
- **dask and dask.distributed:** 12 months (but no older than 2.9)

doc/whats-new.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ v0.16.3 (unreleased)
2222

2323
Breaking changes
2424
~~~~~~~~~~~~~~~~
25+
- xarray no longer supports python 3.6
26+
27+
The minimum versions of some other dependencies were changed:
28+
============ ====== ====
29+
Package Old New
30+
============ ====== ====
31+
Python 3.6 3.7
32+
setuptools 38.4 40.4
33+
============ ====== ====
34+
35+
(:issue:`4688`, :pull:`4720`)
36+
By `Justus Magin <https://github.com/keewis>`_.
2537
- As a result of :pull:`4684` the default units encoding for
2638
datetime-like values (``np.datetime64[ns]`` or ``cftime.datetime``) will now
2739
always be set such that ``int64`` values can be used. In the past, no units

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55
numpy >= 1.15
66
pandas >= 0.25
7-
setuptools >= 38.4
7+
setuptools >= 40.4

setup.cfg

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,21 +64,21 @@ classifiers =
6464
Intended Audience :: Science/Research
6565
Programming Language :: Python
6666
Programming Language :: Python :: 3
67-
Programming Language :: Python :: 3.6
6867
Programming Language :: Python :: 3.7
68+
Programming Language :: Python :: 3.8
6969
Topic :: Scientific/Engineering
7070

7171
[options]
7272
packages = find:
7373
zip_safe = False # https://mypy.readthedocs.io/en/latest/installed_packages.html
7474
include_package_data = True
75-
python_requires = >=3.6
75+
python_requires = >=3.7
7676
install_requires =
7777
numpy >= 1.15
7878
pandas >= 0.25
79-
setuptools >= 38.4 # For pkg_resources
79+
setuptools >= 40.4 # For pkg_resources
8080
setup_requires =
81-
setuptools >= 38.4
81+
setuptools >= 40.4
8282
setuptools_scm
8383

8484

0 commit comments

Comments
 (0)