Skip to content

Commit

Permalink
DEP: drop python 2 support and associated ci mods (#2637)
Browse files Browse the repository at this point in the history
* drop python 2 support and associated ci mods

* add py35-min env file

* fix python version in py37-windows env

* fix setup.py

* move iris and pynio to py36 env

* add cdms2 to 36 test env

* testing with UVCDAT_ANONYMOUS_LOG=no

* use pytest-env

* pip for pytest plugins
  • Loading branch information
Joe Hamman authored and shoyer committed Jan 2, 2019
1 parent 11e6aac commit faacc8d
Show file tree
Hide file tree
Showing 22 changed files with 71 additions and 96 deletions.
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ branches:
matrix:
fast_finish: true
include:
- env: CONDA_ENV=py27-min
- env: CONDA_ENV=py27-cdat+iris+pynio
- env: CONDA_ENV=py35-min
- env: CONDA_ENV=py35
- env: CONDA_ENV=py36
- env: CONDA_ENV=py37
Expand Down
9 changes: 4 additions & 5 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@ branches:
environment:

matrix:
- PYTHON: "C:\\Python27-conda64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
CONDA_ENV: "py27-windows"

- PYTHON: "C:\\Python36-conda64"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
CONDA_ENV: "py36-windows"
- PYTHON: "C:\\Python37-conda64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
CONDA_ENV: "py37-windows"

install:
# Install miniconda Python
Expand Down
30 changes: 0 additions & 30 deletions ci/requirements-py27-cdat+iris+pynio.yml

This file was deleted.

5 changes: 3 additions & 2 deletions ci/requirements-py27-min.yml → ci/requirements-py35-min.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
name: test_env
dependencies:
- python=2.7
- python=3.5
- pytest
- flake8
- mock
- numpy=1.12
- pandas=0.19
- pip:
- coveralls
- pytest-env
- pytest-cov
- coveralls
6 changes: 3 additions & 3 deletions ci/requirements-py35.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ dependencies:
- matplotlib=1.5
- netcdf4
- pytest
- pytest-env
- pytest-cov
- coveralls
- flake8
- numpy
- pandas
Expand All @@ -18,6 +21,3 @@ dependencies:
- toolz
- rasterio
- zarr
- pip:
- coveralls
- pytest-cov
5 changes: 3 additions & 2 deletions ci/requirements-py36-bottleneck-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-env
- pytest-cov
- coveralls
- flake8
- numpy
- pandas
Expand All @@ -19,5 +22,3 @@ dependencies:
- toolz
- pip:
- git+https://github.com/kwgoodman/bottleneck.git
- coveralls
- pytest-cov
6 changes: 3 additions & 3 deletions ci/requirements-py36-condaforge-rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-env
- pytest-cov
- coveralls
- flake8
- numpy
- pandas
- seaborn
- scipy
- toolz
- pip:
- coveralls
- pytest-cov
5 changes: 3 additions & 2 deletions ci/requirements-py36-dask-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-env
- pytest-cov
- coveralls
- flake8
- numpy
- pandas
Expand All @@ -20,7 +23,5 @@ dependencies:
- zarr
- pseudonetcdf>=3.0.1
- pip:
- coveralls
- pytest-cov
- git+https://github.com/dask/dask.git
- git+https://github.com/dask/distributed.git
12 changes: 6 additions & 6 deletions ci/requirements-py36-hypothesis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-env
- pytest-cov
- coveralls
- hypothesis
- flake8
- numpy
- pandas
Expand All @@ -19,9 +23,5 @@ dependencies:
- rasterio
- bottleneck
- zarr
- pip:
- coveralls
- pytest-cov
- pydap
- lxml
- hypothesis
- pydap
- lxml
5 changes: 3 additions & 2 deletions ci/requirements-py36-netcdf4-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@ dependencies:
- h5netcdf
- matplotlib
- pytest
- pytest-env
- pytest-cov
- coveralls
- flake8
- numpy
- pandas
- scipy
- toolz
- pip:
- coveralls
- pytest-cov
- git+https://github.com/Unidata/netcdf4-python.git
- git+https://github.com/Unidata/cftime.git
5 changes: 3 additions & 2 deletions ci/requirements-py36-pandas-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-env
- pytest-cov
- coveralls
- flake8
- numpy
- scipy
- toolz
- pip:
- coveralls
- pytest-cov
- git+https://github.com/pydata/pandas.git
8 changes: 4 additions & 4 deletions ci/requirements-py36-pynio-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ dependencies:
- netcdf4
- pynio=dev
- pytest
- pytest-env
- pytest-cov
- coveralls
- numpy
- pandas
- scipy
- seaborn
- toolz
- rasterio
- bottleneck
- pip:
- coveralls
- pytest-cov
- pydap
- pydap
8 changes: 4 additions & 4 deletions ci/requirements-py36-rasterio.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-env
- pytest-cov
- coveralls
- numpy
- pandas
- scipy
- seaborn
- toolz
- rasterio>=1.0
- bottleneck
- pip:
- coveralls
- pytest-cov
- pydap
- pydap
1 change: 1 addition & 0 deletions ci/requirements-py36-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-env
- numpy
- pandas
- scipy
Expand Down
5 changes: 3 additions & 2 deletions ci/requirements-py36-zarr-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ dependencies:
- distributed
- matplotlib
- pytest
- pytest-env
- pytest-cov
- coveralls
- flake8
- numpy
- pandas
Expand All @@ -16,6 +19,4 @@ dependencies:
- toolz
- bottleneck
- pip:
- coveralls
- pytest-cov
- git+https://github.com/zarr-developers/zarr.git
12 changes: 8 additions & 4 deletions ci/requirements-py36.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-cov
- pytest-env
- coveralls
- flake8
- numpy
- pandas
Expand All @@ -22,9 +25,10 @@ dependencies:
- zarr
- pseudonetcdf>=3.0.1
- eccodes
- cdms2
- pynio
- iris>=1.10
- pydap
- lxml
- pip:
- coveralls
- pytest-cov
- pydap
- lxml
- cfgrib>=0.9.2
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,20 @@ name: test_env
channels:
- conda-forge
dependencies:
- python=2.7
- python=3.7
- cftime
- dask
- distributed
- h5py
- h5netcdf
- matplotlib
- pathlib2
- netcdf4
- pytest
- flake8
- mock
- pytest-env
- numpy
- pandas
- scipy
- seaborn
- toolz
- rasterio
- zarr
- pip:
- netcdf4
9 changes: 5 additions & 4 deletions ci/requirements-py37.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ dependencies:
- matplotlib
- netcdf4
- pytest
- pytest-cov
- pytest-env
- coveralls
- flake8
- numpy
- pandas
Expand All @@ -21,10 +24,8 @@ dependencies:
- bottleneck
- zarr
- pseudonetcdf>=3.0.1
- lxml
- eccodes
- pydap
- pip:
- coveralls
- pytest-cov
- pydap
- lxml
- cfgrib>=0.9.2
14 changes: 2 additions & 12 deletions doc/installing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Installation
Required dependencies
---------------------

- Python 2.7 [1]_, 3.5, 3.6, or 3.7
- Python 3.5, 3.6, or 3.7
- `numpy <http://www.numpy.org/>`__ (1.12 or later)
- `pandas <http://pandas.pydata.org/>`__ (0.19.2 or later)

Expand Down Expand Up @@ -111,14 +111,4 @@ To run these benchmark tests in a local machine, first install
- `airspeed-velocity <https://asv.readthedocs.io/en/latest/>`__: a tool for benchmarking Python packages over their lifetime.

and run
``asv run # this will install some conda environments in ./.asv/envs``

.. [1] Xarray plans to drop support for python 2.7 at the end of 2018. This
means that new releases of xarray published after this date will only be
installable on python 3+ environments, but older versions of xarray will
always be available to python 2.7 users. For more information see the
following references:
- `Xarray Github issue discussing dropping Python 2 <https://github.com/pydata/xarray/issues/1829>`__
- `Python 3 Statement <http://www.python3statement.org/>`__
- `Tips on porting to Python 3 <https://docs.python.org/3/howto/pyporting.html>`__
``asv run # this will install some conda environments in ./.asv/envs``
4 changes: 4 additions & 0 deletions doc/whats-new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ v0.11.2 (unreleased)
Breaking changes
~~~~~~~~~~~~~~~~

- Remove support for Python 2. This is the first version of xarray that is
Python 3 only. (:issue:`1876`).
By `Joe Hamman <https://github.com/jhamman>`_.

Enhancements
~~~~~~~~~~~~

Expand Down
2 changes: 2 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ testpaths=xarray/tests
# Fixed upstream in https://github.com/kwgoodman/bottleneck/pull/199
filterwarnings =
ignore:Using a non-tuple sequence for multidimensional indexing is deprecated:FutureWarning
env =
UVCDAT_ANONYMOUS_LOG=no

[flake8]
max-line-length=79
Expand Down
Loading

0 comments on commit faacc8d

Please sign in to comment.