Comments:"litl/rauth · GitHub"
URL:https://github.com/litl/rauth#rauth
Rauth
A simple Python OAuth 1.0/a, OAuth 2.0, and Ofly consumer library built on top of Requests.
Features
- Supports OAuth 1.0/a, 2.0 and Ofly
- Service wrappers for convenient connection initialization
- Authenticated session objects providing nifty things like keep-alive
- Well tested (100% coverage)
- Built on Requests (v1.x)
Installation
To install:
$ pip install rauth
Or if you must:
$ easy_install rauth
Example Usage
Let's get a user's Twitter timeline. Start by creating a service container object:
fromrauthimportOAuth1Service# Get a real consumer key & secret from https://dev.twitter.com/apps/newtwitter=OAuth1Service(name='twitter',consumer_key='J8MoJG4bQ9gcmGh8H7XhMg',consumer_secret='7WAscbSy65GmiVOvMU5EBYn5z80fhQkcFWSLMJJu4',request_token_url='https://api.twitter.com/oauth/request_token',access_token_url='https://api.twitter.com/oauth/access_token',authorize_url='https://api.twitter.com/oauth/authorize',base_url='https://api.twitter.com/1/')
Then get an OAuth 1.0 request token:
request_token,request_token_secret=twitter.get_request_token()
Go through the authentication flow. Since our example is a simple console application, Twitter will give you a PIN to enter.
authorize_url=twitter.get_authorize_url(request_token)print'Visit this URL in your browser: '+authorize_urlpin=raw_input('Enter PIN from browser: ')
Exchange the authorized request token for an authenticated OAuth1Session
:
session=twitter.get_auth_session(request_token,request_token_secret,method='POST',data={'oauth_verifier':pin})
And now we can fetch our Twitter timeline!
params={'include_rts':1,# Include retweets'count':10}# 10 tweetsr=session.get('statuses/home_timeline.json',params=params)fori,tweetinenumerate(r.json(),1):handle=tweet['user']['screen_name'].encode('utf-8')text=tweet['text'].encode('utf-8')print'{0}. @{1} - {2}'.format(i,handle,text)
Here's the full example: examples/twitter-timeline-cli.py.
Documentation
The Sphinx-compiled documentation is available here: http://readthedocs.org/docs/rauth/en/latest/
Contribution
Anyone who would like to contribute to the project is more than welcome. Basically there's just a few steps to getting started:
Fork this repo Make your changes and write a test for them Add yourself to the AUTHORS file and submit a pull request!Note: Before you make a pull request, please run make check
. If your code
passes then you should be good to go! Requirements for running tests are inrequirements.txt
.
Copyright and License
Rauth is Copyright (c) 2013 litl, LLC and licensed under the MIT license. See the LICENSE file for full details.