All Projects → praw-dev → Praw

praw-dev / Praw

Licence: bsd-2-clause
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Praw

Jraw
The Java Reddit API Wrapper
Stars: ✭ 320 (-88.04%)
Mutual labels:  api, reddit-api, oauth, reddit
aPRAW
Asynchronous Python Reddit API Wrapper
Stars: ✭ 49 (-98.17%)
Mutual labels:  oauth, reddit, reddit-api
Social Amnesia
Forget the past. Social Amnesia makes sure your social media accounts only show your posts from recent history, not from "that phase" 5 years ago.
Stars: ✭ 656 (-75.48%)
Mutual labels:  api, reddit-api, reddit
Shreddit
Remove your comment history on Reddit as deleting an account does not do so.
Stars: ✭ 669 (-74.99%)
Mutual labels:  reddit-api, oauth, reddit
reddit-comment-bot
Reddit bot that auto replies to comments on set subreddits
Stars: ✭ 59 (-97.79%)
Mutual labels:  reddit, reddit-api, praw
Psraw
PowerShell Reddit API Wrapper
Stars: ✭ 42 (-98.43%)
Mutual labels:  api, reddit-api, reddit
Httpie Oauth
OAuth plugin for HTTPie
Stars: ✭ 78 (-97.08%)
Mutual labels:  api, oauth
Zhihu Oauth
尝试解析出知乎官方未开放的 OAuth2 接口,并提供优雅的使用方式,作为 zhihu-py3 项目的替代者,目前还在实验阶段
Stars: ✭ 1,237 (-53.76%)
Mutual labels:  api, oauth
Flickr Sdk
Almost certainly the best Flickr API client in the world for node and the browser
Stars: ✭ 104 (-96.11%)
Mutual labels:  api, oauth
Reddit Detective
Play detective on Reddit: Discover political disinformation campaigns, secret influencers and more
Stars: ✭ 129 (-95.18%)
Mutual labels:  api, reddit
Starling Api Web Starter Kit
Starter kit and example app for using the Starling API.
Stars: ✭ 46 (-98.28%)
Mutual labels:  api, oauth
Mvvm Reddit
A companion project for our blog post on better Android software development using MVVM with RxJava.
Stars: ✭ 106 (-96.04%)
Mutual labels:  reddit-api, reddit
Go Reddit
Go library for accessing the Reddit API.
Stars: ✭ 175 (-93.46%)
Mutual labels:  api, reddit
Reddsaver
CLI tool to download saved and upvoted media from Reddit
Stars: ✭ 76 (-97.16%)
Mutual labels:  reddit-api, reddit
Ohloh api
Ohloh API examples
Stars: ✭ 64 (-97.61%)
Mutual labels:  api, oauth
Reddit Bot
🤖 Making a Reddit Bot using Python, Heroku and Heroku Postgres.
Stars: ✭ 99 (-96.3%)
Mutual labels:  reddit-api, reddit
Netcore Postgres Oauth Boiler
A basic .NET Core website boilerplate using PostgreSQL for storage, Adminer for db management, Let's Encrypt for SSL certificates and NGINX for routing.
Stars: ✭ 57 (-97.87%)
Mutual labels:  oauth, reddit
Swiftlysalesforce
The swiftest way to build iOS apps that connect to Salesforce
Stars: ✭ 115 (-95.7%)
Mutual labels:  api, oauth
Unim.press
A Reddit front-page reader in the style of The New York Times.
Stars: ✭ 199 (-92.56%)
Mutual labels:  reddit-api, reddit
Hwioauthbundle
OAuth client integration for Symfony. Supports both OAuth1.0a and OAuth2.
Stars: ✭ 2,150 (-19.63%)
Mutual labels:  api, oauth

PRAW: The Python Reddit API Wrapper

Latest PRAW Version Supported Python Versions PyPI - Downloads - Monthly Coveralls Coverage Github Actions Coverage pre-commit Contributor Covenant

PRAW, an acronym for "Python Reddit API Wrapper", is a Python package that allows for simple access to Reddit's API. PRAW aims to be easy to use and internally follows all of Reddit's API rules. With PRAW there's no need to introduce sleep calls in your code. Give your client an appropriate user agent and you're set.

Installation

PRAW is supported on Python 3.7+. The recommended way to install PRAW is via pip.

pip install praw

To install the latest development version of PRAW run the following instead:

pip install --upgrade https://github.com/praw-dev/praw/archive/master.zip

For instructions on installing Python and pip see "The Hitchhiker's Guide to Python" Installation Guides.

Quickstart

Assuming you already have a credentials for a script-type OAuth application you can instantiate an instance of PRAW like so:

import praw

reddit = praw.Reddit(
    client_id="CLIENT_ID",
    client_secret="CLIENT_SECRET",
    password="PASSWORD",
    user_agent="USERAGENT",
    username="USERNAME",
)

With the reddit instance you can then interact with Reddit:

# Create a submission to r/test
reddit.subreddit("test").submit("Test Submission", url="https://reddit.com")

# Comment on a known submission
submission = reddit.submission(url="https://www.reddit.com/comments/5e1az9")
submission.reply("Super rad!")

# Reply to the first comment of a weekly top thread of a moderated community
submission = next(reddit.subreddit("mod").top("week"))
submission.comments[0].reply("An automated reply")

# Output score for the first 256 items on the frontpage
for submission in reddit.front.hot(limit=256):
    print(submission.score)

# Obtain the moderator listing for r/redditdev
for moderator in reddit.subreddit("redditdev").moderator():
    print(moderator)

Please see PRAW's documentation for more examples of what you can do with PRAW.

Discord Bots and Asynchronous Environments

If you plan on using PRAW in an asynchronous environment, (e.g., discord.py, asyncio) it is strongly recommended to use Async PRAW. It is the official asynchronous version of PRAW and its usage is similar and has the same features as PRAW.

PRAW Discussion and Support

For those new to Python, or would otherwise consider themselves a Python beginner, please consider asking questions on the r/learnpython subreddit. There are wonderful people there who can help with general Python and simple PRAW related questions.

Otherwise, there are a few official places to ask questions about PRAW:

r/redditdev is the best place on Reddit to ask PRAW related questions. This subreddit is for all Reddit API related discussion so please tag submissions with [PRAW]. Please perform a search on the subreddit first to see if anyone has similar questions.

Real-time chat can be conducted via the PRAW Slack Organization (please create an issue if that invite link has expired).

Please do not directly message any of the contributors via Reddit, email, or Slack unless they have indicated otherwise. We strongly encourage everyone to help others with their questions.

Please file bugs and feature requests as issues on GitHub after first searching to ensure a similar issue was not already filed. If such an issue already exists please give it a thumbs up reaction. Comments to issues containing additional information are certainly welcome.

Note

This project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Documentation

PRAW's documentation is located at https://praw.readthedocs.io/.

History

August 2010: Timothy Mellor created a github project called reddit_api.

March 2011: The Python package reddit was registered and uploaded to pypi.

December 2011: Bryce Boe took over as maintainer of the reddit package.

June 2012: Bryce renamed the project PRAW and the repository was relocated to the newly created praw-dev organization on GitHub.

February 2016: Bryce began work on PRAW4, a complete rewrite of PRAW.

License

PRAW's source (v4.0.0+) is provided under the Simplified BSD License.

  • Copyright ©, 2016, Bryce Boe

Earlier versions of PRAW were released under GPLv3.

Sponsors

Nuclei
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].