This repository was archived by the owner on Nov 23, 2017. It is now read-only.
Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork177
Home
Victor Stinner edited this pageJul 6, 2015 ·3 revisions
The Tulip project is theasyncio module for Python 3.3. Since Python 3.4, asyncio is now part of the standard library.
Help:
- asyncio documentation
- asyncio examples
- Mailing list:python-tulip Google Group
- IRC:
#asyncio
channel on theFreenode network
Pages:
- Contributing: To contribute.
- ThirdParty: A list of 3rd party integrations with asyncio.
- Benchmarks: asyncio benchmarks
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:
- a pluggable event loop with various system-specific implementations;
- transport and protocol abstractions (similar to those inTwisted);
- concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and others (some may be system-dependent);
- a Future class that mimics the one in the concurrent.futures module, but adapted for use with the event loop;
- coroutines and tasks based on
yield from
(PEP 380), to help write concurrent code in a sequential fashion; - cancellation support for Futures and coroutines;
- 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.
Hello World using an asyncio coroutine:
import asyncio@asyncio.coroutinedef hello_world(): print("Hello World!")loop = asyncio.get_event_loop()loop.run_until_complete(hello_world())loop.close()
For AsyncIO on Python 2, see thetrollius project.