diff options
author | Guido van Rossum <guido@google.com> | 2012-12-17 20:30:02 -0800 |
---|---|---|
committer | Guido van Rossum <guido@google.com> | 2012-12-17 20:30:02 -0800 |
commit | ac06d90704460762fd6d1384f7730ca7eff21986 (patch) | |
tree | 9f9850023452807d0da25d607c9ce31f768adf41 /README | |
parent | 4e0e1eebaa0e8c10d7f4a1d39bb0ca28fe88589a (diff) | |
download | trollius-ac06d90704460762fd6d1384f7730ca7eff21986.tar.gz |
Update README
Diffstat (limited to 'README')
-rw-r--r-- | README | 53 |
1 files changed, 20 insertions, 33 deletions
@@ -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> |