summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorGuido van Rossum <guido@google.com>2012-12-17 20:30:02 -0800
committerGuido van Rossum <guido@google.com>2012-12-17 20:30:02 -0800
commitac06d90704460762fd6d1384f7730ca7eff21986 (patch)
tree9f9850023452807d0da25d607c9ce31f768adf41 /README
parent4e0e1eebaa0e8c10d7f4a1d39bb0ca28fe88589a (diff)
downloadtrollius-ac06d90704460762fd6d1384f7730ca7eff21986.tar.gz
Update README
Diffstat (limited to 'README')
-rw-r--r--README53
1 files changed, 20 insertions, 33 deletions
diff --git a/README b/README
index abfad62..94210f1 100644
--- a/README
+++ b/README
@@ -1,43 +1,30 @@
-Tulip is the codename for my attempt at understanding PEP-380 style
-coroutines (i.e. those using generators and 'yield from').
+Tulip is the codename for my reference implementation of PEP 3156.
-*** 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
-their subject, and the various spin-off threads.
+PEP 3156: http://www.python.org/dev/peps/pep-3156/
-A particularly influential tutorial by Greg Ewing:
-http://www.cosc.canterbury.ac.nz/greg.ewing/python/generators/yf_current/Examples/Scheduler/scheduler.txt
-
-A message I posted with some explanation of the design:
-http://mail.python.org/pipermail/python-ideas/2012-October/017501.html
+*** This requires Python 3.3 or later! ***
-Essential files here (in top-to-bottom ordering):
+Copyright/license: Open source, Apache 2.0. Enjoy.
-- main.py: the main program for testing
-- http_client.py: a rough HTTP/1.0 client
-- sockets.py: transports for sockets and (client) 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()
+Master Mercurial repo: http://code.google.com/p/tulip/
-Secondary files:
+The old code lives at the toplevel directory; the new code (conforming
+to PEP 3156, under construction) lives in the tulip subdirectory.
-- .hgignore: files I don't care about
-- Makefile: various quick shell commands
-- README: this file
-- TODO: longer list of TODO items and general thoughts
-- http_server.py: enough of an HTTP server to point 'ab' at
-- longlines.py: stupid style checker
-- p3time.py: benchmark yield from vs. plain functions
-- tulip_bench.py: yet another benchmark (like p3time.py and yyftime.py)
-- xkcd.py: *synchronous* ssl example
-- yyftime.py: benchmark yield from vs. yield <future>
+To run tests:
+ - make test
-Copyright/license: Open source, Apache 2.0. Enjoy.
+To run coverage (after installing coverage3, see below):
+ - make coverage
-Master Mercurial repo: http://code.google.com/p/tulip/
+To install coverage3 (coverage.py for Python 3), you need:
+ - Distribute (http://packages.python.org/distribute/)
+ - Coverage (http://nedbatchelder.com/code/coverage/)
+ What worked for me:
+ - curl -O http://python-distribute.org/distribute_setup.py
+ - python3 distribute_setup.py
+ - <dowload and untar the coverage.py source distro>
+ - cd coveragepy
+ - python3 setup.py install
--Guido van Rossum <guido@python.org>