
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
This version is only relevant for Python 3.3, which does not include asyncio in its stdlib.
Master repo: https://github.com/python/asyncio
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 in Twisted);
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.
Note: The implementation of asyncio was previously called "Tulip".
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.
asyncio project at GitHub <https://github.com/python/asyncio>
_: source
code, bug trackerasyncio documentation <https://docs.python.org/dev/library/asyncio.html>
_python-tulip Google Group <https://groups.google.com/forum/?fromgroups#!forum/python-tulip>
_#asyncio
channel on the Freenode networkThe 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).
You must first build the _overlapped.pyd extension and have it placed in the asyncio directory, as follows:
C> P setup.py build_ext --inplace
If this complains about vcvars.bat, you probably don't have the required version of Visual Studio installed. Compiling extensions for Python 3.3 requires Microsoft Visual C++ 2010 (MSVC 10.0) of any edition; you can download Visual Studio Express 2010 for free from http://www.visualstudio.com/downloads (scroll down to Visual C++ 2010 Express).
Once you have built the _overlapped.pyd extension successfully you can run the tests as follows:
C> P runtests.py
And coverage as follows:
C> P runtests.py --coverage
FAQs
reference implementation of PEP 3156
We found that asyncio demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.