Both projects are compatible with Shibboleth.
pysaml2 is older than python3-saml, py2 and py3 are supported right now. Both are active and documented.
python3-saml follows the structure of the Onelogin SAML toolkit, so if you used any other toolkit ( php-saml , ruby-saml , java-saml ) before, it will be easy for you to deal with it (similar methods, same settings).
Differences
Crypto:
- pysaml2 uses a pycryptodome as a dependecy for cryptography processing and implements its own xmldsig and xmlenc (for managing signatures and encryption in XML).
- python3-saml uses python-xmlsec as a dependecy and delegates the signature / encryption of the XML elements to it.
Functions:
- pysaml2 allows you to deploy an identity provider or service provider
- python3-saml is service provider oriented
Settings:
In my opinion, python3-saml is simpler than pysaml2, the settings are more accurate, and its repo contains code examples on how to integrate django or flask and a guide to docs .
Note. I am the author of python3-saml
source share