METADATA 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. Metadata-Version: 2.0
  2. Name: gevent
  3. Version: 1.2.2
  4. Summary: Coroutine-based network library
  5. Home-page: http://www.gevent.org/
  6. Author: Jason Madden
  7. Author-email: jason@nextthought.com
  8. License: MIT
  9. Keywords: greenlet coroutine cooperative multitasking light threads monkey
  10. Platform: UNKNOWN
  11. Classifier: License :: OSI Approved :: MIT License
  12. Classifier: Programming Language :: Python :: 2.7
  13. Classifier: Programming Language :: Python :: 3.3
  14. Classifier: Programming Language :: Python :: 3.4
  15. Classifier: Programming Language :: Python :: 3.5
  16. Classifier: Programming Language :: Python :: 3.6
  17. Classifier: Programming Language :: Python :: Implementation :: CPython
  18. Classifier: Programming Language :: Python :: Implementation :: PyPy
  19. Classifier: Operating System :: MacOS :: MacOS X
  20. Classifier: Operating System :: POSIX
  21. Classifier: Operating System :: Microsoft :: Windows
  22. Classifier: Topic :: Internet
  23. Classifier: Topic :: Software Development :: Libraries :: Python Modules
  24. Classifier: Intended Audience :: Developers
  25. Classifier: Development Status :: 4 - Beta
  26. Requires-Dist: greenlet (>=0.4.10)
  27. ========
  28. gevent
  29. ========
  30. gevent_ is a coroutine-based Python networking library.
  31. Features include:
  32. * Fast event loop based on libev_.
  33. * Lightweight execution units based on greenlet_.
  34. * Familiar API that re-uses concepts from the Python standard library.
  35. * Cooperative sockets with SSL support.
  36. * DNS queries performed through c-ares_ or a threadpool.
  37. * Ability to use standard library and 3rd party modules written for standard blocking sockets
  38. gevent is `inspired by eventlet`_ but features more consistent API,
  39. simpler implementation and better performance. Read why others `use
  40. gevent`_ and check out the list of the `open source projects based on
  41. gevent`_.
  42. gevent is licensed under the MIT license.
  43. See `what's new`_ in the latest major release.
  44. Check out the detailed changelog_ for this version.
  45. Get gevent
  46. ==========
  47. gevent runs on Python >= 2.7, Python >= 3.4, or PyPy >= 5.5 (including
  48. PyPy2 and PyPy3) (*Note*: PyPy is not supported in Windows). On all
  49. platforms, installing setuptools is required (this is done
  50. automatically if working in a virtual environment).
  51. You can use pip to install gevent::
  52. pip install gevent
  53. .. tip:: You need Pip 8.0 or later to install the binary wheels.
  54. Download the latest release from `Python Package Index`_ or clone `the repository`_.
  55. Read the documentation online at http://www.gevent.org. Additional
  56. installation information can be found `here <http://www.gevent.org/intro.html#installation-and-requirements>`_.
  57. Post feedback and issues on the `bug tracker`_, `mailing list`_, blog_
  58. and `twitter (@gevent)`_.
  59. Development
  60. ===========
  61. To install the latest development version::
  62. pip install setuptools 'cython>=0.25' git+git://github.com/gevent/gevent.git#egg=gevent
  63. To hack on gevent (using a virtualenv)::
  64. $ git clone https://github.com/gevent/gevent.git
  65. $ cd gevent
  66. $ virtualenv env
  67. $ source env/bin/activate
  68. (env) $ pip install -r dev-requirements.txt
  69. .. note::
  70. You must have Cython, GNU Make, a C compiler, and the Python
  71. development headers installed to build a checkout. Installing CFFI
  72. on CPython (it's standard on PyPy) allows building the CFFI backend
  73. for testing, and tox is the command used to test multiple versions
  74. of Python.
  75. BSD based systems like FreeBSD and OpenBSD often have BSD Make on
  76. the PATH as the default ``make`` command, but building gevent from a
  77. source checkout (not a source tarball distributed on PyPI) requires
  78. GNU Make. GNU Make is often called ``gmake``. If you experience
  79. Makefile-related problems building gevent from source on one of
  80. these platforms, you can set the ``MAKE`` environment variable to
  81. the executable that invokes GNU Make. For example::
  82. $ MAKE=gmake python ./setup.py install
  83. Running Tests
  84. -------------
  85. There are a few different ways to run the tests. To simply run the
  86. tests on one version of Python during development, try this::
  87. python setup.py develop
  88. cd src/greentest
  89. PYTHONPATH=.. python testrunner.py --config known_failures.py
  90. Before submitting a pull request, it's a good idea to run the tests
  91. across all supported versions of Python, and to check the code quality
  92. using prospector. This is what is done on Travis CI. Locally it
  93. can be done using tox::
  94. pip install tox
  95. tox
  96. The testrunner accepts a ``--coverage`` argument to enable code
  97. coverage metrics through the `coverage.py`_ package. That would go
  98. something like this::
  99. cd src/greentest
  100. PYTHONPATH=.. python testrunner.py --config known_failures.py --coverage
  101. coverage combine
  102. coverage html -i
  103. <open htmlcov/index.html>
  104. Builds on Travis CI automatically submit updates to `coveralls.io`_ to
  105. monitor test coverage.
  106. .. image:: https://coveralls.io/repos/gevent/gevent/badge.svg?branch=master&service=github
  107. :target: https://coveralls.io/github/gevent/gevent?branch=master
  108. Likewise, builds on Travis CI will automatically submit updates to
  109. `landscape.io`_ to monitor code health (adherence to PEP8, absence of
  110. common code smells, etc).
  111. .. image:: https://landscape.io/github/gevent/gevent/master/landscape.svg?style=flat
  112. :target: https://landscape.io/github/gevent/gevent/master
  113. :alt: Code Health
  114. .. note:: On Debian, you will probably need ``libpythonX.Y-testsuite``
  115. installed to run all the tests.
  116. Continuous integration
  117. ----------------------
  118. A test suite is run for every push and pull request submitted. Travis
  119. CI is used to test on Linux, and `AppVeyor`_ runs the builds on
  120. Windows.
  121. .. image:: https://travis-ci.org/gevent/gevent.svg?branch=master
  122. :target: https://travis-ci.org/gevent/gevent
  123. .. image:: https://ci.appveyor.com/api/projects/status/q4kl21ng2yo2ixur?svg=true
  124. :target: https://ci.appveyor.com/project/denik/gevent
  125. .. _gevent: http://www.gevent.org
  126. .. _greenlet: http://pypi.python.org/pypi/greenlet
  127. .. _libev: http://libev.schmorp.de/
  128. .. _c-ares: http://c-ares.haxx.se/
  129. .. _inspired by eventlet: http://blog.gevent.org/2010/02/27/why-gevent/
  130. .. _use gevent: http://groups.google.com/group/gevent/browse_thread/thread/4de9703e5dca8271
  131. .. _open source projects based on gevent: https://github.com/gevent/gevent/wiki/Projects
  132. .. _Python Package Index: http://pypi.python.org/pypi/gevent
  133. .. _the repository: https://github.com/gevent/gevent
  134. .. _bug tracker: https://github.com/gevent/gevent/wiki/Projects
  135. .. _mailing list: http://groups.google.com/group/gevent
  136. .. _blog: http://blog.gevent.org
  137. .. _twitter (@gevent): http://twitter.com/gevent
  138. .. _coverage.py: https://pypi.python.org/pypi/coverage/
  139. .. _coveralls.io: https://coveralls.io/github/gevent/gevent
  140. .. _AppVeyor: https://ci.appveyor.com/project/denik/gevent
  141. .. _what's new: http://www.gevent.org/whatsnew_1_2.html
  142. .. _changelog: http://www.gevent.org/changelog.html
  143. .. _landscape.io: https://landscape.io/github/gevent/gevent