METADATA 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. Metadata-Version: 2.4
  2. Name: anyio
  3. Version: 4.13.0
  4. Summary: High-level concurrency and networking framework on top of asyncio or Trio
  5. Author-email: Alex Grönholm <alex.gronholm@nextday.fi>
  6. License-Expression: 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: Framework :: AnyIO
  14. Classifier: Typing :: Typed
  15. Classifier: Programming Language :: Python
  16. Classifier: Programming Language :: Python :: 3
  17. Classifier: Programming Language :: Python :: 3.10
  18. Classifier: Programming Language :: Python :: 3.11
  19. Classifier: Programming Language :: Python :: 3.12
  20. Classifier: Programming Language :: Python :: 3.13
  21. Classifier: Programming Language :: Python :: 3.14
  22. Requires-Python: >=3.10
  23. Description-Content-Type: text/x-rst
  24. License-File: LICENSE
  25. Requires-Dist: exceptiongroup>=1.0.2; python_version < "3.11"
  26. Requires-Dist: idna>=2.8
  27. Requires-Dist: typing_extensions>=4.5; python_version < "3.13"
  28. Provides-Extra: trio
  29. Requires-Dist: trio>=0.32.0; extra == "trio"
  30. Dynamic: license-file
  31. .. image:: https://github.com/agronholm/anyio/actions/workflows/test.yml/badge.svg
  32. :target: https://github.com/agronholm/anyio/actions/workflows/test.yml
  33. :alt: Build Status
  34. .. image:: https://coveralls.io/repos/github/agronholm/anyio/badge.svg?branch=master
  35. :target: https://coveralls.io/github/agronholm/anyio?branch=master
  36. :alt: Code Coverage
  37. .. image:: https://readthedocs.org/projects/anyio/badge/?version=latest
  38. :target: https://anyio.readthedocs.io/en/latest/?badge=latest
  39. :alt: Documentation
  40. .. image:: https://badges.gitter.im/gitterHQ/gitter.svg
  41. :target: https://gitter.im/python-trio/AnyIO
  42. :alt: Gitter chat
  43. .. image:: https://tidelift.com/badges/package/pypi/anyio
  44. :target: https://tidelift.com/subscription/pkg/pypi-anyio
  45. :alt: Tidelift
  46. AnyIO is an asynchronous networking and concurrency library that works on top of either asyncio_ or
  47. Trio_. It implements Trio-like `structured concurrency`_ (SC) on top of asyncio and works in harmony
  48. with the native SC of Trio itself.
  49. Applications and libraries written against AnyIO's API will run unmodified on either asyncio_ or
  50. Trio_. AnyIO can also be adopted into a library or application incrementally – bit by bit, no full
  51. refactoring necessary. It will blend in with the native libraries of your chosen backend.
  52. To find out why you might want to use AnyIO's APIs instead of asyncio's, you can read about it
  53. `here <https://anyio.readthedocs.io/en/stable/why.html>`_.
  54. Documentation
  55. -------------
  56. View full documentation at: https://anyio.readthedocs.io/
  57. Features
  58. --------
  59. AnyIO offers the following functionality:
  60. * Task groups (nurseries_ in trio terminology)
  61. * High-level networking (TCP, UDP and UNIX sockets)
  62. * `Happy eyeballs`_ algorithm for TCP connections (more robust than that of asyncio on Python
  63. 3.8)
  64. * async/await style UDP sockets (unlike asyncio where you still have to use Transports and
  65. Protocols)
  66. * A versatile API for byte streams and object streams
  67. * Inter-task synchronization and communication (locks, conditions, events, semaphores, object
  68. streams)
  69. * Worker threads
  70. * Subprocesses
  71. * Subinterpreter support for code parallelization (on Python 3.13 and later)
  72. * Asynchronous file I/O (using worker threads)
  73. * Signal handling
  74. * Asynchronous version of the functools_ module
  75. AnyIO also comes with its own pytest_ plugin which also supports asynchronous fixtures.
  76. It even works with the popular Hypothesis_ library.
  77. .. _asyncio: https://docs.python.org/3/library/asyncio.html
  78. .. _Trio: https://github.com/python-trio/trio
  79. .. _structured concurrency: https://en.wikipedia.org/wiki/Structured_concurrency
  80. .. _nurseries: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning
  81. .. _Happy eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs
  82. .. _pytest: https://docs.pytest.org/en/latest/
  83. .. _functools: https://docs.python.org/3/library/functools.html
  84. .. _Hypothesis: https://hypothesis.works/
  85. Security contact information
  86. ----------------------------
  87. To report a security vulnerability, please use the `Tidelift security contact`_.
  88. Tidelift will coordinate the fix and disclosure.
  89. .. _Tidelift security contact: https://tidelift.com/security