/authomatic

Simple yet powerful authorization / authentication client library for Python web applications.

Primary LanguagePythonMIT LicenseMIT

Authomatic

https://travis-ci.org/authomatic/authomatic.svg?branch=master

Authomatic is a framework agnostic library for Python web applications with a minimalistic but powerful interface which simplifies authentication of users by third party providers like Facebook or Twitter through standards like OAuth and OpenID.

For more info visit the project page at http://authomatic.github.io/authomatic.

Update - 2017-05-17

Authomatic is currently going through the process of migrating to becoming a community-managed project. Please bear with us during these changes. We hope to begin work on updating the project and working on Issues and PRs soon. Many thanks to Peter Hudec for all his hard work for creating and maintaining authomatic!

Features

  • Loosely coupled.
  • Tiny but powerful interface.
  • The python-openid library is the only optional dependency.
  • Framework agnostic thanks to adapters. Out of the box support for Django, Flask, Pyramid and Webapp2.
  • Ready to accommodate future authorization/authentication protocols.
  • Makes provider API callls a breeze.
  • 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.

Usage

Read the exhaustive documentation at http://authomatic.github.io/authomatic.