Skip to content

Commit 61c7523

Browse files
jakirkhamjrbourbeau
authored andcommitted
Support Python 3.8 (#499)
1 parent f228883 commit 61c7523

File tree

6 files changed

+20
-10
lines changed

6 files changed

+20
-10
lines changed

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ matrix:
3030
- python: 3.7
3131
dist: xenial
3232
sudo: true
33+
- python: 3.8
34+
dist: xenial
35+
sudo: true
3336

3437
before_install:
3538
- docker pull arafato/azurite

appveyor.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ environment:
2727
- PYTHON: "C:\\Python37-x64"
2828
PYTHON_VERSION: "3.7"
2929

30+
- PYTHON: "C:\\Python38-x64"
31+
PYTHON_VERSION: "3.8"
32+
3033
install:
3134
- "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
3235
- "%CMD_IN_ENV% python -m pip install -U pip setuptools wheel"

docs/contributing.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ you have cloned the Zarr source code and your current working directory is the r
9090
the repository, you can do something like the following::
9191

9292
$ mkdir -p ~/pyenv/zarr-dev
93-
$ virtualenv --no-site-packages --python=/usr/bin/python3.7 ~/pyenv/zarr-dev
93+
$ virtualenv --no-site-packages --python=/usr/bin/python3.8 ~/pyenv/zarr-dev
9494
$ source ~/pyenv/zarr-dev/bin/activate
9595
$ pip install -r requirements_dev_minimal.txt -r requirements_dev_numpy.txt
9696
$ pip install -e .
@@ -190,8 +190,8 @@ Test coverage
190190
~~~~~~~~~~~~~
191191

192192
Zarr maintains 100% test coverage under the latest Python stable release (currently
193-
Python 3.6). Both unit tests and docstring doctests are included when computing
194-
coverage. Running ``tox -e py36`` will automatically run the test suite with coverage
193+
Python 3.8). Both unit tests and docstring doctests are included when computing
194+
coverage. Running ``tox -e py38`` will automatically run the test suite with coverage
195195
and produce a coverage report. This should be 100% before code can be accepted into the
196196
main code base.
197197

@@ -206,7 +206,7 @@ Docstrings for user-facing classes and functions should follow the
206206
`numpydoc
207207
<https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt>`_
208208
standard, including sections for Parameters and Examples. All examples
209-
should run and pass as doctests under Python 3.7. To run doctests,
209+
should run and pass as doctests under Python 3.8. To run doctests,
210210
activate your development environment, install optional requirements,
211211
and run::
212212

docs/release.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ Upcoming Release
3737
* Require Numcodecs 0.6.4+ to use text handling functionality from it.
3838
By :user:`John Kirkham <jakirkham>`; :issue:`497`.
3939

40+
* Support Python 3.8.
41+
By :user:`John Kirkham <jakirkham>`; :issue:`499`.
42+
4043
* Use ``math.ceil`` for scalars.
4144
By :user:`John Kirkham <jakirkham>`; :issue:`500`.
4245

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
'Programming Language :: Python :: 3.5',
4848
'Programming Language :: Python :: 3.6',
4949
'Programming Language :: Python :: 3.7',
50+
'Programming Language :: Python :: 3.8',
5051
],
5152
maintainer='Alistair Miles',
5253
maintainer_email='[email protected]',

tox.ini

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# and then run "tox" from this directory.
55

66
[tox]
7-
envlist = py35, py36, py37-npy{115,116,latest}, docs
7+
envlist = py35, py36, py37-npy{115,116,latest}, py38, docs
88

99
[testenv]
1010
install_command = pip install --no-binary=numcodecs {opts} {packages}
@@ -18,23 +18,23 @@ commands =
1818
# clear out any data files generated during tests
1919
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*")]'
2020
# main unit test runner
21-
py35,py36: pytest -v --cov=zarr --cov-config=.coveragerc zarr
21+
py35,py36,py38: pytest -v --cov=zarr --cov-config=.coveragerc zarr
2222
# don't collect coverage when running older numpy versions
2323
py37-{npy115,npy116}: pytest -v zarr
2424
# collect coverage and run doctests under py37
2525
py37-npylatest: pytest -v --cov=zarr --cov-config=.coveragerc --doctest-plus zarr --remote-data
2626
# generate a coverage report
27-
py35,py36,py37-npylatest: coverage report -m
27+
py35,py36,py37-npylatest,py38: coverage report -m
2828
# run doctests in the tutorial and spec
29-
py37-npylatest: python -m doctest -o NORMALIZE_WHITESPACE -o ELLIPSIS docs/tutorial.rst docs/spec/v2.rst
29+
py38: python -m doctest -o NORMALIZE_WHITESPACE -o ELLIPSIS docs/tutorial.rst docs/spec/v2.rst
3030
# pep8 checks
31-
py37-npylatest: flake8 zarr
31+
py38: flake8 zarr
3232
# print environment for debugging
3333
pip freeze
3434
deps =
3535
py37-npy115: numpy==1.15.4
3636
py37-npy116: numpy==1.16.4
37-
py35,py36,py37-npylatest: -rrequirements_dev_numpy.txt
37+
py35,py36,py37-npylatest,py38: -rrequirements_dev_numpy.txt
3838
-rrequirements_dev_minimal.txt
3939
-rrequirements_dev_optional.txt
4040

0 commit comments

Comments
 (0)