|
|
Metadata-Version: 2.1
|
|
|
Name: anyio
|
|
|
Version: 3.6.1
|
|
|
Summary: High level compatibility layer for multiple asynchronous event loop implementations
|
|
|
Author: Alex Grönholm
|
|
|
Author-email: alex.gronholm@nextday.fi
|
|
|
License: MIT
|
|
|
Project-URL: Documentation, https://anyio.readthedocs.io/en/latest/
|
|
|
Project-URL: Source code, https://github.com/agronholm/anyio
|
|
|
Project-URL: Issue tracker, https://github.com/agronholm/anyio/issues
|
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
|
Classifier: Intended Audience :: Developers
|
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
|
Classifier: Framework :: AnyIO
|
|
|
Classifier: Programming Language :: Python
|
|
|
Classifier: Programming Language :: Python :: 3
|
|
|
Classifier: Programming Language :: Python :: 3.6
|
|
|
Classifier: Programming Language :: Python :: 3.7
|
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
|
Classifier: Programming Language :: Python :: 3.9
|
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
|
Requires-Python: >=3.6.2
|
|
|
License-File: LICENSE
|
|
|
Requires-Dist: idna (>=2.8)
|
|
|
Requires-Dist: sniffio (>=1.1)
|
|
|
Requires-Dist: contextvars ; python_version < "3.7"
|
|
|
Requires-Dist: dataclasses ; python_version < "3.7"
|
|
|
Requires-Dist: typing-extensions ; python_version < "3.8"
|
|
|
Provides-Extra: doc
|
|
|
Requires-Dist: packaging ; extra == 'doc'
|
|
|
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
|
|
|
Requires-Dist: sphinx-autodoc-typehints (>=1.2.0) ; extra == 'doc'
|
|
|
Provides-Extra: test
|
|
|
Requires-Dist: coverage[toml] (>=4.5) ; extra == 'test'
|
|
|
Requires-Dist: hypothesis (>=4.0) ; extra == 'test'
|
|
|
Requires-Dist: pytest (>=7.0) ; extra == 'test'
|
|
|
Requires-Dist: pytest-mock (>=3.6.1) ; extra == 'test'
|
|
|
Requires-Dist: trustme ; extra == 'test'
|
|
|
Requires-Dist: contextlib2 ; (python_version < "3.7") and extra == 'test'
|
|
|
Requires-Dist: uvloop (<0.15) ; (python_version < "3.7" and (platform_python_implementation == "CPython" and platform_system != "Windows")) and extra == 'test'
|
|
|
Requires-Dist: mock (>=4) ; (python_version < "3.8") and extra == 'test'
|
|
|
Requires-Dist: uvloop (>=0.15) ; (python_version >= "3.7" and (platform_python_implementation == "CPython" and platform_system != "Windows")) and extra == 'test'
|
|
|
Provides-Extra: trio
|
|
|
Requires-Dist: trio (>=0.16) ; extra == 'trio'
|
|
|
|
|
|
.. image:: https://github.com/agronholm/anyio/actions/workflows/test.yml/badge.svg
|
|
|
:target: https://github.com/agronholm/anyio/actions/workflows/test.yml
|
|
|
:alt: Build Status
|
|
|
.. image:: https://coveralls.io/repos/github/agronholm/anyio/badge.svg?branch=master
|
|
|
:target: https://coveralls.io/github/agronholm/anyio?branch=master
|
|
|
:alt: Code Coverage
|
|
|
.. image:: https://readthedocs.org/projects/anyio/badge/?version=latest
|
|
|
:target: https://anyio.readthedocs.io/en/latest/?badge=latest
|
|
|
:alt: Documentation
|
|
|
.. image:: https://badges.gitter.im/gitterHQ/gitter.svg
|
|
|
:target: https://gitter.im/python-trio/AnyIO
|
|
|
:alt: Gitter chat
|
|
|
|
|
|
AnyIO is an asynchronous networking and concurrency library that works on top of either asyncio_ or
|
|
|
trio_. It implements trio-like `structured concurrency`_ (SC) on top of asyncio, and works in harmony
|
|
|
with the native SC of trio itself.
|
|
|
|
|
|
Applications and libraries written against AnyIO's API will run unmodified on either asyncio_ or
|
|
|
trio_. AnyIO can also be adopted into a library or application incrementally – bit by bit, no full
|
|
|
refactoring necessary. It will blend in with native libraries of your chosen backend.
|
|
|
|
|
|
Documentation
|
|
|
-------------
|
|
|
|
|
|
View full documentation at: https://anyio.readthedocs.io/
|
|
|
|
|
|
Features
|
|
|
--------
|
|
|
|
|
|
AnyIO offers the following functionality:
|
|
|
|
|
|
* Task groups (nurseries_ in trio terminology)
|
|
|
* High level networking (TCP, UDP and UNIX sockets)
|
|
|
|
|
|
* `Happy eyeballs`_ algorithm for TCP connections (more robust than that of asyncio on Python
|
|
|
3.8)
|
|
|
* async/await style UDP sockets (unlike asyncio where you still have to use Transports and
|
|
|
Protocols)
|
|
|
|
|
|
* A versatile API for byte streams and object streams
|
|
|
* Inter-task synchronization and communication (locks, conditions, events, semaphores, object
|
|
|
streams)
|
|
|
* Worker threads
|
|
|
* Subprocesses
|
|
|
* Asynchronous file I/O (using worker threads)
|
|
|
* Signal handling
|
|
|
|
|
|
AnyIO also comes with its own pytest_ plugin which also supports asynchronous fixtures.
|
|
|
It even works with the popular Hypothesis_ library.
|
|
|
|
|
|
.. _asyncio: https://docs.python.org/3/library/asyncio.html
|
|
|
.. _trio: https://github.com/python-trio/trio
|
|
|
.. _structured concurrency: https://en.wikipedia.org/wiki/Structured_concurrency
|
|
|
.. _nurseries: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning
|
|
|
.. _Happy eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs
|
|
|
.. _pytest: https://docs.pytest.org/en/latest/
|
|
|
.. _Hypothesis: https://hypothesis.works/
|