diff --git a/doc/real_index.html b/doc/real_index.html index db83388..e272595 100644 --- a/doc/real_index.html +++ b/doc/real_index.html @@ -1,13 +1,13 @@ - + - +
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it.
It's easy to get started using Eventlet, and easy to convert existing applications to use it. Start off by looking at examples, common design patterns, and the list of the basic API primitives.
+It's easy to get started using Eventlet, and easy to convert existing applications to use it. Start off by looking at examples, common design patterns, and the list of the basic API primitives.
+ +License: MIT.
To install eventlet, simply:
-easy_install eventlet +pip install eventlet-
Alternately, you can download the source tarball from PyPi: +
Alternately, you can download the source tarball:
eventletdev at lists.secondlife.com
+eventletdev at lists.secondlife.com
+This is a low traffic list about using and developing Eventlet. Look through the archives for some useful information and possible answers to questions.
+This is a relatively low-traffic list about using and developing eventlet. Look through the archives for some useful information and possible answers to questions.
- -There's an IRC channel dedicated to eventlet: #eventlet on freenode. It's a pretty chill place to hang out!
Both repositories are equal and kept in sync. + You can use whichever you fancy for downloading, forking, reporting issues and submitting pull requests.
+ ++subsystem: description of why the change is useful + +optional details or links to related issues or websites ++ The why part is very important. Diff already says what you have done. But nobody knows why. +
If you don't like these rules, raw patches are more than welcome!
-We use Mercurial for our source control, hosted by BitBucket. It's easy to branch off the main repository and contribute patches, tests, and documentation back upstream.
Please be sure to report bugs as effectively as possible, to ensure that we understand and act on them quickly.
+ +You may report bugs via: +
No registration is required. Please be sure to report bugs as effectively as possible, to ensure that we understand and act on them quickly.
This is a simple web “crawler” that fetches a bunch of urls using a coroutine pool. It has as much concurrency (i.e. pages being fetched simultaneously) as coroutines in the pool.
-urls = ["http://www.google.com/intl/en_ALL/images/logo.gif",
- "https://wiki.secondlife.com/w/images/secondlife.jpg",
- "http://us.i1.yimg.com/us.yimg.com/i/ww/beta/y3.gif"]
+import eventlet
+from eventlet.green import urllib2
-import eventlet
-from eventlet.green import urllib2
-def fetch(url):
+urls = [
+ "http://www.google.com/intl/en_ALL/images/logo.gif",
+ "https://wiki.secondlife.com/w/images/secondlife.jpg",
+ "http://us.i1.yimg.com/us.yimg.com/i/ww/beta/y3.gif",
+]
- return urllib2.urlopen(url).read()
-pool = eventlet.GreenPool()
+def fetch(url):
+ return urllib2.urlopen(url).read()
+
+
+pool = eventlet.GreenPool()
+
+for body in pool.imap(fetch, urls):
+ print "got body", len(body)
+
-for body in pool.imap(fetch, urls):
- print "got body", len(body)
-