Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
.github/workflows/ | H | 22-Nov-2021 | - | 118 | 110 | |
docs/ | H | 22-Nov-2021 | - | 2,882 | 2,051 | |
src/ | H | 22-Nov-2021 | - | 8,101 | 6,022 | |
tests/ | H | 22-Nov-2021 | - | 5,974 | 4,606 | |
.gitignore | H A D | 22-Nov-2021 | 171 | 18 | 17 | |
.readthedocs.yml | H A D | 22-Nov-2021 | 143 | 9 | 8 | |
LICENSE | H A D | 22-Nov-2021 | 1.1 KiB | 21 | 16 | |
PKG-INFO | H A D | 22-Nov-2021 | 3.5 KiB | 88 | 73 | |
README.rst | H A D | 22-Nov-2021 | 2.5 KiB | 58 | 46 | |
pre-commit-config.sample.yaml | H A D | 22-Nov-2021 | 699 | 25 | 24 | |
pyproject.toml | H A D | 22-Nov-2021 | 1.4 KiB | 55 | 46 | |
setup.cfg | H A D | 22-Nov-2021 | 1.7 KiB | 67 | 59 | |
setup.py | H A D | 22-Nov-2021 | 103 | 7 | 5 | |
tox.ini | H A D | 22-Nov-2021 | 911 | 43 | 36 |
README.rst
1.. image:: https://github.com/agronholm/anyio/workflows/Python%20codeqa/test/badge.svg?branch=master 2 :target: https://github.com/agronholm/anyio/actions?query=workflow%3A%22Python+codeqa%2Ftest%22+branch%3Amaster 3 :alt: Build Status 4.. image:: https://coveralls.io/repos/github/agronholm/anyio/badge.svg?branch=master 5 :target: https://coveralls.io/github/agronholm/anyio?branch=master 6 :alt: Code Coverage 7.. image:: https://readthedocs.org/projects/anyio/badge/?version=latest 8 :target: https://anyio.readthedocs.io/en/latest/?badge=latest 9 :alt: Documentation 10.. image:: https://badges.gitter.im/gitterHQ/gitter.svg 11 :target: https://gitter.im/python-trio/AnyIO 12 :alt: Gitter chat 13 14AnyIO is an asynchronous networking and concurrency library that works on top of either asyncio_ or 15trio_. It implements trio-like `structured concurrency`_ (SC) on top of asyncio, and works in harmony 16with the native SC of trio itself. 17 18Applications and libraries written against AnyIO's API will run unmodified on either asyncio_ or 19trio_. AnyIO can also be adopted into a library or application incrementally – bit by bit, no full 20refactoring necessary. It will blend in with native libraries of your chosen backend. 21 22Documentation 23------------- 24 25View full documentation at: https://anyio.readthedocs.io/ 26 27Features 28-------- 29 30AnyIO offers the following functionality: 31 32* Task groups (nurseries_ in trio terminology) 33* High level networking (TCP, UDP and UNIX sockets) 34 35 * `Happy eyeballs`_ algorithm for TCP connections (more robust than that of asyncio on Python 36 3.8) 37 * async/await style UDP sockets (unlike asyncio where you still have to use Transports and 38 Protocols) 39 40* A versatile API for byte streams and object streams 41* Inter-task synchronization and communication (locks, conditions, events, semaphores, object 42 streams) 43* Worker threads 44* Subprocesses 45* Asynchronous file I/O (using worker threads) 46* Signal handling 47 48AnyIO also comes with its own pytest_ plugin which also supports asynchronous fixtures. 49It even works with the popular Hypothesis_ library. 50 51.. _asyncio: https://docs.python.org/3/library/asyncio.html 52.. _trio: https://github.com/python-trio/trio 53.. _structured concurrency: https://en.wikipedia.org/wiki/Structured_concurrency 54.. _nurseries: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning 55.. _Happy eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs 56.. _pytest: https://docs.pytest.org/en/latest/ 57.. _Hypothesis: https://hypothesis.works/ 58