jpayne@69
|
1 Metadata-Version: 2.1
|
jpayne@69
|
2 Name: anyio
|
jpayne@69
|
3 Version: 4.5.2
|
jpayne@69
|
4 Summary: High level compatibility layer for multiple asynchronous event loop implementations
|
jpayne@69
|
5 Author-email: Alex Grönholm <alex.gronholm@nextday.fi>
|
jpayne@69
|
6 License: MIT
|
jpayne@69
|
7 Project-URL: Documentation, https://anyio.readthedocs.io/en/latest/
|
jpayne@69
|
8 Project-URL: Changelog, https://anyio.readthedocs.io/en/stable/versionhistory.html
|
jpayne@69
|
9 Project-URL: Source code, https://github.com/agronholm/anyio
|
jpayne@69
|
10 Project-URL: Issue tracker, https://github.com/agronholm/anyio/issues
|
jpayne@69
|
11 Classifier: Development Status :: 5 - Production/Stable
|
jpayne@69
|
12 Classifier: Intended Audience :: Developers
|
jpayne@69
|
13 Classifier: License :: OSI Approved :: MIT License
|
jpayne@69
|
14 Classifier: Framework :: AnyIO
|
jpayne@69
|
15 Classifier: Typing :: Typed
|
jpayne@69
|
16 Classifier: Programming Language :: Python
|
jpayne@69
|
17 Classifier: Programming Language :: Python :: 3
|
jpayne@69
|
18 Classifier: Programming Language :: Python :: 3.8
|
jpayne@69
|
19 Classifier: Programming Language :: Python :: 3.9
|
jpayne@69
|
20 Classifier: Programming Language :: Python :: 3.10
|
jpayne@69
|
21 Classifier: Programming Language :: Python :: 3.11
|
jpayne@69
|
22 Classifier: Programming Language :: Python :: 3.12
|
jpayne@69
|
23 Classifier: Programming Language :: Python :: 3.13
|
jpayne@69
|
24 Requires-Python: >=3.8
|
jpayne@69
|
25 Description-Content-Type: text/x-rst
|
jpayne@69
|
26 License-File: LICENSE
|
jpayne@69
|
27 Requires-Dist: idna >=2.8
|
jpayne@69
|
28 Requires-Dist: sniffio >=1.1
|
jpayne@69
|
29 Requires-Dist: exceptiongroup >=1.0.2 ; python_version < "3.11"
|
jpayne@69
|
30 Requires-Dist: typing-extensions >=4.1 ; python_version < "3.11"
|
jpayne@69
|
31 Provides-Extra: doc
|
jpayne@69
|
32 Requires-Dist: packaging ; extra == 'doc'
|
jpayne@69
|
33 Requires-Dist: Sphinx ~=7.4 ; extra == 'doc'
|
jpayne@69
|
34 Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
|
jpayne@69
|
35 Requires-Dist: sphinx-autodoc-typehints >=1.2.0 ; extra == 'doc'
|
jpayne@69
|
36 Provides-Extra: test
|
jpayne@69
|
37 Requires-Dist: anyio[trio] ; extra == 'test'
|
jpayne@69
|
38 Requires-Dist: coverage[toml] >=7 ; extra == 'test'
|
jpayne@69
|
39 Requires-Dist: exceptiongroup >=1.2.0 ; extra == 'test'
|
jpayne@69
|
40 Requires-Dist: hypothesis >=4.0 ; extra == 'test'
|
jpayne@69
|
41 Requires-Dist: psutil >=5.9 ; extra == 'test'
|
jpayne@69
|
42 Requires-Dist: pytest >=7.0 ; extra == 'test'
|
jpayne@69
|
43 Requires-Dist: pytest-mock >=3.6.1 ; extra == 'test'
|
jpayne@69
|
44 Requires-Dist: trustme ; extra == 'test'
|
jpayne@69
|
45 Requires-Dist: uvloop >=0.21.0b1 ; (platform_python_implementation == "CPython" and platform_system != "Windows") and extra == 'test'
|
jpayne@69
|
46 Requires-Dist: truststore >=0.9.1 ; (python_version >= "3.10") and extra == 'test'
|
jpayne@69
|
47 Provides-Extra: trio
|
jpayne@69
|
48 Requires-Dist: trio >=0.26.1 ; extra == 'trio'
|
jpayne@69
|
49
|
jpayne@69
|
50 .. image:: https://github.com/agronholm/anyio/actions/workflows/test.yml/badge.svg
|
jpayne@69
|
51 :target: https://github.com/agronholm/anyio/actions/workflows/test.yml
|
jpayne@69
|
52 :alt: Build Status
|
jpayne@69
|
53 .. image:: https://coveralls.io/repos/github/agronholm/anyio/badge.svg?branch=master
|
jpayne@69
|
54 :target: https://coveralls.io/github/agronholm/anyio?branch=master
|
jpayne@69
|
55 :alt: Code Coverage
|
jpayne@69
|
56 .. image:: https://readthedocs.org/projects/anyio/badge/?version=latest
|
jpayne@69
|
57 :target: https://anyio.readthedocs.io/en/latest/?badge=latest
|
jpayne@69
|
58 :alt: Documentation
|
jpayne@69
|
59 .. image:: https://badges.gitter.im/gitterHQ/gitter.svg
|
jpayne@69
|
60 :target: https://gitter.im/python-trio/AnyIO
|
jpayne@69
|
61 :alt: Gitter chat
|
jpayne@69
|
62
|
jpayne@69
|
63 AnyIO is an asynchronous networking and concurrency library that works on top of either asyncio_ or
|
jpayne@69
|
64 trio_. It implements trio-like `structured concurrency`_ (SC) on top of asyncio and works in harmony
|
jpayne@69
|
65 with the native SC of trio itself.
|
jpayne@69
|
66
|
jpayne@69
|
67 Applications and libraries written against AnyIO's API will run unmodified on either asyncio_ or
|
jpayne@69
|
68 trio_. AnyIO can also be adopted into a library or application incrementally – bit by bit, no full
|
jpayne@69
|
69 refactoring necessary. It will blend in with the native libraries of your chosen backend.
|
jpayne@69
|
70
|
jpayne@69
|
71 Documentation
|
jpayne@69
|
72 -------------
|
jpayne@69
|
73
|
jpayne@69
|
74 View full documentation at: https://anyio.readthedocs.io/
|
jpayne@69
|
75
|
jpayne@69
|
76 Features
|
jpayne@69
|
77 --------
|
jpayne@69
|
78
|
jpayne@69
|
79 AnyIO offers the following functionality:
|
jpayne@69
|
80
|
jpayne@69
|
81 * Task groups (nurseries_ in trio terminology)
|
jpayne@69
|
82 * High-level networking (TCP, UDP and UNIX sockets)
|
jpayne@69
|
83
|
jpayne@69
|
84 * `Happy eyeballs`_ algorithm for TCP connections (more robust than that of asyncio on Python
|
jpayne@69
|
85 3.8)
|
jpayne@69
|
86 * async/await style UDP sockets (unlike asyncio where you still have to use Transports and
|
jpayne@69
|
87 Protocols)
|
jpayne@69
|
88
|
jpayne@69
|
89 * A versatile API for byte streams and object streams
|
jpayne@69
|
90 * Inter-task synchronization and communication (locks, conditions, events, semaphores, object
|
jpayne@69
|
91 streams)
|
jpayne@69
|
92 * Worker threads
|
jpayne@69
|
93 * Subprocesses
|
jpayne@69
|
94 * Asynchronous file I/O (using worker threads)
|
jpayne@69
|
95 * Signal handling
|
jpayne@69
|
96
|
jpayne@69
|
97 AnyIO also comes with its own pytest_ plugin which also supports asynchronous fixtures.
|
jpayne@69
|
98 It even works with the popular Hypothesis_ library.
|
jpayne@69
|
99
|
jpayne@69
|
100 .. _asyncio: https://docs.python.org/3/library/asyncio.html
|
jpayne@69
|
101 .. _trio: https://github.com/python-trio/trio
|
jpayne@69
|
102 .. _structured concurrency: https://en.wikipedia.org/wiki/Structured_concurrency
|
jpayne@69
|
103 .. _nurseries: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning
|
jpayne@69
|
104 .. _Happy eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs
|
jpayne@69
|
105 .. _pytest: https://docs.pytest.org/en/latest/
|
jpayne@69
|
106 .. _Hypothesis: https://hypothesis.works/
|