Skip to content

High level asynchronous concurrency and networking framework that works on top of either trio or asyncio

License

Notifications You must be signed in to change notification settings

JonathanPlasse/anyio

Repository files navigation

Build Status Code Coverage Documentation Gitter chat

AnyIO is a asynchronous compatibility API that allows applications and libraries written against it to run unmodified on asyncio, curio and trio.

It bridges the following functionality:

  • Task groups
  • Cancellation
  • Threads
  • Signal handling
  • Asynchronous file I/O
  • Subprocesses
  • Inter-task synchronization and communication (locks, conditions, events, semaphores, object streams)
  • High level networking (TCP, UDP and UNIX sockets)

You can even use it together with native libraries from your selected backend in applications. Doing this in libraries is not advisable however since it limits the usefulness of your library.

AnyIO comes with its own pytest plugin which also supports asynchronous fixtures. It even works with the popular Hypothesis library.

About

High level asynchronous concurrency and networking framework that works on top of either trio or asyncio

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%