In Salesforce when you authenticate a user when signing in (via SSO or otherwise) to Salesforce web UI, you have certain protocols such as SAML available / required by Salesforce. When you authorize a caller at an API level, doing so does not require you to use the protocols from the user authentication scenario. Calling a Salesforce REST API is very straightforward with oAuth as the authorization protocol.
A number of Salesforce clients have been built in Python that encapsulate the authorization scenario for you. simple-salesforce is a popular Python client, it uses SF's SOAP API for authentication. Another one is django-salesforce, it's a higher-level abstraction that might work if you don't deal with Salesforce on a daily basis and prefer ORM to low-level Salesforce API stuff.