{"id":21719454,"url":"https://github.com/paramt/trackarma","last_synced_at":"2025-04-12T20:34:56.699Z","repository":{"id":48355558,"uuid":"177426798","full_name":"paramt/trackarma","owner":"paramt","description":"A python script that tracks reddit karma ","archived":false,"fork":false,"pushed_at":"2021-07-30T10:28:49.000Z","size":89,"stargazers_count":13,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T14:51:17.499Z","etag":null,"topics":["karma","praw","python","reddit","reddit-karma"],"latest_commit_sha":null,"homepage":"https://www.param.me/trackarma","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paramt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"patreon":"paramt"}},"created_at":"2019-03-24T14:36:16.000Z","updated_at":"2024-01-10T22:49:09.000Z","dependencies_parsed_at":"2022-08-24T14:49:46.084Z","dependency_job_id":null,"html_url":"https://github.com/paramt/trackarma","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramt%2Ftrackarma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramt%2Ftrackarma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramt%2Ftrackarma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramt%2Ftrackarma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paramt","download_url":"https://codeload.github.com/paramt/trackarma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631158,"owners_count":21136548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["karma","praw","python","reddit","reddit-karma"],"created_at":"2024-11-26T01:37:43.429Z","updated_at":"2025-04-12T20:34:56.668Z","avatar_url":"https://github.com/paramt.png","language":"Python","funding_links":["https://patreon.com/paramt"],"categories":[],"sub_categories":[],"readme":"# Trackarma \u003cimg align=\"left\" width=42 src=\"https://www.param.me/trackarma/favicon.png\"\u003e\n\n[![Build](https://img.shields.io/travis/paramt/trackarma/master.svg?style=for-the-badge)](https://travis-ci.org/paramt/trackarma)\n[![CodeFactor](https://www.codefactor.io/repository/github/paramt/trackarma/badge/?style=for-the-badge)](https://www.codefactor.io/repository/github/paramt/trackarma)\n\nA simple python script that uses [PRAW](https://praw.readthedocs.io/en/latest/)\nto track Reddit karma. The script logs an account's total karma and dynamically\ngenerates a chart with the data it's collected. Below is an example using data\ncollected from [/u/GallowBoob](https://www.reddit.com/user/GallowBoob) \u0026ndash;\na Redditor who's infamous for his high karma count. The chart is showing data that\nwas collected every minute for over 3 months.\n\n![Image](http://api.param.me/trackarma/charts/transparent/nogrid.png)\n\n## Setup\n\n#### 1. Clone the repo\n`git clone https://github.com/paramt/trackarma.git`\n\n#### 2. Install dependencies\n- `pip install praw`\n- `pip install matplotlib`\n\n#### 3. Configure PRAW\n- Create a new app on Reddit\n    * [Follow this link](https://www.reddit.com/prefs/apps/)\n    * Click `create new app`\n    * Choose `personal use script`\n    * Add a name and description\n    * Click `create app` and copy the ID and secret\n- Create a file named `praw.ini` inside the repo\n- Make a new configuration that looks like this\n```ini\n[Bot]\nclient_id=[YOUR APP ID]\nclient_secret=[YOUR APP SECRET]\nuser_agent=Karma Tracker Bot 1.0\n```\n\n#### 4. Configure Trackarma\n- Open `constants.py`\n- Change the value of `reddit_name` to the username you're tracking\n- Optionally, you can change other constants there (like the chart's title)\n\n#### 5. Set up a scheduled task\nRun `sudo python -m src.collect_data` at a constant interval using [Crontab](https://www.howtogeek.com/101288/how-to-schedule-tasks-on-linux-an-introduction-to-crontab-files/) on Linux or  [Task Scheduler](http://theautomatic.net/2017/10/03/running-python-task-scheduler/) on Windows.\nTo generate the chart, run `sudo python -m src.generate_chart`. The live example is running both commands every minute, but you may choose to run them at any interval\n\n#### Output\nThe script will output everything in `data/`\n\n- `chart.png` \u0026ndash; a line graph displaying the Redditor's karma over time\n- `dates.txt`\u0026ndash; the datetime entries of each time `collect_data.py` ran \n- `karma-total.txt` \u0026ndash; a record of the Redditor's karma over time\n- `karma-delta.txt` \u0026ndash; a record of the Redditor's karma gain over time\n\n## License\nThis project is licensed under the [MIT license](LICENSE). You are free to use, modify, and distribute the source code as long as you include the original license file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparamt%2Ftrackarma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparamt%2Ftrackarma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparamt%2Ftrackarma/lists"}