| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Tested this patch locally and it seems to work. |
Sorry, something went wrong.
|
@fantix Any luck we can move forward here? Thank you! |
Sorry, something went wrong.
Changes ======= * Add Python 3.15 and 3.15t wheel builds and CI coverage (MagicStack#758) (by @honglei @fantix in f7c0547) * Add support for the `eager_start` keyword argument in create_task() (MagicStack#748) (by @samypr100 in 3cbb095 for MagicStack#746 MagicStack#718) * Add thread name prefix to the default thread pool executor (MagicStack#636) (by @inikolaev @fantix in 0582f94 for MagicStack#562) * Add support for special hostname `<broadcast>` (MagicStack#592) (by @jpbede in 3060ceb for MagicStack#540) * Upgrade libuv to v1.52.1 (MagicStack#753) (by @fantix in e8efea4 for MagicStack#752) * Improve performance by using Python C API to enter/exit context (MagicStack#627) (by @tarasko in 837ef22) * Improve performance/latency of Transport.write (MagicStack#619) (by @tarasko in 1d9b6e0) * Replace some SSL vectorcall with direct methods (MagicStack#626) (by @tarasko in 6a27cbe) * Optimize SSL buffered reads using C values (MagicStack#629) (by @tarasko in a308f75) Fixes ===== * Detach socket on create_connection cancellation to prevent fd double-close (MagicStack#740) (by @junjzhang @fantix in dc680eb for MagicStack#645 MagicStack#738) * Remove `loop._ready_len` in favor of `len(loop._ready)` (MagicStack#721) (by @x42005e1f in 5910a18 for MagicStack#720) * Prefer inspect.iscoroutinefunction (MagicStack#705) (by @MatthieuDartiailh in fd65027 for MagicStack#703) * Fix context tests by explicitly yielding after run_in_executor (MagicStack#743) (by @samypr100 in 6cd24cb) * Fix test_create_connection_open_con_addr with Python 3.13.9+ (MagicStack#713) (by @shadchin in b93141a for MagicStack#701) * Skip flaky test_cancel_post_init on asyncio 3.13+ (MagicStack#714) (by @fantix in 3ea5c85 for MagicStack#709) * Fix flaky test_fs_event (MagicStack#717) (by @fantix in 8da4547) * Use C __atomic builtins for debug counters (MagicStack#719) (by @fantix in 836e3b2) * Update the example to work with Python 3.14 (MagicStack#710) (by @Jamie-Chang in b74c2f1) Build ===== * Replace pkg_resources with packaging and use Cython 3.1 (MagicStack#742) (by @samypr100 in b377b7c for MagicStack#729) * Remove wheel as a build dependency (MagicStack#696) (by @DimitriPapadopoulos in 173e88c) * Support any number of flags in UVLOOP_OPT_CFLAGS (MagicStack#630) (by @mgorny in 963a5f3)
PR MagicStack#748 introduced a regression by passing `eager_start=None` to the task factory when not provided by the caller. On Python 3.14 this is interpreted as `False`, overriding `asyncio.eager_task_factory`'s default of `eager_start=True` and resulting in non-eager tasks. On Python 3.13, it's a `TypeError` , since `eager_task_factory` and user factories with the `(loop, coro, *, name=None, context=None)` signature do not accept an `eager_start` argument at all. Forward `eager_start` to the factory and to `Task` only when provided by the caller. This matches the behaviour of `asyncio`'s loop. Add tests for behaviour when `eager_start=False` and when not provided.
PR MagicStack#748 introduced a regression by passing `eager_start=None` to the task factory when not provided by the caller. On Python 3.14 this is interpreted as `False`, overriding `asyncio.eager_task_factory`'s default of `eager_start=True` and resulting in non-eager tasks. On Python 3.13, it's a `TypeError` , since `eager_task_factory` and user factories with the `(loop, coro, *, name=None, context=None)` signature do not accept an `eager_start` argument at all. Forward `eager_start` to the factory and to `Task` only when provided by the caller. This matches the behaviour of `asyncio`'s loop. Add tests for behaviour when `eager_start=False` and when not provided.
PR MagicStack#748 introduced a regression by passing `eager_start=None` to the task factory when not provided by the caller. On Python 3.14 this is interpreted as `False`, overriding `asyncio.eager_task_factory`'s default of `eager_start=True` and resulting in non-eager tasks. On Python 3.13, it's a `TypeError` , since `eager_task_factory` and user factories with the `(loop, coro, *, name=None, context=None)` signature do not accept an `eager_start` argument at all. Forward `eager_start` to the factory and to `Task` only when provided by the caller. This matches the behaviour of `asyncio`'s loop. Add tests for behaviour when `eager_start=False` and when not provided.
| Back | FazBrowse Home | New Git URL |
This PR adds basic support for eager_start kwarg in loop.create_task.
Closes #746, #718
It also adjusts loop.pyi to mimic typeshed more closely as the type hints I was getting on my editor were not the ones I'd expect signature wise.
Currently it relies on these two PR's from being merged
I tested this manually on Linux and OSX by building uvloop from the branch and running it on eager_start workloads on python 3.13 and 3.14.
Disclosure: This PR is made by human-only contribution without AI generated code.