-
-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove asyncio event loop patch on Windows #36
Remove asyncio event loop patch on Windows #36
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
cc @mattpap |
While I understand the motivation here, patching packages is something downstream packager like Linux Distros and conda-forge have the option to do. It's used sparingly, but when needed it is a powerful tool that helps our users. Usually we try to send patches upstream as well (or use patches already in upstream), which helps close the gap over time. Perhaps we are dropping the ball on that in the case of |
The correct fix for this appears to be that every consumer package needs add this call themselves. Some of them have. It would be really helpful if you could corral the others. I'm fine reverting this here, but this behavior will stay in Anaconda until all of the consumer packages are fixed. As system integrators, our primary concern is making things work. Making things work by satisfying everyone's intent and ironing out inconsistencies with other sources of software is gravy, but time is always lacking. |
I don't have a strong opinion on this. So far my concern was primarily with broken CI tests in bokeh by the original patch. We fixed the original issue with tornado in bokeh (bokeh/bokeh#9507) locally. The exact course of action wasn't trivial to figure out, so having this fixed by the package would have been convenient. Though that's just a user's perspective. On a side note. On tornado's policy, I suppose to simplify things, tough one still has to use |
Thanks for the additional context and feedback @jakirkham @msarahan @mattpap The particular package I work on uses a custom event loop policy. It actually uses the I personally am in favor of removing the patch altogether. Alternatively, we could add an additional check to the patch which only sets the event loop policy if the current policy is set to This should (I think) avoid overriding any custom policy loops that have been set, while also still avoiding the |
Any thoughts on how to proceed? There doesn't seem to be a strong opinion on removing the patch. I'm also happy to update this PR to only set the event loop policy when the current policy is set to |
FWICT there are no objections to dropping the patch (please let me know if I misunderstood). Anaconda will still carry the patch either way. Though I'm guessing if this causes issues for Dask + Distributed, they will need to handle that somehow. Bokeh has already handled this another way. So don't need this any more. This causes problems for Dask + Distributed. So really needs to be dropped. Given the state of things and the low likelihood of getting this patch upstreamed, my inclination is drop the patch. In other words merge this PR. |
This PR proposes we remove the patch added in #32 which sets the event loop policy to
asyncio.WindowsSelectorEventLoopPolicy()
on Windows. This causes a difference in behavior depending on if tornado is installed from conda-forge, from PyPI, or from source.The tornado developers decided to explicitly not set the event loop policy (xref tornadoweb/tornado#2608 (comment)) and added a notice to their documentation on how users may handle the situation (xref tornadoweb/tornado#2686).
cc @msarahan
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)