A wrapper to pyOpenSSL to provide an interface like the standard ssl module.
ssl_sni provides a module similar to the Python 2.7 builtin module ssl with the Server Name Indication (SNI) extension. In particular the wrap_socket function has the extra parameter server_hostname to provide a hostname via SNI to the server.
ssl_sni is built on top of the pyOpenSSL and pyasn1 modules. In other words it is a pure python module that does not make any calls directly (not through pyOpenSSL) to the OpenSSL.
For now the subset of the ssl module provided is that required by mercurial and httpplus (used by mercurial). If you have requests for specific other features please file a bug.
The project page is here.