Commit Graph

101 Commits

Author SHA1 Message Date
Yury Selivanov db1a80e97a
bpo-33649: Fix gather() docs; fix title; few other nits. (GH-9475) 2018-09-21 16:23:15 -04:00
Yury Selivanov e247b46cba
bpo-33649: More improvements (GH-9439) 2018-09-20 12:43:59 -04:00
Yury Selivanov 471503954a
bpo-33649: Add a high-level section about Futures; few quick fixes (GH-9403)
Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-09-18 17:55:44 -04:00
Yury Selivanov b042cf10c6
bpo-33649: Fix markup; add another note that asyncio.run is 3.7+ (GH-9389) 2018-09-18 02:47:54 -04:00
Miguel Ángel García 9c53fa6ad9 Fix syntax error on Asyncio example in doc (GH-9387)
The `gather` method requires to close the parenthesis, but it is being closed twice.
2018-09-18 02:01:26 -04:00
Danny Hermes 7bfbda46f4 Change "set_after" reference to `say_after`. (GH-9384) 2018-09-18 00:49:21 -04:00
Elvis Pranskevichus 1fa2ec49be bpo-33649: A copy-editing pass on asyncio documentation (GH-9376) 2018-09-17 19:16:44 -04:00
Yury Selivanov 394374e30c
bpo-33649: Add low-level APIs index. (GH-9364) 2018-09-17 15:35:24 -04:00
Yury Selivanov 7372c3bbef
bpo-33649: Add high-level APIs cheat-sheet (GH-9319) 2018-09-14 15:11:24 -07:00
Yury Selivanov 3faaa8857a bpo-33649: Refresh Tasks and Futures pages (#9314)
* bpo-33649: Refresh Tasks and Futures pages

* Fixes

* Fix markup
2018-09-14 13:32:07 -07:00
Yury Selivanov 7c7605ff11
bpo-33649: First asyncio docs improvement pass (GH-9142)
Rewritten/updated sections:

* Event Loop APIs
* Transports & Protocols
* Streams
* Exceptions
* Policies
* Queues
* Subprocesses
* Platforms
2018-09-11 09:54:40 -07:00
Alex Grönholm cca4eec3c0 bpo-34270: Make it possible to name asyncio tasks (GH-8547)
Co-authored-by: Antti Haapala <antti.haapala@anttipatterns.com>
2018-08-08 17:06:47 -04:00
Elvis Pranskevichus dec947ca26 Fix typo introduced in GH-7217 (#7230) 2018-05-29 20:14:59 -04:00
Elvis Pranskevichus f9aeca2085 bpo-23859: Document that asyncio.wait() does not cancel its futures (#7217)
Unlike `asyncio.wait_for()`, `asyncio.wait()` does not cancel the passed
futures when a timeout accurs.
2018-05-29 18:21:44 -04:00
Elvis Pranskevichus e2b340ab41 bpo-32751: Wait for task cancellation in asyncio.wait_for() (GH-7216)
Currently, asyncio.wait_for(fut), upon reaching the timeout deadline,
cancels the future and returns immediately.  This is problematic for
when *fut* is a Task, because it will be left running for an arbitrary
amount of time.  This behavior is iself surprising and may lead to
related bugs such as the one described in bpo-33638:

    condition = asyncio.Condition()
    async with condition:
        await asyncio.wait_for(condition.wait(), timeout=0.5)

Currently, instead of raising a TimeoutError, the above code will fail
with `RuntimeError: cannot wait on un-acquired lock`, because
`__aexit__` is reached _before_ `condition.wait()` finishes its
cancellation and re-acquires the condition lock.

To resolve this, make `wait_for` await for the task cancellation.
The tradeoff here is that the `timeout` promise may be broken if the
task decides to handle its cancellation in a slow way.  This represents
a behavior change and should probably not be back-patched to 3.6 and
earlier.
2018-05-29 17:31:01 -04:00
Yury Selivanov 863b674909
bpo-32684: Fix gather to propagate cancel of itself with return_exceptions (GH-7209) 2018-05-29 17:20:02 -04:00
Yury Selivanov 416c1ebd98
bpo-32610: Fix asyncio.all_tasks() to return only pending tasks. (GH-7174) 2018-05-28 17:54:02 -04:00
Yury Selivanov 28b9178023
bpo-32436: Document PEP 567 changes to asyncio. (GH-7073) 2018-05-23 13:35:04 -04:00
Elvis Pranskevichus 63536bd286 bpo-32996: The bulk of What's New in Python 3.7 (GH-6978) 2018-05-19 23:15:06 -04:00
Yury Selivanov d8d715f514
asyncio/docs: Mark asyncio.run() as provisional in 3.7. (#6946) 2018-05-17 13:44:00 -04:00
Andrew Svetlov b21505e710
Fix docs markup for asyncio current_task() and all_tasks() (#6089) 2018-03-12 20:50:50 +02:00
Joongi Kim 13cfd57dcf Fix missing coroutine declaration in the asyncio documentation. (#5964) 2018-03-03 18:43:54 +02:00
Yury Selivanov ca9b36cd1a
bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() (#4992) 2017-12-23 15:04:15 -05:00
Andrew Svetlov 44d1a5912e
bpo-32250: Implement asyncio.current_task() and asyncio.all_tasks() (#4799) 2017-12-16 21:58:38 +02:00
Andrew Svetlov f74ef458ab
bpo-32311: Implement asyncio.create_task() shortcut (#4848)
* Implement functionality
* Add documentation
2017-12-15 07:04:38 +02:00
Yury Selivanov 02a0a19206
bpo-32314: Implement asyncio.run() (#4852) 2017-12-14 09:42:21 -05:00
Andrew Svetlov 8874342cf3
bpo-32258: Replace 'yield from' to 'await' in asyncio docs (#4779)
* Replace 'yield from' to 'await' in asyncio docs

* Fix docstrings
2017-12-11 17:35:49 +02:00
Yury Selivanov 9edad3c701
bpo-32272: Remove asyncio.async() function. (#4784) 2017-12-11 10:03:48 -05:00
Antoine Pitrou 22b1128559
bpo-31960: Fix asyncio.Future documentation for thread (un)safety. (#4319) 2017-11-07 17:03:28 +01:00
luzpaz a5293b4ff2 Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
lf 627d2c8e8d Add the link to asyncio source code in the docs (GH-2373) 2017-07-25 16:03:51 -07:00
adisbladis 824f687912 bpo-24755: Document asyncio.wrap_future (GH-603) 2017-06-08 23:28:59 -07:00
Berker Peksag f59286794b Issue #29441: Update examples to use async and await keywords in asyncio-task.rst 2017-02-07 11:27:09 +03:00
Berker Peksag d5adb63673 Issue #29407: Remove redundant ensure_future() calls in factorial example 2017-02-01 22:37:16 +03:00
Serhiy Storchaka 4adf01caae Issue #19795: Improved more markups of True/False. 2016-10-19 18:30:05 +03:00
Berker Peksag 002b0a7ecd Issue #28348: Fix typo in asyncio.Task() documentation
Patch by Mariatta Wijaya.
2016-10-04 20:45:47 +03:00
Guido van Rossum f68afd8544 Issue #27700: Document AbstractEventLoop, not BaseEventLoop. 2016-08-08 09:41:21 -07:00
Andrew Svetlov 4365b8302d Use asyncio.gather instead of asyncio.wait in example.
gather will raise exception in case of problem but wait just returns done and pending lists of futures.
For getting error every future result should be retrieved, which is boring and error prone.
2016-08-08 03:10:39 +03:00
Yury Selivanov c1cf296de6 asyncio: Remove asyncio.timeout() context manager.
It will probably be added back in Python 3.6, once its compatibility
issues are resolved; see [1] for more details.

[1] https://mail.python.org/pipermail/async-sig/2016-June/000045.html
2016-06-08 13:57:03 -04:00
Zachary Ware f9aff925e0 Fix typo 2016-06-01 00:01:10 -05:00
Yury Selivanov 950204df9c docs: Update asyncio docs & whatsnew 2016-05-16 16:23:00 -04:00
Andrew Svetlov 6f57424ae0 Document None as timeout for asyncio.timeout() 2016-03-29 09:39:02 +03:00
Martin Panter c04fb56e36 Issue #26304: Change "allows to <verb>" to "allows <verb>ing" or similar
The original form is incorrect grammar and feels awkward, even though the
meaning is clear.
2016-02-10 05:44:01 +00:00
Andrew Svetlov ea471348f4 Fix versionadded to use 3.5.1 only for 3.5 branch 2016-01-11 15:41:43 +02:00
Andrew Svetlov 3af81f2505 merge 3.4 2016-01-11 14:45:25 +02:00
Andrew Svetlov f1240169b3 Document asyncio.timeout() 2016-01-11 14:40:35 +02:00
Yury Selivanov e319ab01ce docs/asyncio: Update ensure_future & run_coroutine_threadsafe docs 2015-12-15 00:45:24 -05:00
Yury Selivanov 6efc7e726f Merge 3.4 2015-11-18 12:44:49 -05:00
Yury Selivanov 01a65af4a1 asyncio.docs: Fix versionadded 2015-11-18 12:44:31 -05:00
Guido van Rossum 5db034acfa Docs and one small improvement for issue #25304, by Vincent Michel. (Merge 3.4->3.5.) 2015-10-05 16:23:13 -07:00