Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
6c731643
Commit
6c731643
authored
Sep 14, 2018
by
Yury Selivanov
Committed by
GitHub
Sep 14, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bpo-33649: Refresh asyncio docs landing page (GH-9322)
parent
5acccfaf
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
28 deletions
+34
-28
Doc/library/asyncio-future.rst
Doc/library/asyncio-future.rst
+2
-0
Doc/library/asyncio-queue.rst
Doc/library/asyncio-queue.rst
+1
-0
Doc/library/asyncio.rst
Doc/library/asyncio.rst
+31
-28
No files found.
Doc/library/asyncio-future.rst
View file @
6c731643
.. currentmodule:: asyncio
.. currentmodule:: asyncio
.. _asyncio-futures:
=======
=======
Futures
Futures
=======
=======
...
...
Doc/library/asyncio-queue.rst
View file @
6c731643
.. currentmodule:: asyncio
.. currentmodule:: asyncio
.. _asyncio-queues:
======
======
Queues
Queues
...
...
Doc/library/asyncio.rst
View file @
6c731643
...
@@ -6,43 +6,46 @@
...
@@ -6,43 +6,46 @@
--------------
--------------
.. TODO: rewrite the introduction section
asyncio is a library to write **concurrent** code using
**async/await** syntax.
This module provides infrastructure for writing single-threaded concurrent
asyncio is used as a foundation for multiple Python asynchronous
code using coroutines, multiplexing I/O access over sockets and other
frameworks that provide high-performance network and web-servers,
resources, running network clients and servers, and other related primitives.
database connection libraries, distributed task queues, etc.
Here is a more detailed list of the package contents:
* a pluggable :ref:`event loop <asyncio-event-loop>` with various system-specific
asyncio is often a perfect fit for IO-bound and high-level
implementations;
**structured** network code.
* :ref:`transport <asyncio-transport>` and :ref:`protocol <asyncio-protocol>` abstractions
asyncio provides a set of **high-level** APIs to:
(similar to those in `Twisted <https://twistedmatrix.com/trac/>`_);
*
concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls,
and
*
:ref:`run Python coroutines <coroutine>` concurrently
and
others (some may be system-dependent)
;
have full control over their execution
;
* a :class:`Future` class that mimics the one in the :mod:`concurrent.futures`
* perform :ref:`network IO and IPC <asyncio-streams>`;
module, but adapted for use with the event loop;
* coroutines and tasks based on ``yield from`` (:PEP:`380`), to help write
* control :ref:`subprocesses <asyncio-subprocess>`;
concurrent code in a sequential fashion;
*
cancellation support for :class:`Future`\s and coroutines
;
*
distribute tasks via :ref:`queues <asyncio-queues>`
;
* :ref:`synchronization primitives <asyncio-sync>` for use between coroutines in
* :ref:`synchronize <asyncio-sync>` concurrent code;
a single thread, mimicking those in the :mod:`threading` module;
* an interface for passing work off to a threadpool, for times when
as well as **low-level** APIs for *library and framework developers* to:
you absolutely, positively have to use a library that makes blocking
I/O calls.
Asynchronous programming is more complex than classical "sequential"
* create and manage :ref:`event loops <asyncio-event-loop>`, which
programming: see the :ref:`Develop with asyncio <asyncio-dev>` page which lists
provide asynchronous APIs for networking, subprocesses, OS signals,
common traps and explains how to avoid them. :ref:`Enable the debug mode
etc;
<asyncio-debug-mode>` during development to detect common issues.
High-level APIs:
* implement efficient protocols using
:ref:`transports <asyncio-transports-protocols>`;
* :ref:`bridge <asyncio-futures>` callback-based libraries and code
with async/await syntax.
Contents
--------
.. rubric:: High-level APIs
.. toctree::
.. toctree::
:maxdepth: 1
:maxdepth: 1
...
@@ -54,7 +57,7 @@ High-level APIs:
...
@@ -54,7 +57,7 @@ High-level APIs:
asyncio-queue.rst
asyncio-queue.rst
asyncio-exceptions.rst
asyncio-exceptions.rst
Low-level APIs:
.. rubric:: Low-level APIs
.. toctree::
.. toctree::
:maxdepth: 1
:maxdepth: 1
...
@@ -65,7 +68,7 @@ Low-level APIs:
...
@@ -65,7 +68,7 @@ Low-level APIs:
asyncio-policy.rst
asyncio-policy.rst
asyncio-platforms.rst
asyncio-platforms.rst
Guides and Tutorials:
.. rubric:: Guides and Tutorials
.. toctree::
.. toctree::
:maxdepth: 1
:maxdepth: 1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment