Skip to content

Conversation

@jrbourbeau
Copy link
Member

Still working on this but wanted to push a checkpoint up in case folks are interested

cc @jcrist, who I was chatting offline with about an asyncio change in Python 3.10 around retrieving / creating event loops

@jrbourbeau jrbourbeau mentioned this pull request Jan 14, 2022
@github-actions github-actions bot added the needs attention It's been a while since this was pushed on. Needs attention from the owner or a maintainer. label Feb 21, 2022
setup.cfg Outdated
Comment on lines 53 to 54
# From https://github.com/numpy/numpy/issues/20225
ignore:The distutils.sysconfig module is deprecated, use sysconfig instead:DeprecationWarning
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NumPy is in the process of deprecating distutils, but that will probably take a few releases. Given as we do like to test these older releases, we should probably leave this for a while and revisit in the future

Comment on lines +43 to +44
# Not available for Python 3.9+ on conda-forge
# - bcolz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depends on PR ( conda-forge/bcolz-feedstock#17 ). Looks like there are few PRs on that feedstock that are waiting. So this might be a while

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

Looks like we are seeing a flaky test failure from test_blockwise_dataframe_io ( #8816 ) in this build.

Outside of that we are seeing this failure in this build, which James alluded to above:

_____________________________ test_local_scheduler _____________________________
[gw3] linux -- Python 3.10.2 /usr/share/miniconda3/envs/test-environment/bin/python

    def test_local_scheduler():
        async def f():
            x = dask.delayed(inc)(1)
            y = x + 1
            z = await y.persist()
            assert len(z.dask) == 1
    
>       asyncio.get_event_loop().run_until_complete(f())
E       DeprecationWarning: There is no current event loop

dask/tests/test_distributed.py:262: DeprecationWarning

@jcrist
Copy link
Member

jcrist commented Mar 17, 2022

The error in test_blockwise_dataframe_io is different than the one we're seeing in other PRs (and has to do with the same get_event_loop changes that the other error does). The latter error is fixable locally, but the former would require an upstream fix in distributed's testing utils.

@jcrist
Copy link
Member

jcrist commented Mar 24, 2022

Ok, with dask/distributed#5952 and the small patch I just pushed, this PR passes for me locally. Lets try to get the distributed one in soon, retest, then merge this.

@jcrist jcrist changed the title [WIP] Add Python 3.10 support Add Python 3.10 support Mar 24, 2022
@jakirkham
Copy link
Member

That's great! Thanks Jim 😄

+1 on getting this in

assert len(z.dask) == 1

asyncio.get_event_loop().run_until_complete(f())
asyncio.run(f())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was looking at using asyncio.run, but couldn't tell if there was something I was missing about how the event loop is setup/used here. Glad to see it is that simple 🙂

@graingert graingert self-assigned this Mar 29, 2022
@jakirkham jakirkham requested a review from fjetter March 30, 2022 08:27
Copy link
Member Author

@jrbourbeau jrbourbeau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks all for helping finish this up! It looks like all lingering review comments have been addressed. I'll merge this tomorrow if no further comments

@jakirkham
Copy link
Member

Does this mean you are back James? If so, welcome back 😄

@jakirkham jakirkham removed the needs attention It's been a while since this was pushed on. Needs attention from the owner or a maintainer. label Mar 30, 2022
@jcrist jcrist merged commit e49880b into dask:main Mar 31, 2022
@mrocklin
Copy link
Member

Woo!

@jrbourbeau jrbourbeau deleted the python-3.10 branch March 31, 2022 15:23
@jrbourbeau jrbourbeau mentioned this pull request Mar 31, 2022
erayaslan added a commit to erayaslan/dask that referenced this pull request Apr 25, 2022
Dask has Python 3.10 support with (dask#8566). Update documentation
@erayaslan erayaslan mentioned this pull request Apr 25, 2022
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants