Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

128 righe
3.9 KiB

  1. Metadata-Version: 1.1
  2. Name: uvloop
  3. Version: 0.13.0
  4. Summary: Fast implementation of asyncio event loop on top of libuv
  5. Home-page: http://github.com/MagicStack/uvloop
  6. Author: Yury Selivanov
  7. Author-email: yury@magic.io
  8. License: MIT
  9. Description-Content-Type: UNKNOWN
  10. Description: .. image:: https://travis-ci.org/MagicStack/uvloop.svg?branch=master
  11. :target: https://travis-ci.org/MagicStack/uvloop
  12. .. image:: https://img.shields.io/pypi/v/uvloop.svg
  13. :target: https://pypi.python.org/pypi/uvloop
  14. .. image:: https://pepy.tech/badge/uvloop
  15. :target: https://pepy.tech/project/uvloop
  16. :alt: PyPI - Downloads
  17. uvloop is a fast, drop-in replacement of the built-in asyncio
  18. event loop. uvloop is implemented in Cython and uses libuv
  19. under the hood.
  20. The project documentation can be found
  21. `here <http://uvloop.readthedocs.org/>`_. Please also check out the
  22. `wiki <https://github.com/MagicStack/uvloop/wiki>`_.
  23. Performance
  24. -----------
  25. uvloop makes asyncio 2-4x faster.
  26. .. image:: performance.png
  27. :target: http://magic.io/blog/uvloop-blazing-fast-python-networking/
  28. The above chart shows the performance of an echo server with different
  29. message sizes. The *sockets* benchmark uses ``loop.sock_recv()`` and
  30. ``loop.sock_sendall()`` methods; the *streams* benchmark uses asyncio
  31. high-level streams, created by the ``asyncio.start_server()`` function;
  32. and the *protocol* benchmark uses ``loop.create_server()`` with a simple
  33. echo protocol. Read more about uvloop in a
  34. `blog post <http://magic.io/blog/uvloop-blazing-fast-python-networking/>`_
  35. about it.
  36. Installation
  37. ------------
  38. uvloop requires Python 3.5 or greater and is available on PyPI.
  39. Use pip to install it::
  40. $ pip install uvloop
  41. Using uvloop
  42. ------------
  43. To make asyncio use uvloop, you can install the uvloop event
  44. loop policy:
  45. .. code:: python
  46. import asyncio
  47. import uvloop
  48. asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
  49. or, starting with uvloop 0.12:
  50. .. code:: python
  51. import uvloop
  52. uvloop.install()
  53. Building From Source
  54. --------------------
  55. To build uvloop, you'll need Python 3.5 or greater:
  56. 1. Clone the repository:
  57. .. code::
  58. $ git clone --recursive git@github.com:MagicStack/uvloop.git
  59. $ cd uvloop
  60. 2. Create a virtual environment and activate it:
  61. .. code::
  62. $ python3.7 -m venv uvloop-dev
  63. $ source uvloop-dev/bin/activate
  64. 3. Install development dependencies:
  65. .. code::
  66. $ pip install -r requirements.dev.txt
  67. 4. Build and run tests:
  68. .. code::
  69. $ make
  70. $ make test
  71. License
  72. -------
  73. uvloop is dual-licensed under MIT and Apache 2.0 licenses.
  74. Platform: *nix
  75. Classifier: Development Status :: 5 - Production/Stable
  76. Classifier: Framework :: AsyncIO
  77. Classifier: Programming Language :: Python :: 3 :: Only
  78. Classifier: Programming Language :: Python :: 3.5
  79. Classifier: Programming Language :: Python :: 3.6
  80. Classifier: Programming Language :: Python :: 3.7
  81. Classifier: License :: OSI Approved :: Apache Software License
  82. Classifier: License :: OSI Approved :: MIT License
  83. Classifier: Intended Audience :: Developers
  84. Provides: uvloop