library for OAuth version 1.9

pip install oauth2==1.9.0.post1


Join the chat at Build Status Coverage Number of issues Licence MIT

Note: This library implements OAuth 1.0 and not OAuth 2.0.


python-oauth2 is a python oauth library fully compatible with python versions: 2.6, 2.7, 3.3 and 3.4. This library is depended on by many other downstream packages such as Flask-Oauth.


You can install oauth2 via the PIP package.

$ pip install oauth2

We recommend using virtualenv.


Examples can be found in the wiki

Running tests

You can run tests using the following at the command line:

$ pip install -r requirements.txt
$ python test


This code was originally forked from Leah Culver and Andy Smith's code. Some of the tests come from a fork by Vic Fryzel, while a revamped Request class and more tests were merged in from Mark Paschal's fork. A number of notable differences exist between this code and its forefathers:

  • 100% unit test coverage.
  • The DataStore object has been completely ripped out. While creating unit tests for the library I found several substantial bugs with the implementation and confirmed with Andy Smith that it was never fully baked.
  • Classes are no longer prefixed with OAuth.
  • The Request class now extends from dict.
  • The library is likely no longer compatible with Python 2.3.
  • The Client class works and extends from httplib2. It's a thin wrapper that handles automatically signing any normal HTTP request you might wish to make.