From 9f536c51db63f183d7569974326cd8341d6e0922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A9n=C3=A9dikt=20Tran?= <10796600+picnixz@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:15:01 +0100 Subject: [PATCH 1/2] Improve import time of the `secrets` module. Importing `secrets` is now two times faster. The `base64` module is now locally imported by `secrets.token_urlsafe` and is no more implicitly exposed as `secrets.base64`. --- Lib/secrets.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/secrets.py b/Lib/secrets.py index 566a09b7311154..8766c5728fd6a0 100644 --- a/Lib/secrets.py +++ b/Lib/secrets.py @@ -12,8 +12,6 @@ ] -import base64 - from hmac import compare_digest from random import SystemRandom @@ -67,5 +65,7 @@ def token_urlsafe(nbytes=None): 'Drmhze6EPcv0fN_81Bj-nA' """ + import base64 + tok = token_bytes(nbytes) return base64.urlsafe_b64encode(tok).rstrip(b'=').decode('ascii') From 0c009fa04ce66adf64ac9e7b5f32d5ebc5a63625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A9n=C3=A9dikt=20Tran?= <10796600+picnixz@users.noreply.github.com> Date: Fri, 10 Jan 2025 12:24:51 +0100 Subject: [PATCH 2/2] blurb --- .../next/Library/2025-01-10-12-19-42.gh-issue-118761.i4yXe3.rst | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2025-01-10-12-19-42.gh-issue-118761.i4yXe3.rst diff --git a/Misc/NEWS.d/next/Library/2025-01-10-12-19-42.gh-issue-118761.i4yXe3.rst b/Misc/NEWS.d/next/Library/2025-01-10-12-19-42.gh-issue-118761.i4yXe3.rst new file mode 100644 index 00000000000000..4b7aee6c5b8253 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-01-10-12-19-42.gh-issue-118761.i4yXe3.rst @@ -0,0 +1,2 @@ +Improve import time of :mod:`secrets` by a factor two. This is achieved by +importing :mod:`base64` on demand. Patch by Bénédikt Tran.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: