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') 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.