diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 3b48d260ba..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.6.9' , 3.7, 3.8] + python-version: [3.7, 3.8] numpy_version: ['==1.16.4', ''] services: redis: 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 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_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 8f9764363d..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.6' \ No newline at end of file +numpy==1.20.3 diff --git a/requirements_dev_optional.txt b/requirements_dev_optional.txt index 9a2198eca3..3fcfd76d43 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 @@ -16,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 +fsspec==2021.5.0 +moto[server]>=1.3.14 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..1dd87e2717 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, 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: 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: 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: -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