Guido van Rossum
09de8d7aaf
GH-90985: Revert "Deprecate passing a message into cancel()" ( #97999 )
...
Reason: we were too hasty in deprecating this.
We shouldn't deprecate it before we have a replacement.
2022-10-06 17:30:27 -07:00
Guido van Rossum
e9d63760fe
GH-96827: Don't touch closed loops from executor threads ( #96837 )
...
* When chaining futures, skip callback if loop closed.
* When shutting down an executor, don't wake a closed loop.
2022-09-30 12:55:40 -07:00
Kumar Aditya
86c1df1872
bpo-45924: Fix asyncio incorrect traceback when future's exception is raised multiple times (GH-30274)
2022-07-11 13:32:11 +01:00
Andrew Svetlov
0360e9f346
bpo-46829: Deprecate passing a message into Future.cancel() and Task.cancel() (GH-31840)
...
After a long deliberation we ended up feeling that the message argument for Future.cancel(), added in 3.9, was a bad idea, so we're deprecating it in 3.11 and plan to remove it in 3.13.
2022-03-23 08:43:05 -07:00
Andrew Svetlov
30b5d41fab
bpo-47039: Normalize repr() of asyncio future and task objects (GH-31950)
2022-03-17 03:03:09 +02:00
Andrew Svetlov
4140bcb1cd
bpo-45390: Propagate CancelledError's message from cancelled task to its awaiter (GH-31383)
...
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-02-21 22:59:04 +02:00
Kumar Aditya
ea5b96842e
bpo-46469: Make asyncio generic classes return GenericAlias (GH-30777)
...
* bpo-46469: Make asyncio generic classes return GenericAlias
* 📜 🤖 Added by blurb_it.
* Update Misc/NEWS.d/next/Library/2022-01-22-05-05-08.bpo-46469.plUab5.rst
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-01-22 13:28:53 +02:00
Serhiy Storchaka
172c0f2752
bpo-39529: Deprecate creating new event loop in asyncio.get_event_loop() (GH-23554)
...
asyncio.get_event_loop() emits now a deprecation warning when it creates a new event loop.
In future releases it will became an alias of asyncio.get_running_loop().
2021-04-25 13:40:44 +03:00
Wansoo Kim
5b0194ed31
bpo-41241: Unnecessary Type casting in 'if condition' (GH-21396)
...
This is my first issue!
So, if there's anything wrong, please tell me!
Also, thank you always for all the contributors!
Automerge-Triggered-By: GH:asvetlov
2020-11-28 03:37:08 -08:00
Chris Jerdonek
da742ba826
bpo-31033: Improve the traceback for cancelled asyncio tasks (GH-19951)
...
When an asyncio.Task is cancelled, the exception traceback now
starts with where the task was first interrupted. Previously,
the traceback only had "depth one."
2020-05-17 22:47:31 -07:00
Chris Jerdonek
1ce5841eca
bpo-31033: Add a msg argument to Future.cancel() and Task.cancel() (GH-19979)
2020-05-15 16:55:50 -07:00
Batuhan Taşkaya
dec367261e
bpo-38978: Implement __class_getitem__ for asyncio objects (GH-17491)
...
https://bugs.python.org/issue38978
2019-12-07 03:05:07 -08:00
Andrew Svetlov
dad6be5ffe
bpo-38785: Prevent asyncio from crashing (GH-17144)
...
if parent `__init__` is not called from a constructor of object derived from `asyncio.Future`
https://bugs.python.org/issue38785
2019-11-13 13:36:46 -08:00
Andrew Svetlov
0baa72f4b2
bpo-34622: Extract asyncio exceptions into a separate module (GH-9141)
2018-09-11 10:13:04 -07:00
Yury Selivanov
fdccfe09f0
bpo-33469: RuntimeError after closing loop that used run_in_executor (GH-7171)
2018-05-28 17:10:20 -04:00
Yury Selivanov
22feeb88b4
bpo-32643: Drop support for a few private Task and Future APIs. ( #5293 )
...
Specifically, it's not possible to subclass Task/Future classes
and override the following methods:
* Future._schedule_callbacks
* Task._step
* Task._wakeup
2018-01-24 11:31:01 -05:00
Yury Selivanov
f23746a934
bpo-32436: Implement PEP 567 ( #5027 )
2018-01-22 19:11:18 -05:00
Yury Selivanov
e0aef4f3cd
bpo-31721: Allow Future._log_traceback to only be set to False ( #5009 )
2017-12-25 16:16:10 -05:00
Yury Selivanov
0cf16f9ea0
bpo-32363: Disable Task.set_exception() and Task.set_result() ( #4923 )
2017-12-25 10:48:15 -05: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
f74ef458ab
bpo-32311: Implement asyncio.create_task() shortcut ( #4848 )
...
* Implement functionality
* Add documentation
2017-12-15 07:04:38 +02: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
6370f345e1
bpo-32262: Fix codestyle; use f-strings formatting where necessary. ( #4775 )
2017-12-10 18:36:12 -05:00
Victor Stinner
3f438a9fa0
asyncio: Remove asyncio/compat.py ( #4606 )
...
The asyncio/compat.py file was written to support Python < 3.5 and
Python < 3.5.2. But Python 3.5 doesn't accept bugfixes anymore, only
security fixes. There is no more need to backport bugfixes to Python
3.5, and so no need to have a single code base for Python 3.5, 3.6
and 3.7.
Say hello (again) to "async" and "await", who became real keywords in
Python 3.7 ;-)
2017-11-28 14:43:52 +01:00
Victor Stinner
c16bacec3c
asyncio: Remove unused Future._tb_logger attribute ( #4596 )
...
It was only used on Python 3.3, now only Future._log_traceback is
used.
2017-11-28 00:35:33 +01:00
Antoine Pitrou
921e9432a1
bpo-31970: Reduce performance overhead of asyncio debug mode. ( #4314 )
...
* bpo-31970: Reduce performance overhead of asyncio debug mode.
2017-11-07 17:23:29 +01:00
Antoine Pitrou
22b1128559
bpo-31960: Fix asyncio.Future documentation for thread (un)safety. ( #4319 )
2017-11-07 17:03:28 +01:00
Yury Selivanov
7ce1c6fb57
bpo-30508: Don't log exceptions if Task/Future "cancel()" method called ( #2050 )
2017-06-11 13:49:18 +00:00
INADA Naoki
3e2ad8ec61
bpo-29617: Remove Python 3.3 support from asyncio (GH-232)
2017-04-25 10:57:18 +09:00
Yury Selivanov
a0c1ba608e
Issue #28544 : Implement asyncio.Task in C.
...
This implementation provides additional 10-20% speed boost for
asyncio programs.
The patch also fixes _asynciomodule.c to use Arguments Clinic, and
makes '_schedule_callbacks' an overridable method (as it was in 3.5).
2016-10-28 12:52:37 -04:00
Yury Selivanov
01c521ba7a
asyncio: Increase asyncio.Future test coverage; test both implementations.
...
Also, add 'isfuture' to 'asyncio.futures.__all__', so that it's
exposed as 'asyncio.isfuture'.
2016-10-23 22:34:35 -04:00
INADA Naoki
a83636247e
Issue #28448 : Fix C implemented asyncio.Future didn't work on Windows
2016-10-21 12:30:15 +09:00
INADA Naoki
c411a7d821
Issue #28452 : Remove _asyncio._init_module function
2016-10-18 11:48:14 +09:00
INADA Naoki
9f2ce25481
Issue #28428 : Rename _futures module to _asyncio.
...
It will have more speedup functions or classes other than asyncio.Future.
2016-10-15 15:39:19 +09:00
INADA Naoki
9e4e38ecd2
Issue #26801 : Added C implementation of asyncio.Future.
...
Original patch by Yury Selivanov.
2016-10-09 14:44:47 +09:00
Guido van Rossum
7b3b3dc85d
Merge asyncio upstream.
2016-09-09 14:26:31 -07:00
Guido van Rossum
1140a03426
Rename Future._blocking to _asyncio_future_blocking.
...
This is now an official "protected" API that can be used to write
classes that are duck-type-compatible with Future without subclassing
it. (For that purpose I also changed isinstance(result, Future) to
check for this attribute instead.)
Hopefully Amber Brown can use this to make Twisted.Deferred compatible
with asyncio.Future.
Tests and docs are TBD.
2016-09-09 12:54:54 -07:00
Yury Selivanov
7661db6228
Issue #27041 : asyncio: Add loop.create_future method
2016-05-16 15:38:39 -04:00
Yury Selivanov
1bd030788d
asyncio: Prevent StopIteration from being thrown into a Future
...
Patch by Chris Angelico (issue #26221 )
2016-03-02 11:03:28 -05: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
Yury Selivanov
5d7e3b6cd2
asyncio: Cleanup Future API
...
See https://github.com/python/asyncio/pull/292 for details.
2015-11-17 12:19:41 -05:00
Guido van Rossum
841d9ee41a
Issue #25304 : Add asyncio.run_coroutine_threadsafe(). By Vincent Michel.
2015-10-03 08:31:42 -07:00
Victor Stinner
71080fc351
asyncio: Add asyncio.compat module
...
Move compatibility helpers for the different Python versions to a new
asyncio.compat module.
2015-07-25 02:23:21 +02:00
Yury Selivanov
1af2bf75a2
asyncio: Support PEP 492. Issue #24017 .
2015-05-11 22:27:25 -04:00
Guido van Rossum
0a9933ebf3
Asyncio issue 222 / PR 231 (Victor Stinner) -- fix @coroutine functions without __name__.
2015-05-02 18:38:24 -07:00
Victor Stinner
978a9afc6a
Issue #23243 , asyncio: Emit a ResourceWarning when an event loop or a transport
...
is not explicitly closed. Close also explicitly transports in test_sslproto.
2015-01-29 17:50:58 +01:00
Victor Stinner
587feb19e8
Issue #23209 : Break some reference cycles in asyncio. Patch written by Martin
...
Richard.
2015-01-09 21:34:27 +01:00
Victor Stinner
70db9e428a
asyncio: sync with Tulip
...
* Tulip issue 184: FlowControlMixin constructor now get the event loop if the
loop parameter is not set. Add unit tests to ensure that constructor of
StreamReader and StreamReaderProtocol classes get the event loop.
* Remove outdated TODO/XXX
2015-01-09 21:32:05 +01:00
Victor Stinner
fe22e0985a
asyncio: Initialize more Future and Task attributes in the class definition to
...
avoid attribute errors in destructors.
2014-12-04 23:00:13 +01:00
Serhiy Storchaka
56a6d855e2
Removed duplicated words in in comments and docs.
2014-12-01 18:28:43 +02:00