From 4e3aa964eb3e7a4cf3942e5ab5716ca2d5c5011d Mon Sep 17 00:00:00 2001 From: jmoore Date: Tue, 15 Jun 2021 15:01:54 +0200 Subject: [PATCH 1/6] Replace 3.6 builds with 3.9 --- .github/workflows/python-package.yml | 2 +- setup.py | 3 +-- tox.ini | 10 +++++----- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 3b48d260ba..34a69407c8 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.6.9' , 3.7, 3.8] + python-version: [3.7, 3.8, 3.9] numpy_version: ['==1.16.4', ''] services: redis: diff --git a/setup.py b/setup.py index 02163e1042..c4ce40b3ae 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,7 @@ 'ipytree', ], }, - python_requires='>=3.6, <4', + python_requires='>=3.7, <4', install_requires=dependencies, package_dir={'': '.'}, packages=['zarr', 'zarr.tests'], @@ -47,7 +47,6 @@ 'Topic :: Software Development :: Libraries :: Python Modules', 'Operating System :: Unix', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', diff --git a/tox.ini b/tox.ini index e00194cb9c..330ffb3b5c 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py36, py37-npy{115,116,latest}, py38, docs +envlist = py37-npy{115,116,latest}, py38, py39, docs [testenv] install_command = pip install --no-binary=numcodecs {opts} {packages} @@ -18,13 +18,13 @@ commands = # clear out any data files generated during tests python -c 'import glob; import shutil; import os; [(shutil.rmtree(d) if os.path.isdir(d) else os.remove(d) if os.path.isfile(d) else None) for d in glob.glob("./example*")]' # main unit test runner - py36,py38: pytest -v --cov=zarr --cov-config=.coveragerc zarr + py38,py39: pytest -v --cov=zarr --cov-config=.coveragerc zarr # don't collect coverage when running older numpy versions py37-{npy115,npy116}: pytest -v zarr # collect coverage and run doctests under py37 py37-npylatest: pytest -v --cov=zarr --cov-config=.coveragerc --doctest-plus zarr --remote-data # generate a coverage report - py36,py37-npylatest,py38: coverage report -m + py37-npylatest,py38,py39: coverage report -m # run doctests in the tutorial and spec py38: python -m doctest -o NORMALIZE_WHITESPACE -o ELLIPSIS docs/tutorial.rst docs/spec/v2.rst # pep8 checks @@ -34,12 +34,12 @@ commands = deps = py37-npy115: numpy==1.15.4 py37-npy116: numpy==1.16.4 - py36,py37-npylatest,py38: -rrequirements_dev_numpy.txt + py37-npylatest,py38,py39: -rrequirements_dev_numpy.txt -rrequirements_dev_minimal.txt -rrequirements_dev_optional.txt [testenv:docs] -basepython = python3.6 +basepython = python3.7 changedir = docs deps = -rrequirements_rtfd.txt From 88b9e9915154badc0d1c85a088f1fcf46130080d Mon Sep 17 00:00:00 2001 From: jmoore Date: Tue, 15 Jun 2021 15:13:30 +0200 Subject: [PATCH 2/6] Rollback py39 attempt --- .github/workflows/python-package.yml | 2 +- tox.ini | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 34a69407c8..671322e96c 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.7, 3.8, 3.9] + python-version: [3.7, 3.8] numpy_version: ['==1.16.4', ''] services: redis: diff --git a/tox.ini b/tox.ini index 330ffb3b5c..1dd87e2717 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py37-npy{115,116,latest}, py38, py39, docs +envlist = py37-npy{115,116,latest}, py38, docs [testenv] install_command = pip install --no-binary=numcodecs {opts} {packages} @@ -18,13 +18,13 @@ commands = # clear out any data files generated during tests python -c 'import glob; import shutil; import os; [(shutil.rmtree(d) if os.path.isdir(d) else os.remove(d) if os.path.isfile(d) else None) for d in glob.glob("./example*")]' # main unit test runner - py38,py39: pytest -v --cov=zarr --cov-config=.coveragerc zarr + py38: pytest -v --cov=zarr --cov-config=.coveragerc zarr # don't collect coverage when running older numpy versions py37-{npy115,npy116}: pytest -v zarr # collect coverage and run doctests under py37 py37-npylatest: pytest -v --cov=zarr --cov-config=.coveragerc --doctest-plus zarr --remote-data # generate a coverage report - py37-npylatest,py38,py39: coverage report -m + py37-npylatest,py38: coverage report -m # run doctests in the tutorial and spec py38: python -m doctest -o NORMALIZE_WHITESPACE -o ELLIPSIS docs/tutorial.rst docs/spec/v2.rst # pep8 checks @@ -34,7 +34,7 @@ commands = deps = py37-npy115: numpy==1.15.4 py37-npy116: numpy==1.16.4 - py37-npylatest,py38,py39: -rrequirements_dev_numpy.txt + py37-npylatest,py38: -rrequirements_dev_numpy.txt -rrequirements_dev_minimal.txt -rrequirements_dev_optional.txt From eddb5f1dc5b9258663d9704580ecce2dddad6233 Mon Sep 17 00:00:00 2001 From: jmoore Date: Tue, 15 Jun 2021 16:22:17 +0200 Subject: [PATCH 3/6] Install types-redis along with redis --- requirements_dev_optional.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements_dev_optional.txt b/requirements_dev_optional.txt index 9a2198eca3..83a66d1997 100644 --- a/requirements_dev_optional.txt +++ b/requirements_dev_optional.txt @@ -8,6 +8,7 @@ ipytree==0.2.1 # version to get compatibility with azure storage emulator on appveyor (FIXME) azure-storage-blob==12.5.0 # pyup: ignore redis==3.5.3 +types-redis pymongo==3.11.4 # optional test requirements tox==3.23.1 From 845ce88de791a9449456e7389f16ab6390056cc3 Mon Sep 17 00:00:00 2001 From: jmoore Date: Tue, 15 Jun 2021 16:53:11 +0200 Subject: [PATCH 4/6] Remove unused .travis.yml --- .travis.yml | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ea14b0f28f..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,49 +0,0 @@ -language: python - -sudo: false - -addons: - apt: - packages: - - libdb-dev - -env: - global: - - ZARR_TEST_ABS=1 - - ZARR_TEST_MONGO=1 - - ZARR_TEST_REDIS=1 - -services: - - docker - - redis-server - - mongodb - -matrix: - include: - - python: 3.6 - env: BUILD_DOCS='true' - - python: 3.7 - dist: xenial - sudo: true - - python: 3.8 - dist: xenial - sudo: true - env: MYPY_CHECK='true' - -before_install: - - docker pull arafato/azurite - - mkdir ~/blob_emulator - - docker run -e executable=blob -d -t -p 10000:10000 -v ~/blob_emulator:/opt/azurite/folder arafato/azurite -before_script: - - mongo mydb_test --eval 'db.createUser({user:"travis",pwd:"test",roles:["readWrite"]});' - -install: - - pip install -U pip setuptools wheel tox-travis mypy codecov - -script: - - tox - - if [[ $BUILD_DOCS == 'true' ]]; then tox -e docs; fi - - if [[ $MYPY_CHECK == 'true' ]]; then mypy zarr; fi - -after_success: - - codecov From da301f01561d0a5ef6f4cfe3341fa5cbf1e779bd Mon Sep 17 00:00:00 2001 From: jmoore Date: Tue, 15 Jun 2021 16:53:24 +0200 Subject: [PATCH 5/6] Remove other references to 3.6 --- docs/release.rst | 7 ++++++- mypy.ini | 2 +- requirements_dev_numpy.txt | 2 +- requirements_dev_optional.txt | 6 +++--- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/release.rst b/docs/release.rst index d098339f90..abb761d28b 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -1,6 +1,11 @@ Release notes ============= +Unreleased +---------- + +This release of Zarr Python is the first release of Zarr to not support Python 3.6. + .. _release_2.8.3: 2.8.3 @@ -129,7 +134,7 @@ Bug fixes 2.6.0 ----- -This release of Zarr Python is is the first release of Zarr to not support Python 3.5. +This release of Zarr Python is the first release of Zarr to not support Python 3.5. * End Python 3.5 support. By :user:`Chris Barnes `; :issue:`602`. diff --git a/mypy.ini b/mypy.ini index 998aed51a2..cb3c188f47 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,4 +1,4 @@ [mypy] -python_version = 3.6 +python_version = 3.7 ignore_missing_imports = True follow_imports = silent diff --git a/requirements_dev_numpy.txt b/requirements_dev_numpy.txt index 8f9764363d..09958393c5 100644 --- a/requirements_dev_numpy.txt +++ b/requirements_dev_numpy.txt @@ -1,4 +1,4 @@ # Break this out into a separate file to allow testing against # different versions of numpy. This file should pin to the latest # numpy version. -numpy==1.20.3; python_version >= '3.6' \ No newline at end of file +numpy==1.20.3; python_version >= '3.7' diff --git a/requirements_dev_optional.txt b/requirements_dev_optional.txt index 83a66d1997..ef816b7583 100644 --- a/requirements_dev_optional.txt +++ b/requirements_dev_optional.txt @@ -17,6 +17,6 @@ flake8==3.9.2 pytest-cov==2.12.0 pytest-doctestplus==0.4.0 h5py==2.10.0 -s3fs==2021.5.0; python_version > '3.6' -fsspec==2021.5.0; python_version > '3.6' -moto[server]>=1.3.14; python_version > '3.6' +s3fs==2021.5.0; python_version > '3.7' +fsspec==2021.5.0; python_version > '3.7' +moto[server]>=1.3.14; python_version > '3.7' From 2e5d92445e18026ac957182c236f112c24cdf3b8 Mon Sep 17 00:00:00 2001 From: jmoore Date: Wed, 16 Jun 2021 08:18:06 +0200 Subject: [PATCH 6/6] Drop the python_version filters --- requirements_dev_minimal.txt | 2 +- requirements_dev_numpy.txt | 2 +- requirements_dev_optional.txt | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements_dev_minimal.txt b/requirements_dev_minimal.txt index 9f2dd69d09..4d3ab7ca36 100644 --- a/requirements_dev_minimal.txt +++ b/requirements_dev_minimal.txt @@ -5,4 +5,4 @@ numcodecs==0.7.3 msgpack-python==0.5.6 setuptools-scm==6.0.1 # test requirements -pytest==5.2.0; python_version > '3.0' +pytest==5.2.0 diff --git a/requirements_dev_numpy.txt b/requirements_dev_numpy.txt index 09958393c5..e8ff029177 100644 --- a/requirements_dev_numpy.txt +++ b/requirements_dev_numpy.txt @@ -1,4 +1,4 @@ # Break this out into a separate file to allow testing against # different versions of numpy. This file should pin to the latest # numpy version. -numpy==1.20.3; python_version >= '3.7' +numpy==1.20.3 diff --git a/requirements_dev_optional.txt b/requirements_dev_optional.txt index ef816b7583..3fcfd76d43 100644 --- a/requirements_dev_optional.txt +++ b/requirements_dev_optional.txt @@ -17,6 +17,6 @@ flake8==3.9.2 pytest-cov==2.12.0 pytest-doctestplus==0.4.0 h5py==2.10.0 -s3fs==2021.5.0; python_version > '3.7' -fsspec==2021.5.0; python_version > '3.7' -moto[server]>=1.3.14; python_version > '3.7' +s3fs==2021.5.0 +fsspec==2021.5.0 +moto[server]>=1.3.14