Skip to content
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

Dropped Curio support #182

Merged
merged 3 commits into from
Feb 8, 2021
Merged

Dropped Curio support #182

merged 3 commits into from
Feb 8, 2021

Conversation

agronholm
Copy link
Owner

Curio has become a liability due to its policy of only allowing coroutine functions to interact with the curio kernel.
Dropping support will allow AnyIO to better match the Trio APIs and to allow more functionality for apps that still rely on synchronous callbacks due to existing asyncio libraries.

See #179 for discussion.

@agronholm agronholm added this to the 3.0.0 milestone Dec 30, 2020
@belm0
Copy link
Contributor

belm0 commented Dec 31, 2020

Perhaps it's worth trying to say something objective about Curio in the readme or docs.

Why not Curio?

Curio is another async framework which early versions of anyio tried to support along side of asyncio and Trio. The Curio design is quite strict about every API call being async (Event.set(), get_current_task(), etc.), which hinders bridging to synchronous code and increases the general complexity of concurrent programs. Lacking strong demand for Curio support, anyio elected to forgo it and allow the advantages of the partly-synchronous aspects of asyncio and Trio to be available in the API.

@thedrow
Copy link
Contributor

thedrow commented Jan 7, 2021

I completely agree with this decision.

@agronholm agronholm force-pushed the remove-curio branch 2 times, most recently from 36b4bd8 to b5aa39a Compare February 8, 2021 20:54
docs/faq.rst Outdated Show resolved Hide resolved
@agronholm agronholm merged commit 40c7f9c into master Feb 8, 2021
@agronholm agronholm deleted the remove-curio branch February 8, 2021 21:31
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.

None yet

4 participants