I know you are looking for a Python-based solution but there are quite a few "server" based solutions that would potentially solve your problem as well and require few ongoing code maintenance issues. For example, using the Apache or IIS Integration kits in conjunction with the PingFederate server from www.pingidentity.com would allow you to pretty quickly and easily support SAML 1.0, 1.1, 2.0, WS-Fed and OpenID for your SP Application.