summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2012-10-29 10:41:25 -0700
committerGuido van Rossum <guido@python.org>2012-10-29 10:41:25 -0700
commit54de22d7c4796a364f88601ee4c91c0f359cff77 (patch)
treea34ea58a225b1eedd1d04323ba661c32583372cb /README
parenta492cf8505aa63ec92a0a20681255bffc785530c (diff)
downloadtrollius-54de22d7c4796a364f88601ee4c91c0f359cff77.tar.gz
Update README, add TODO and xkcd.py.
Diffstat (limited to 'README')
-rw-r--r--README29
1 files changed, 27 insertions, 2 deletions
diff --git a/README b/README
index 35541bc..1339d06 100644
--- a/README
+++ b/README
@@ -1,5 +1,7 @@
Tulip is the codename for my attempt at understanding PEP-380 style
-coroutines (i.e. those using generators and 'yield from').
+coroutines (i.e. those using generators and 'yield from').
+
+*** This requires Python 3.3 or later! ***
For reference, see many threads in python-ideas@python.org started in
October 2012, especially those with "The async API of the Future" in
@@ -8,8 +10,31 @@ their subject, and the various spin-off threads.
A particularly influential tutorial by Greg Ewing:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/generators/yf_current/Examples/Scheduler/scheduler.txt
-Python version: 3.3.
+A message I posted with some explanation of the design:
+http://mail.python.org/pipermail/python-ideas/2012-October/017501.html
+
+Essential files here:
+
+- main.py: the main program for testing, and a rough HTTP client
+- sockets.py: transports for sockets and SSL, and a buffering layer
+- scheduling.py: a Task class and related stuff; this is where the PEP
+ 380 scheduler is implemented
+- polling.py: an event loop and basic polling implementations for:
+ select(), poll(), epoll(), kqueue()
+
+Secondary files:
+
+- .hgignore: files I don't care about
+- Makefile: various quick shell commands
+- README: this file
+- TODO: longer list of TODO items and general thoughts
+- longlines.py: stupid style checker
+- p3time.py: benchmark yield from vs. plain functions
+- xkcd.py: *synchronous* ssl example
+- yyftime.py: benchmark yield from vs. yield <future>
Copyright/license: Open source, Apache 2.0. Enjoy.
+Master Mercurial repo: http://code.google.com/p/tulip/
+
--Guido van Rossum <guido@python.org>