METADATA 4.6 KB

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