eventlet-08 /

Filename Size Date modified Message
eventlet
examples
greentest
103 B
Rename the eventlet.support.greenlet module to greenlets to avoid clashing with the pypi greenlet distribution; support the pypi greenlet distribution; port httpc_test to use wsgi instead of httpd; add channel back in because I couldn't get pool to work properly with queue yet
810 B
Added tag 0.8.17 for changeset f031915a05d6
117 B
remove LICENSE from MANIFEST.in since there's no such file
7.6 KB
Improved error reporting when we are on Windows and try to do something that Windows doesn't support. Patch from Nat.
2.6 KB
Merge
7.5 KB
minor updates to README.twisted
147 B
Fold in some api function documentation from Donovan's preliminary guide.
1.1 KB
Brand for 0.8.14

= eventlet =

Eventlet is a networking library written in Python. It achieves high scalability by using non-blocking io while at the same time retaining high programmer usability by using coroutines to make the non-blocking io operations appear blocking at the source code level.

The wiki at http://wiki.secondlife.com/wiki/Eventlet is likely to be a more current source of information than this README. Questions, patches, and general discussion go to the eventlet mailing list: https://lists.secondlife.com/cgi-bin/mailman/listinfo/eventletdev

== requirements ===

Eventlet runs on Python version 2.3 or greater, with the following dependenceis: * http://cheeseshop.python.org/pypi/greenlet * (if running python versions < 2.4) collections.py from the 2.4 distribution or later

== limitations ==

  • Not enough test coverage -- the goal is 100%, but we are not there yet.
  • Eventlet does not currently run on stackless using tasklets, though

it is a goal to do so in the future.

== getting started ==

% python >>> from eventlet import api >>> help(api)

Also, look at the examples in the examples directory.

== eventlet history ==

eventlet began life as Donovan Preston was talking to Bob Ippolito about coroutine-based non-blocking networking frameworks in Python. Most non-blocking frameworks require you to run the "main loop" in order to perform all network operations, but Donovan wondered if a library written using a trampolining style could get away with transparently running the main loop any time i/o was required, stopping the main loop once no more i/o was scheduled. Bob spent a few days during PyCon 2005 writing a proof-of-concept. He named it eventlet, after the coroutine implementation it used, [[greenlet]]. Donovan began using eventlet as a light-weight network library for his spare-time project Pavel, and also began writing some unittests.

When Donovan started at Linden Lab in May of 2006, he added eventlet as an svn external in the indra/lib/python directory, to be a dependency of the yet-to-be-named [[backbone]] project (at the time, it was named restserv). However, including eventlet as an svn external meant that any time the externally hosted project had hosting issues, Linden developers were not able to perform svn updates. Thus, the eventlet source was imported into the linden source tree at the same location, and became a fork.

Bob Ippolito has ceased working on eventlet and has stated his desire for Linden to take its fork forward to the open source world as "the" eventlet.