Authorization / authentication client library for Python web applications
Project description
Authomatic is an authorization/authentication client library for Python web applications inspired by Alex Vagin’s Simpleauth. In fact, I almost named it Deadsimpleauth, but that name would be too long for a succinct library.
For more info visit the project page at http://peterhudec.github.io/authomatic.
Features
Loosely coupled.
Tiny but powerful interface.
The python-openid library is the only optional dependency.
CSRF protection.
Framework agnostic thanks to adapters. Out of the box support for Django, Flask, Pyramid and Webapp2.
Ready to accommodate future authorization / authentication protocols.
Makes calls to provider APIs a breeze.
Supports asynchronous requests.
JavaScript library as a bonus.
Out of the box support for:
OAuth 1.0a providers: Bitbucket, Flickr, Meetup, Plurk, Twitter, Tumblr, UbuntuOne, Vimeo, Xero, Xing and Yahoo.
OAuth 2.0 providers: Amazon, Behance, Bitly, Cosm, DeviantART, Eventbrite, Facebook, Foursquare, GitHub, Google, LinkedIn, PayPal, Reddit, Viadeo, VK, WindowsLive, Yammer and Yandex.
python-openid and Google App Engine based OpenID.
License
The package is licensed under MIT license.
Requirements
Requires Python 2.6 and newer. Python 3.x support added in Authomatic 0.0.11 thanks to Emmanuel Leblond.
Live Demo
There is a Google App Engine based live demo app running at http://authomatic-example.appspot.com which makes use of most of the features.
Contribute
Contributions of any kind are very welcome. If you want to contribute, please read the Development Guide first. The project is hosted on GitHub.
If you find this library useful and are using it in your projects, please don’t be shy and leave a comment about your use case on the Authomatic use cases issue.
Usage
Read the exhaustive documentation at http://peterhudec.github.io/authomatic.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.