This is libsaas, a library to take the pain out of using SaaS APIs.
It provides an abstraction layer on top of various APIs, taking care of constructing the URLs, serializing parameters and authentication. You just call Python methods and receive Python objects.
from libsaas.services import zendesk
service = zendesk.Zendesk('myapp', 'myuser', 's3cr3t')
joe = service.users().search('joe@example.org')['users'][0]
joes_tickets = service.user(joe['id']).tickets_requested()
for ticket in joes_tickets['tickets']:
print(ticket['description'])
Check out more examples in the usage docs. It's like an ORM for SaaS!
The project is still very young and covers only a few services. We want to gradually add support for other SaaS APIs with the goal of unifying SaaS API access from Python.
Every API wrapper out there has a different feeling and its own quirks. Libsaas aims to fix that. Imagine if instead of hand-writing an API library for your SaaS you would simply leverage the infrastructure libsaas already has and just add support for it?
In the world where any application needs to talk to a plethora of services and integrating SaaS interactions becomes an everyday job for developers, we need an uniform way of working with APIs. Let's go and build it.
Libsaas is built by Ducksboard and distributed under the MIT license. You can file bugs in the issue tracker, browse the documentation or help by forking the project on GitHub and sending pull requests.