1 """A helper module that injects SecureTransport, on import.
3 The import should be done as early as possible, to ensure all requests and
4 sessions (or whatever) are created after injecting SecureTransport.
6 Note that we only do the injection on macOS, when the linked OpenSSL is too
13 def inject_securetransport() -> None:
14 # Only relevant on macOS
15 if sys.platform != "darwin":
23 # Checks for OpenSSL 1.0.1
24 if ssl.OPENSSL_VERSION_NUMBER >= 0x1000100F:
28 from pip._vendor.urllib3.contrib import securetransport
29 except (ImportError, OSError):
32 securetransport.inject_into_urllib3()
35 inject_securetransport()