Coder Social home page Coder Social logo

wujuguang / gevent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gevent/gevent

0.0 1.0 0.0 7.75 MB

Coroutine-based concurrency library for Python

Home Page: http://gevent.org

License: Other

Makefile 0.15% Shell 7.49% C 26.20% Awk 0.03% Python 65.88% PowerShell 0.16% Batchfile 0.09%

gevent's Introduction

gevent

gevent is a coroutine-based Python networking library.

Features include:

  • Fast event loop based on libev.
  • Lightweight execution units based on greenlet.
  • Familiar API that re-uses concepts from the Python standard library.
  • Cooperative sockets with SSL support.
  • DNS queries performed through c-ares or a threadpool.
  • Ability to use standard library and 3rd party modules written for standard blocking sockets

gevent is inspired by eventlet but features more consistent API, simpler implementation and better performance. Read why others use gevent and check out the list of the open source projects based on gevent.

gevent is licensed under MIT license.

Get gevent

Install Python 2.6, 2.7, 3.3 or 3.4 along with the greenlet extension (Python 3.5 has preliminary support). Or install PyPy 4.0.1 or above (but not PyPy3) (note: PyPy is not supported in Windows). On all platforms, installing setuptools is recommended (this is done automatically if working in a virtual environment).

Download the latest release from Python Package Index or clone the repository.

Read the documentation online at http://www.gevent.org

Post feedback and issues on the bug tracker, mailing list, blog and twitter (@gevent).

Development

To install the latest development version:

pip install setuptools 'cython>=0.23.4' git+git://github.com/gevent/gevent.git#egg=gevent

Note

You must have Cython installed to build a checkout.

Running Tests

There are a few different ways to run the tests. To simply run the tests on one version of Python during development, try this:

pip install setuptools cython>=0.23.4
python setup.py build
cd greentest
PYTHONPATH=.. python testrunner.py --config ../known_failures.py

Before submitting a pull request, it's a good idea to run the tests across all supported versions of Python, and to check the code quality using pep8 and pyflakes. This is what is done on Travis CI. Locally it can be done using tox:

pip install tox
tox

The testrunner accepts a --coverage argument to enable code coverage metrics through the coverage.py package. That would go something like this:

cd greentest
PYTHONPATH=.. python testrunner.py --config ../known_failures.py --coverage
coverage combine
coverage html -i
<open htmlcov/index.html>

Builds on Travis CI automatically submit updates to coveralls.io.

image

Continuous integration

A test suite is run for every push and pull request submitted. Travis CI is used to test on Linux, and AppVeyor runs the builds on Windows.

image

image

gevent's People

Contributors

denik avatar jamadden avatar schmir avatar fantix avatar toffaletti avatar snaury avatar mbarkhau avatar saghul avatar ivoz avatar geertj avatar sublee avatar adieu avatar thedrow avatar lericson avatar jgehrcke avatar eugeny avatar bpowers avatar obeattie avatar segfault87 avatar pshc avatar awsum avatar romuald avatar sopel avatar sprin avatar tomislater avatar yuyichao avatar yprez avatar ashutosh-mishra avatar mikemccabe avatar mouadino avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.