Frequently Asked Questions

Why is Curio not supported as a backend?

Curio was supported in AnyIO before v3.0. Support for it was dropped for two reasons:

  1. Its interface allowed only coroutine functions to access the Curio kernel. This forced AnyIO to follow suit in its own API design, making it difficult to adapt existing applications that relied on synchronous callbacks to use AnyIO. It also interfered with the goal of matching Trio’s API in functions with the same purpose (e.g. Event.set()).

  2. The maintainer specifically requested Curio support to be removed from AnyIO (issue 185).

Why is Twisted not supported as a backend?

The minimum requirement to support Twisted would be for sniffio to be able to detect a running Twisted event loop (and be able to tell when Twisted is being run on top of its asyncio reactor). This is not currently supported in sniffio, so AnyIO cannot support Twisted either.

There is a Twisted issue that you can follow if you’re interested in Twisted support in AnyIO.