Tools to create reports using the Reddit API + praw library.
Project description
RedditReport
Python package created for trendsreport.app
This package relies on praw library to communicate with Reddit API. To install it:
pip install praw==7.1.4
pip install redditreport
Classes
RedditUser
It represents a Reddit account to interact with the Reddit API. Its only method get_reddit_instance returns a praw Reddit instance.
RedditPost
It represents the Reddit post. It contains a praw submission object and some post data:
- sub_name
- title
- url
- score
- num_comments
Its only method as_dict returns a Python dict object with the data stored in it.
You don't need to use this class unless you want to modify what the report contains.
RedditReport
It represents the actual Reddit report. In order to work, it needs to be passed in some initial attributes:
reddit-> aprawReddit instance. You can get it usig RedditUser'sget_reddit_instancemethod.subs_list-> a Python list object with the names (as strings) of the subreddits you do want to include in the report.lines_per_sub-> a maximum post limit per sub in the report.
The report data is stored in its report_data attribute as a Python dict.
It has two methods:
generate_datawhich populatesreport_datadict with RedditPost's objects.serializewhich transform every object insidereport_datainto a dict of strings.
Example
from redditreport.core import RedditUser as ru
from redditreport.core import RedditReport as rr
# Your Reddit API credentials.
# More info: https://www.geeksforgeeks.org/python-praw-python-reddit-api-wrapper/
client_id = 'your-client-id'
client_secret = 'your-client-secret'
user_agent = 'your-user-agent'
reddit_user = ru.RedditUser(client_id, client_secret, user_agent)
# Reddit object instance from praw library
reddit_instance = reddit_user.get_reddit_instance()
# RedditReport instance
subs_list = ['pics', 'askreddit'] # must be a list
lines_per_sub = 3 # must be an integer
reddit_report = rr.RedditReport(reddit_instance, subs_list, lines_per_sub)
# Pulls data from Reddit
report_data = reddit_report.generate_data()
# Serializes it
serialized_report_data = reddit_report.serialize()
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file redditreport-0.4.0.tar.gz.
File metadata
- Download URL: redditreport-0.4.0.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49162b4335b13f4d4979a443c89f44ffc998c07181d73a4598622176866cfe6e
|
|
| MD5 |
5199744de194e7177c86e19d4feaf7fb
|
|
| BLAKE2b-256 |
0a49147b1dab3c6a6147bfc162ea5802229cfd75f0cec1bff7363c5d82994716
|
File details
Details for the file redditreport-0.4.0-py3-none-any.whl.
File metadata
- Download URL: redditreport-0.4.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
065d5729d5c742490ffcf7bda9440835950a596d5ced484137237744cd75f1af
|
|
| MD5 |
afaace6605f0a241838c563e43b080ae
|
|
| BLAKE2b-256 |
2da64fd6d9cc5e0684c4c9659d822b62766d259173646589bd3c3b4f4a59050d
|