We recently came upon the need for a Python SOAP client library that supported SSL client authentication (client-side certificates). When surveying the various options, we liked SOAPpy, but it had a bug in its support for SOAP complex types that required us to switch to Suds, which is also a very nice framework.
Suds does not support client certificates directly, and neither does urllib2, the URL-opener library it depends on. However, httplib, which is used at the core, does support HTTPS client authentication. Fortunately, somebody found a workaround for urllib2, and we were able to combine that with a trick of our own to integrate it with Suds. Here it is: