From 8234237d9cb57d10b7898aa92f0169f825460785 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 21:07:28 +0000 Subject: [PATCH 1/2] Bump yarl from 1.19.0 to 1.20.0 (#10728) Bumps [yarl](https://github.com/aio-libs/yarl) from 1.19.0 to 1.20.0.
Release notes

Sourced from yarl's releases.

1.20.0

Features

Packaging updates and notes for downstreams


Changelog

Sourced from yarl's changelog.

1.20.0

(2025-04-16)

Features

Packaging updates and notes for downstreams


Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=yarl&package-manager=pip&previous-version=1.19.0&new-version=1.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements/base.txt | 2 +- requirements/constraints.txt | 10 +++++++++- requirements/dev.txt | 12 ++++++++---- requirements/runtime-deps.txt | 2 +- requirements/test.txt | 4 ++-- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index dd371fddf59..ffb6b8d43da 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -42,5 +42,5 @@ typing-extensions==4.13.2 # via multidict uvloop==0.21.0 ; platform_system != "Windows" and implementation_name == "cpython" # via -r requirements/base.in -yarl==1.19.0 +yarl==1.20.0 # via -r requirements/runtime-deps.in diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 269c2bfa513..eebec0b6741 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -99,6 +99,10 @@ incremental==24.7.2 # via towncrier iniconfig==2.1.0 # via pytest +isal==1.7.2 + # via + # -r requirements/lint.in + # -r requirements/test.in jinja2==3.1.6 # via # sphinx @@ -282,8 +286,12 @@ wait-for-it==2.3.0 # via -r requirements/test.in wheel==0.46.0 # via pip-tools -yarl==1.19.0 +yarl==1.20.0 # via -r requirements/runtime-deps.in +zlib-ng==0.5.1 + # via + # -r requirements/lint.in + # -r requirements/test.in # The following packages are considered to be unsafe in a requirements file: pip==25.0.1 diff --git a/requirements/dev.txt b/requirements/dev.txt index 47f0b92bc17..314eb9f0263 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -98,7 +98,9 @@ incremental==24.7.2 iniconfig==2.1.0 # via pytest isal==1.7.2 - # via -r requirements/test.in + # via + # -r requirements/lint.in + # -r requirements/test.in jinja2==3.1.6 # via # sphinx @@ -275,10 +277,12 @@ wait-for-it==2.3.0 # via -r requirements/test.in wheel==0.46.0 # via pip-tools -yarl==1.19.0 +yarl==1.20.0 # via -r requirements/runtime-deps.in -zlib_ng==0.5.1 - # via -r requirements/test.in +zlib-ng==0.5.1 + # via + # -r requirements/lint.in + # -r requirements/test.in # The following packages are considered to be unsafe in a requirements file: pip==25.0.1 diff --git a/requirements/runtime-deps.txt b/requirements/runtime-deps.txt index 79eb9a4a7ca..b8f8d7c7717 100644 --- a/requirements/runtime-deps.txt +++ b/requirements/runtime-deps.txt @@ -36,5 +36,5 @@ pycparser==2.22 # via cffi typing-extensions==4.13.2 # via multidict -yarl==1.19.0 +yarl==1.20.0 # via -r requirements/runtime-deps.in diff --git a/requirements/test.txt b/requirements/test.txt index 3d4372221d9..54aa275a9fa 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -134,7 +134,7 @@ uvloop==0.21.0 ; platform_system != "Windows" and implementation_name == "cpytho # via -r requirements/base.in wait-for-it==2.3.0 # via -r requirements/test.in -yarl==1.19.0 +yarl==1.20.0 # via -r requirements/runtime-deps.in -zlib_ng==0.5.1 +zlib-ng==0.5.1 # via -r requirements/test.in From 0b9d3571e0deeb32c173a41478790dadb155a76a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 17 Apr 2025 12:40:00 -1000 Subject: [PATCH 2/2] Add benchmarks for large binary WebSocket message roundtrips (#10730) --- tests/test_benchmarks_client_ws.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_benchmarks_client_ws.py b/tests/test_benchmarks_client_ws.py index 6d4cf309cad..c244d33f6bd 100644 --- a/tests/test_benchmarks_client_ws.py +++ b/tests/test_benchmarks_client_ws.py @@ -2,6 +2,7 @@ import asyncio +import pytest from pytest_codspeed import BenchmarkFixture from aiohttp import web @@ -40,19 +41,22 @@ def _run() -> None: loop.run_until_complete(run_websocket_benchmark()) +@pytest.mark.parametrize("msg_size", [6, MSG_SIZE * 4], ids=["small", "large"]) def test_one_thousand_round_trip_websocket_binary_messages( loop: asyncio.AbstractEventLoop, aiohttp_client: AiohttpClient, benchmark: BenchmarkFixture, + msg_size: int, ) -> None: """Benchmark round trip of 1000 WebSocket binary messages.""" message_count = 1000 + raw_message = b"x" * msg_size async def handler(request: web.Request) -> web.WebSocketResponse: ws = web.WebSocketResponse() await ws.prepare(request) for _ in range(message_count): - await ws.send_bytes(b"answer") + await ws.send_bytes(raw_message) await ws.close() return ws