summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2015-07-06 22:03:43 +0200
committerVictor Stinner <vstinner@redhat.com>2015-07-06 22:03:43 +0200
commit728a91239123913b9161e8ca174cf86288f8c7d7 (patch)
treeadd05b145c1d8411789273761d166c9b497953a6
parente802f173aa273d44153583d21508abf998128211 (diff)
downloadtrollius-git-728a91239123913b9161e8ca174cf86288f8c7d7.tar.gz
Rerite README
* copy introduction from asyncio doc: explain what is asyncio * link to mailing list, IRC * explain how to install asyncio
-rw-r--r--README.rst73
1 files changed, 61 insertions, 12 deletions
diff --git a/README.rst b/README.rst
index 036bd5d..629368e 100644
--- a/README.rst
+++ b/README.rst
@@ -1,21 +1,71 @@
-Tulip is the codename for my reference implementation of PEP 3156.
+The asyncio module provides infrastructure for writing single-threaded
+concurrent code using coroutines, multiplexing I/O access over sockets and
+other resources, running network clients and servers, and other related
+primitives. Here is a more detailed list of the package contents:
-PEP 3156: http://www.python.org/dev/peps/pep-3156/
+* a pluggable event loop with various system-specific implementations;
-**This requires Python 3.3 or later!**
+* transport and protocol abstractions (similar to those in Twisted);
-Copyright/license: Open source, Apache 2.0. Enjoy.
+* concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and
+ others (some may be system-dependent);
-Master GitHub repo: https://github.com/python/asyncio
+* a Future class that mimics the one in the concurrent.futures module, but
+ adapted for use with the event loop;
-The actual code lives in the 'asyncio' subdirectory.
-Tests are in the 'tests' subdirectory.
+* coroutines and tasks based on ``yield from`` (PEP 380), to help write
+ concurrent code in a sequential fashion;
-To run tests:
- - make test
+* cancellation support for Futures and coroutines;
-To run coverage (coverage package is required):
- - make coverage
+* synchronization primitives for use between coroutines in a single thread,
+ mimicking those in the threading module;
+
+* an interface for passing work off to a threadpool, for times when you
+ absolutely, positively have to use a library that makes blocking I/O calls.
+
+
+Installation
+============
+
+To install asyncio, type::
+
+ pip install asyncio
+
+asyncio requires Python 3.3 or later! The asyncio module is part of the Python
+standard library since Python 3.4.
+
+asyncio is a free software distributed under the Apache license version 2.0.
+
+
+Websites
+========
+
+* `asyncio project at GitHub <https://github.com/python/asyncio>`_: source
+ code, bug tracker
+* `asyncio documentation <https://docs.python.org/dev/library/asyncio.html>`_
+* Mailing list: `python-tulip Google Group
+ <https://groups.google.com/forum/?fromgroups#!forum/python-tulip>`_
+* IRC: join the ``#asyncio`` channel on the Freenode network
+
+
+Development
+===========
+
+The actual code lives in the 'asyncio' subdirectory. Tests are in the 'tests'
+subdirectory.
+
+To run tests, run::
+
+ tox
+
+Or use the Makefile::
+
+ make test
+
+To run coverage (coverage package is required)::
+
+ make coverage
On Windows, things are a little more complicated. Assume 'P' is your
Python binary (for example C:\Python33\python.exe).
@@ -41,4 +91,3 @@ And coverage as follows:
C> P runtests.py --coverage
---Guido van Rossum <guido@python.org>