In Python 3.6, the keyfile, certfile and check_hostname parameters were deprecated in ftplib, http.client, imaplib, poplib, and smtplib modules. IMO it's now time to remove them in favor of the context parameters. Most Python projects now require Python 3.6 and newer (if not Python 3.7 or Python 3.8). And it's easy to support older Python versions with some if/else code.
I wrote PR
to remove these parameters.
PR:
gh-94172: Remove keyfile, certfile and check_hostname parameters #94173
PR:
gh-94172: Update docs for params removed in 3.12 #100431
PR:
gh-94172: Update keyfile removal documentation #105392
PR:
[3.12] gh-94172: Update keyfile removal documentation (GH-105392) #105402
PR:
gh-94172: delete mention of ssl_version from ftplib doc #143515