| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Remove the @asyncio.coroutine decorator
enabling legacy generator-based coroutines to be compatible with async/await
code; remove asyncio.coroutines.CoroWrapper used for wrapping
legacy coroutine objects in the debug mode.
The decorator has been deprecated
since Python 3.8 and the removal was initially scheduled for Python 3.10.
|
|
|
|
|
|
| |
The second attempt. Now deprecate `@coroutine` only, keep `yield from fut` as is.
https://bugs.python.org/issue36921
|
| |
|
| |
|
|
|
|
|
|
| |
* Add coro.cr_origin and sys.set_coroutine_origin_tracking_depth
* Use coroutine origin information in the unawaited coroutine warning
* Stop using set_coroutine_wrapper in asyncio debug mode
* In BaseEventLoop.set_debug, enable debugging in the correct thread
|
| |
|
|
|
|
|
| |
* Implement functionality
* Add documentation
|
|
|
|
|
|
| |
* Replace 'yield from' to 'await' in asyncio docs
* Fix docstrings
|
| |
|
|
|
|
|
|
| |
* bpo-32101: Add sys.flags.dev_mode flag
Rename also the "Developer mode" to the "Development mode".
* bpo-32101: Add PYTHONDEVMODE environment variable
Mention it in the development chapiter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Drop Python 3.4 code from asyncio
* Fix notes
* Add missing imports
* Restore comment
* Resort imports
* Drop Python 3.4-3.5 specific code
* Drop redunant check
* Fix tests
* Restore _COROUTINE_TYPES order
* Remove useless code
|
|
|
|
|
|
|
|
|
|
| |
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 ;-)
|
|
|
|
| |
The new -X dev command line option now also enables asyncio debug
mode.
|
|
|
|
| |
* bpo-31970: Reduce performance overhead of asyncio debug mode.
|
|
|
| |
defiend -> defined
|
|\ |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
Some built-in coroutine-like objects might not have __name__ or
__qualname__. A good example of such are 'asend', 'aclose' and
'athrow' coroutine methods of asynchronous generators.
|
|/
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
|
|
|
| |
Patch by iceboy.
|
| |
|
|
|
|
| |
Patch by Vladimir Rutsky.
|
| |
|
|
|
|
|
|
| |
This change won't do anything in CPython 3.4
See https://github.com/python/asyncio/pull/293 for details.
|
|
|
|
|
| |
Move compatibility helpers for the different Python versions to a new
asyncio.compat module.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
without __name__.
|
| |
|
|
|
|
|
|
|
| |
- CoroWrapper.__del__() now reuses repr(CoroWrapper) to log the "... was never
yielded from" warning
- Improve CoroWrapper: copy also the qualified name on Python 3.4, not only on
Python 3.5+
|
|
|
|
|
|
|
| |
- repr(Task) and repr(CoroWrapper) now also includes where these objects were
created. If the coroutine is not a generator (don't use "yield from"), use
the location of the function, not the location of the coro() wrapper.
- Fix create_task(): truncate the traceback to hide the call to create_task().
|
|
|
|
|
|
|
|
| |
- Tulip issue #181: Faster create_connection(). Call directly
waiter.set_result() in the constructor of _ProactorBasePipeTransport and
_SelectorSocketTransport, instead of using of delaying the call with
call_soon().
- Cleanup iscoroutine()
|
|
|
|
|
| |
of a Future with call_soon(). Add an helper, a private method, to set the
result only if the future was not cancelled.
|
|
|
|
|
|
|
|
|
|
| |
* _UnixSubprocessTransport: fix file mode of stdin. Open stdin in write mode,
not in read mode
* Examples: close the event loop at exit
* More reliable CoroWrapper.__del__. If the constructor is interrupted by
KeyboardInterrupt or the coroutine objet is destroyed lately, some the
_source_traceback attribute doesn't exist anymore.
* repr(Task): include also the future the task is waiting for
|
|
|
|
|
|
|
|
|
|
|
| |
- Sort imports
- Simplify/optimize iscoroutine(). Inline inspect.isgenerator(obj): replace it
with isinstance(obj, types.GeneratorType)
- CoroWrapper: check at runtime if Python has the yield-from bug #21209. If
Python has the bug, check if CoroWrapper.send() was called by yield-from to
decide if parameters must be unpacked or not.
- Fix "Task was destroyed but it is pending!" warning in
test_task_source_traceback()
|
|
|