123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- Metadata-Version: 2.1
- Name: anyio
- Version: 4.4.0
- Summary: High level compatibility layer for multiple asynchronous event loop implementations
- Author-email: Alex Grönholm <alex.gronholm@nextday.fi>
- License: MIT
- Project-URL: Documentation, https://anyio.readthedocs.io/en/latest/
- Project-URL: Changelog, https://anyio.readthedocs.io/en/stable/versionhistory.html
- 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: Typing :: Typed
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.12
- Requires-Python: >=3.8
- Description-Content-Type: text/x-rst
- License-File: LICENSE
- Requires-Dist: idna >=2.8
- Requires-Dist: sniffio >=1.1
- Requires-Dist: exceptiongroup >=1.0.2 ; python_version < "3.11"
- Requires-Dist: typing-extensions >=4.1 ; python_version < "3.11"
- Provides-Extra: doc
- Requires-Dist: packaging ; extra == 'doc'
- Requires-Dist: Sphinx >=7 ; extra == 'doc'
- Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
- Requires-Dist: sphinx-autodoc-typehints >=1.2.0 ; extra == 'doc'
- Provides-Extra: test
- Requires-Dist: anyio[trio] ; extra == 'test'
- Requires-Dist: coverage[toml] >=7 ; extra == 'test'
- Requires-Dist: exceptiongroup >=1.2.0 ; extra == 'test'
- Requires-Dist: hypothesis >=4.0 ; extra == 'test'
- Requires-Dist: psutil >=5.9 ; 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: uvloop >=0.17 ; (platform_python_implementation == "CPython" and platform_system != "Windows") and extra == 'test'
- Provides-Extra: trio
- Requires-Dist: trio >=0.23 ; 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 the 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/
|