{"id":14065068,"url":"https://github.com/mikelane/reddit-get","last_synced_at":"2026-03-10T06:30:57.596Z","repository":{"id":38325298,"uuid":"327790960","full_name":"mikelane/reddit-get","owner":"mikelane","description":"A CLI for getting reddit content. Perfect for using with Obsidian templater","archived":false,"fork":false,"pushed_at":"2026-03-02T02:18:22.000Z","size":3480,"stargazers_count":27,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-02T06:14:53.835Z","etag":null,"topics":["api","obsidian","praw","pytest","python3","pythoon","reddit"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/reddit-get/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikelane.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-01-08T03:41:34.000Z","updated_at":"2026-03-02T02:18:25.000Z","dependencies_parsed_at":"2025-04-12T23:09:02.261Z","dependency_job_id":"d59a52f2-a62e-4bc8-8689-661d99be8207","html_url":"https://github.com/mikelane/reddit-get","commit_stats":{"total_commits":410,"total_committers":2,"mean_commits":205.0,"dds":0.07804878048780484,"last_synced_commit":"647266d7e6a5c1ab9b497a8ce7e98c20a13e93ce"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/mikelane/reddit-get","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikelane%2Freddit-get","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikelane%2Freddit-get/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikelane%2Freddit-get/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikelane%2Freddit-get/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikelane","download_url":"https://codeload.github.com/mikelane/reddit-get/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikelane%2Freddit-get/sbom","scorecard":{"id":335025,"data":{"date":"2025-08-11","repo":{"name":"github.com/mikelane/reddit-get","commit":"44dc5c7fc143f81b1cf0ab621c483641a6ac4889"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.8,"checks":[{"name":"Code-Review","score":-1,"reason":"Found no human activity in the last 15 changesets","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:29","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/dependabot-auto-merge.yml:9","Warn: no topLevel permission defined: .github/workflows/deploy.yml:1","Warn: no topLevel permission defined: .github/workflows/integrate.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/codeql-analysis.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependabot-auto-merge.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/dependabot-auto-merge.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/deploy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/deploy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/deploy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integrate.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/integrate.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integrate.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/integrate.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integrate.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/integrate.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integrate.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/integrate.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integrate.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/mikelane/reddit-get/integrate.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/deploy.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/integrate.yml:40","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T04:31:08.822Z","repository_id":38325298,"created_at":"2025-08-18T04:31:08.822Z","updated_at":"2025-08-18T04:31:08.822Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30326891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api","obsidian","praw","pytest","python3","pythoon","reddit"],"created_at":"2024-08-13T07:04:16.497Z","updated_at":"2026-03-10T06:30:57.565Z","avatar_url":"https://github.com/mikelane.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Reddit Get\n![Reddit-Get Integration](https://github.com/mikelane/reddit-get/workflows/Reddit-Get%20Integration/badge.svg)\n[![codecov](https://codecov.io/gh/mikelane/reddit-get/branch/main/graph/badge.svg)](https://codecov.io/gh/mikelane/reddit-get)\n\nThis is a python CLI that will pull posts from Reddit. In order to use this CLI, you'll need to set up a \nReddit app of your own so that you can authenticate into Reddit with your own credentials. Never fear, \nthis process is pretty straight forward.\n\n## Installation\n\nUsing python 3.8 or later, run `pip3 install reddit-get`. But also, you need to set up a reddit cli app so \nyou can access reddit through the command line. See below for that.\n\n### Create a Reddit Application\n\n1. Navigate to https://reddit.com/prefs/apps\n1. Click `create an app`\n1. You should see something like this:\n\n    ![create an app form](assets/create_an_app_form.png)\n\n1. You can then fill this form out with some values like these (choose whatever you like):\n\n    ![create an app form filled](assets/create_an_app_form_filled.png)\n\nAfter that, you'll need to find the `client_id` and `client_secret` for your new app and insert those into \na configuration file on your system.\n\n### Adding a Reddit-Get Config File\n\n1. Create a file in your home directory called `.redditgetrc` (currently this is the default name and is \n   only configurable when you call the script each time, so this name is probably for the best for now)\n1. Make your reddit config file look like this:\n\n    ```toml\n   [reddit-get]\n   client_id = \"\u003cyour client id here\u003e\"\n   client_secret = \"\u003cyour client secret here\u003e\"\n   user_agent = \"\u003canything, e.g. My super awesome cli app by u/pm_me_myour_apps\u003e\" \n   username = \"\u003cyour reddit username\u003e\"\n   password = \"\u003cyour reddit password\u003e\"\n   ```\n\nOnce this is set up, you should be good to go. \n\n## Example Usage\n\nOnce you've got your cli app set up and reddit-get installed, you can run it like this:\n\n```shell\n$ reddit-get post --subreddit showerthoughts --post_sorting top --limit 10 --time_filter all --header --markdown\n```\nAnd here's what was returned today:\n\n```markdown\n##### *Top Posts from r/showerthoughts*\n- *Whoever created the tradition of not seeing the bride in the wedding dress beforehand saved countless husbands everywhere from hours of dress shopping and will forever be a hero to all men.*\n- *We laugh at dogs getting excited when they hear a bark on TV, but if TV was a nonstop stream of unintelligible noises and then someone suddenly spoke to you in your language, you'd be pretty fucking startled too.*\n- *When you're a kid, you don't realize you're also watching your mom and dad grow up.*\n- *Dads probably bond with dogs so much because, in our society, men don’t get shown a lot of affection but dogs give tons of affection regardless*\n- *Being able to tolerate the sound of your own voice in a video is probably the highest form of self acceptance.*\n- *Girls don't compliment guys because they're likely to take it non-platonically, guys take it non-platonically because it happens so infrequently they don't know how to handle it*\n- *If elevators hadn't been invented, all the CEOs and important people would have their offices on the first floor as a sign of status.*\n- *If EA suffers big enough losses from the backlash of Battlefront 2, and it all started because some guy couldn't unlock Vader, this will be the second time Anakin brought balance to something.*\n- *Being able to do well in high school without having to put in much effort is actually a big disadvantage later in life.*\n- *During a nuclear explosion, there is a certain distance of the radius where all the frozen supermarket pizzas are cooked to perfection.*\n```\n\nFor more help with the post command, you can of course run\n\n```shell\n$ reddit-get post --help\n```\n\n---\n\nEnjoy! This is early stages, so I'll be adding more features as time goes on.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikelane%2Freddit-get","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikelane%2Freddit-get","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikelane%2Freddit-get/lists"}