Skip to content

Commit

Permalink
Add Python 3.10 support (dask#8566)
Browse files Browse the repository at this point in the history
* Add Python 3.10 job to test suite CI

* Ignore numpy.distutils deprecation warning

* Fix filterwarnings ordering

* Don't include fastparquet in Python 3.10 environment

* setup.py

* Add 3.10 build for import checks

* Update CI dependencies

Various packages have fixed issues and/or added Python 3.10 support.
So refresh them based on their latest status.

* Fixup distributed test

* Drop `setuptools` version constraint

* Include Thomas' feedback

Co-authored-by: Thomas Grainger <[email protected]>

Co-authored-by: John Kirkham <[email protected]>
Co-authored-by: Jim Crist-Harif <[email protected]>
Co-authored-by: Thomas Grainger <[email protected]>
  • Loading branch information
4 people authored Mar 31, 2022
1 parent cd8aa01 commit e49880b
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 6 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/additional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9"]
python-version: ["3.8", "3.9", "3.10"]
steps:
- name: Checkout source
uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
fail-fast: false
matrix:
os: ["windows-latest", "ubuntu-latest", "macos-latest"]
python-version: ["3.8", "3.9"]
python-version: ["3.8", "3.9", "3.10"]

env:
PYTHON_VERSION: ${{ matrix.python-version }}
Expand Down
69 changes: 69 additions & 0 deletions continuous_integration/environment-3.10.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# This job includes coverage
name: test-environment
channels:
- conda-forge
- nodefaults
dependencies:
# required dependencies
- python=3.10
- packaging
- numpy
- pandas
# test dependencies
- pre-commit
- pytest
- pytest-cov
- pytest-rerunfailures
- pytest-xdist
- moto
- flask
- fastparquet>=0.8.0
- h5py
- pytables
- zarr
- tiledb-py
# resolver was pulling in old versions, so hard-coding floor
# https://github.com/dask/dask/pull/8505
- tiledb>=2.5.0
- xarray
- fsspec
- sqlalchemy>=1.4.0
- pyarrow
- coverage
- jsonschema
# other -- IO
# Not available for Python 3.9+ on conda-forge
# - bcolz
- blosc
- boto3
- botocore
- bokeh
- httpretty
- aiohttp
# Need recent version of s3fs to support newer aiobotocore versions
# https://github.com/dask/s3fs/issues/514
- s3fs>=2021.8.0
- cloudpickle
- crick
- cytoolz
- distributed
- ipython
- lz4
- numba
- partd
- psutil
- requests
- scikit-image
- scikit-learn
- scipy
- toolz
- python-snappy
- sparse
- cachey
- python-graphviz
- python-xxhash
- mmh3
- jinja2
- pip
- pip:
- git+https://github.com/dask/distributed
4 changes: 2 additions & 2 deletions continuous_integration/environment-3.9.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ dependencies:
# required dependencies
- python=3.9
- packaging
- numpy
- pandas
- numpy=1.21
- pandas=1.3
# test dependencies
- pre-commit
- pytest
Expand Down
2 changes: 1 addition & 1 deletion dask/tests/test_distributed.py
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ async def f():
z = await y.persist()
assert len(z.dask) == 1

asyncio.get_event_loop().run_until_complete(f())
asyncio.run(f())


@gen_cluster(client=True)
Expand Down
2 changes: 2 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ filterwarnings =
error:::pandas[.*]
error:::numpy[.*]
error:::distributed[.*]
# From https://github.com/numpy/numpy/issues/20225
ignore:The distutils\.sysconfig module is deprecated, use sysconfig instead:DeprecationWarning:numpy
xfail_strict=true
[metadata]
Expand Down
11 changes: 10 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,19 @@
license="BSD",
keywords="task-scheduling parallel numpy pandas pydata",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering",
"Topic :: System :: Distributed Computing",
],
packages=packages + tests,
long_description=open("README.rst").read() if exists("README.rst") else "",
Expand Down

0 comments on commit e49880b

Please sign in to comment.