From d515f7d5b9f65e1fa74f5b89f5050e1ea6c10cc2 Mon Sep 17 00:00:00 2001 From: johnslavik Date: Sun, 21 Dec 2025 17:41:19 +0100 Subject: [PATCH 1/3] Add failing test --- Lib/test/test_repl.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Lib/test/test_repl.py b/Lib/test/test_repl.py index 042aa84b35dcf8..0fa1df40e44c5f 100644 --- a/Lib/test/test_repl.py +++ b/Lib/test/test_repl.py @@ -409,6 +409,12 @@ def test_toplevel_contextvars_async(self): expected = "toplevel contextvar test: ok" self.assertIn(expected, output, expected) + def test_quiet_mode(self): + p = spawn_repl("-q", "-m", "asyncio", custom=True) + output = kill_python(p) + self.assertEqual(p.returncode, 0) + self.assertEqual(output[:3], ">>>") + if __name__ == "__main__": unittest.main() From 84c46dbff4b2ac7c6a5e4d512e446d527049ce6f Mon Sep 17 00:00:00 2001 From: johnslavik Date: Sun, 21 Dec 2025 17:43:10 +0100 Subject: [PATCH 2/3] Check `sys.flags.quiet` prior to creating and showing banner --- Lib/asyncio/__main__.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Lib/asyncio/__main__.py b/Lib/asyncio/__main__.py index 89d456b6858c07..afbb70bbcab930 100644 --- a/Lib/asyncio/__main__.py +++ b/Lib/asyncio/__main__.py @@ -86,14 +86,15 @@ def run(self): global return_code try: - banner = ( - f'asyncio REPL {sys.version} on {sys.platform}\n' - f'Use "await" directly instead of "asyncio.run()".\n' - f'Type "help", "copyright", "credits" or "license" ' - f'for more information.\n' - ) - - console.write(banner) + if not sys.flags.quiet: + banner = ( + f'asyncio REPL {sys.version} on {sys.platform}\n' + f'Use "await" directly instead of "asyncio.run()".\n' + f'Type "help", "copyright", "credits" or "license" ' + f'for more information.\n' + ) + + console.write(banner) if startup_path := os.getenv("PYTHONSTARTUP"): sys.audit("cpython.run_startup", startup_path) From 9de72302b849398482a2bf2e2891b5a81c49b7a9 Mon Sep 17 00:00:00 2001 From: johnslavik Date: Sun, 21 Dec 2025 17:44:34 +0100 Subject: [PATCH 3/3] Add news entry --- .../next/Library/2025-12-21-17-44-28.gh-issue-143046.GBa5Ip.rst | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2025-12-21-17-44-28.gh-issue-143046.GBa5Ip.rst diff --git a/Misc/NEWS.d/next/Library/2025-12-21-17-44-28.gh-issue-143046.GBa5Ip.rst b/Misc/NEWS.d/next/Library/2025-12-21-17-44-28.gh-issue-143046.GBa5Ip.rst new file mode 100644 index 00000000000000..ac819a47f4cde9 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-12-21-17-44-28.gh-issue-143046.GBa5Ip.rst @@ -0,0 +1,2 @@ +The :mod:`asyncio` REPL no longer prints copyright and version messages in +the quiet mode (:option:`-q`). Patch by Bartosz Sławecki.