RETIRED, further work has moved to Debian project infrastructure
Go to file
2013-08-04 16:39:58 +04:00
benchmarks Refactored spawn_plot to not use the with-statement, so we can install the dev version of eventlet on 2.4. 2010-04-17 16:19:00 -07:00
doc doc: add Google Analytics tracking code 2013-08-04 16:39:58 +04:00
eventlet wsgi: handle connection socket timeouts 2013-07-09 22:20:42 +04:00
examples examples: webcrawler: urls tuple->list + more style fixes 2013-01-04 04:27:30 +04:00
tests wsgi: handle connection socket timeouts 2013-07-09 22:20:42 +04:00
.hgignore Add an initial basic tox configuration file 2012-08-07 00:46:58 +01:00
.travis.yml Travis: Allow independent tests to run in parallel 2013-04-13 20:18:11 +01:00
AUTHORS 0.13 release (branding) 2013-07-02 20:19:32 +04:00
build-website.bash build-website script for easy update of eventlet.net and online documentation (on Github pages) 2013-01-08 05:12:02 +04:00
LICENSE Updated LICENSE dates. 2010-02-20 15:07:31 -05:00
MANIFEST.in Adding websocket.html to tarball, thanks to creiht for noticing it went missing. 2010-08-06 18:30:58 -07:00
NEWS 0.13 release (branding) 2013-07-02 20:19:32 +04:00
README doc: fix bitbucket links after relocation to separate account 2013-04-09 00:12:32 +04:00
README.twisted Fixed a buncha things noticed during a code review. 2010-01-18 17:19:23 -08:00
setup.py setup: greenlet is actually required, remove --without-greenlet option, remove unused httplib2 test dependency; Thanks to Thomas Grainger 2013-01-24 02:09:34 +04:00
tox.ini tox: run tests with newer versions of optional dependencies 2013-07-11 19:24:34 +04:00

Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it.

It uses epoll or libevent for highly scalable non-blocking I/O.  Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O.  The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application.

It's easy to get started using Eventlet, and easy to convert existing 
applications to use it.  Start off by looking at the `examples`_, 
`common design patterns`_, and the list of `basic API primitives`_.

.. _examples: http://eventlet.net/doc/examples.html
.. _common design patterns: http://eventlet.net/doc/design_patterns.html
.. _basic API primitives: http://eventlet.net/doc/basic_usage.html

Quick Example
===============

Here's something you can try right on the command line::

    % python
    >>> import eventlet 
    >>> from eventlet.green import urllib2
    >>> gt = eventlet.spawn(urllib2.urlopen, 'http://eventlet.net')
    >>> gt2 = eventlet.spawn(urllib2.urlopen, 'http://secondlife.com')
    >>> gt2.wait()
    >>> gt.wait()


Getting Eventlet
==================

The easiest way to get Eventlet is to use easy_install or pip::

  easy_install eventlet
  pip install eventlet

The development `tip`_ is available via easy_install as well::

  easy_install 'eventlet==dev'
  pip install 'eventlet==dev'

.. _tip: http://bitbucket.org/eventlet/eventlet/get/tip.zip#egg=eventlet-dev

Building the Docs Locally
=========================

To build a complete set of HTML documentation, you must have Sphinx, which can be found at http://sphinx.pocoo.org/ (or installed with `easy_install sphinx`)

  cd doc
  make html
  
The built html files can be found in doc/_build/html afterward.