diff options
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 73 |
1 files changed, 61 insertions, 12 deletions
@@ -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> |