mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
gh-137026: Add an explainer guide for asyncio (GH-137215)
* - Add an explainer guide (aka HOWTO, not how-to) for asyncio.
* Fix linter errors.
* - Enforce max line length of roughly 79 chars.
- Start sentences on new lines to minimize disruption of diffs.
* Add reference to subinterpreters.
* - Significantly reduce article size. Remove both example sections & "Which concurrency do I want" section.
* Align section-header lengths with section names.
* - Remove reference to deleted section.
* - Fix a variety of rote style guide items like title-alignment, use of ie and $, and so forth.
- Add links to other parts of the docs for keywords and objects like await, coro, task, future, etc.
* - One last title alignment.
* - Style nit.
* - Rework a variety of I statements.
* Lint fix.
* - Firm up commentary on yield from in corotuines.
* Update language comparing await and yield from.
* - Remove await-ing Tasks and futures section
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* - Address comments related to style & writing flow.
* per-thread event loop note.
* Add section describing coroutines roots in generators.
* Phrasing tweak.
* Use asyncio.create_task instead of asyncio.Task
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* small phrasing.
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* phrasing nit.
* style nits
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* phrasing nit
* Fix misnaming of async generator.
* phrasing nits.
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* consistent spacing
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* phrasing nits
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* add conclusion
* nits
* - Variety of style & grammar improvements thanks to ZeroIntensity's comments.
* - Make all directives start with a 3 space indent. Then 4 thereafter.
* - Use :linenos: instead of manually writing the line numbers.
* - Fix label typo for article.
* fix label link.
* Apply suggestions from code review
* - introduce async-sleep name
* Phrasing
* nit
* ungendered octopus
* teammates
* jobs
* rework fella to penguin
* - remove byline; add seealso
* Change ref from asyncio to use seealso block.
* Remove typehints. Fix indentation in one code example.
* Slight rephrase for clarity.
* Make references point to asyncio. Wrap some long lines.
* - Variety of style/phrasing improvements based on PR feedback.
* phrasing.
* phrasing nit.
* Apply suggestions from code review
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* nit
* Apply suggestions from code review
* fix backticks.
* nits
* nit
* add section on asyncio.run
* title change under the hood.
* modify task coro example.
* howtos article link.
* prefer await without backticks.
* phrasing tweak.
* Rework phrasing around how await tasks pauses and returns control in the await section.
* move code block to beforfe explanation in coroutine under the hood.
* phrasing.
* link to yield from.
* style nits
* nit
* - Modify language re: event-loop cycling endlessly.
- Discuss why await was designed to not yield for coros.
* - Add a note about debug=True on asyncio.run to await coro section.
* clarity nit
* - Add two other references in seealso block.
* nit
* Language simplification
* Apply suggestions from code review
* nit
* grammar fix.
* fix
* worker bees
* rework event loop paragraph to significantly deemphasize queues
* remove all references to queue besides the initial analogy.
* add note about garbage collection of tasks
* add practical note re: garbage collection
* phrasing nits
* re arrange note on task gc.
* line wrap nit
* Update Doc/howto/a-conceptual-overview-of-asyncio.rst
* link to debug mode docs.
* readd part2 prefix.
* simplify title.
* fix titles. tihnk I messed this up earlier.
* avoid idiom in title.
* fix titles once agian.
* Apply suggestions from code review
* rework task gc example.
* phrasing tweak.
* tewak.
* nit
* nit
* nit
* nit
---------
(cherry picked from commit 3964f97489)
Co-authored-by: Alexander Nordin <alexander.f.nordin@gmail.com>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
72 lines
1.5 KiB
ReStructuredText
72 lines
1.5 KiB
ReStructuredText
.. _how-tos:
|
|
|
|
***************
|
|
Python HOWTOs
|
|
***************
|
|
|
|
Python HOWTOs are documents that cover a specific topic in-depth.
|
|
Modeled on the Linux Documentation Project's HOWTO collection, this collection is an
|
|
effort to foster documentation that's more detailed than the
|
|
Python Library Reference.
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:hidden:
|
|
|
|
a-conceptual-overview-of-asyncio.rst
|
|
cporting.rst
|
|
curses.rst
|
|
descriptor.rst
|
|
gdb_helpers.rst
|
|
enum.rst
|
|
functional.rst
|
|
logging.rst
|
|
logging-cookbook.rst
|
|
regex.rst
|
|
sockets.rst
|
|
sorting.rst
|
|
unicode.rst
|
|
urllib2.rst
|
|
argparse.rst
|
|
ipaddress.rst
|
|
instrumentation.rst
|
|
perf_profiling.rst
|
|
annotations.rst
|
|
isolating-extensions.rst
|
|
timerfd.rst
|
|
mro.rst
|
|
free-threading-python.rst
|
|
free-threading-extensions.rst
|
|
|
|
General:
|
|
|
|
* :ref:`a-conceptual-overview-of-asyncio`
|
|
* :ref:`annotations-howto`
|
|
* :ref:`argparse-tutorial`
|
|
* :ref:`descriptorhowto`
|
|
* :ref:`enum-howto`
|
|
* :ref:`functional-howto`
|
|
* :ref:`ipaddress-howto`
|
|
* :ref:`logging-howto`
|
|
* :ref:`logging-cookbook`
|
|
* :ref:`regex-howto`
|
|
* :ref:`sortinghowto`
|
|
* :ref:`unicode-howto`
|
|
* :ref:`urllib-howto`
|
|
|
|
Advanced development:
|
|
|
|
* :ref:`curses-howto`
|
|
* :ref:`freethreading-python-howto`
|
|
* :ref:`freethreading-extensions-howto`
|
|
* :ref:`isolating-extensions-howto`
|
|
* :ref:`python_2.3_mro`
|
|
* :ref:`socket-howto`
|
|
* :ref:`timerfd-howto`
|
|
* :ref:`cporting-howto`
|
|
|
|
Debugging and profiling:
|
|
|
|
* :ref:`gdb`
|
|
* :ref:`instrumentation`
|
|
* :ref:`perf_profiling`
|