Thanks for your question Manpreet! I believe the Python driver already has all the bits necessary to support TLS v1.3, but I want to emphasize that there's really no way around the Cassandra issue that Madhavan highlighted (hat tip to Madhavan). This is almost certainly all academic until CASSANDRA-15048 is resolved.
To use TLS v1.3 with the driver I believe you would need all of the following:
* A reasonably recent Python driver
* Python v3.7 or greater using openssl for it's TLS impl
* OpenSSL v1.1.1 or greater
Assuming all of these are in place you _should_ see TLS v1.3 attempts so long as you're using ssl.PROTOCOL_TLS when creating your SSLContext. This setting allows Python to use the highest supported TLS version (which should be TLS v1.3 if the requirements above are met). Note that we recently updated our documentation to indicate that this should be preferred to specifying a particular TLS version (see
https://datastax-oss.atlassian.net/browse/PYTHON-1264 for more detail on this point).
With all of these components in play you should have client-side support for TLS v1.3, but again this won't help you much without CASSANDRA-15048.
Thanks again!
- Bret -