{"id":17047710,"url":"https://github.com/konradit/parler-py-api","last_synced_at":"2025-04-12T03:25:35.279Z","repository":{"id":44586538,"uuid":"280952329","full_name":"KonradIT/parler-py-api","owner":"KonradIT","description":"UNOFFICIAL Python API to interface with Parler.com","archived":false,"fork":false,"pushed_at":"2024-07-23T19:01:31.000Z","size":121,"stargazers_count":53,"open_issues_count":5,"forks_count":14,"subscribers_count":9,"default_branch":"v2","last_synced_at":"2025-03-25T00:03:20.049Z","etag":null,"topics":["disinformation","parler","research"],"latest_commit_sha":null,"homepage":"","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/KonradIT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"konradit","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"paypal.me/konradit"}},"created_at":"2020-07-19T21:19:03.000Z","updated_at":"2025-01-17T04:00:17.000Z","dependencies_parsed_at":"2024-11-13T21:04:09.186Z","dependency_job_id":"597f8253-c3b5-463a-8785-5ecc89e32bd6","html_url":"https://github.com/KonradIT/parler-py-api","commit_stats":{"total_commits":68,"total_committers":8,"mean_commits":8.5,"dds":0.4852941176470589,"last_synced_commit":"0588969722b0524e0ef45d143989b010c6fff316"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonradIT%2Fparler-py-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonradIT%2Fparler-py-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonradIT%2Fparler-py-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonradIT%2Fparler-py-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KonradIT","download_url":"https://codeload.github.com/KonradIT/parler-py-api/tar.gz/refs/heads/v2","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248511251,"owners_count":21116375,"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":["disinformation","parler","research"],"created_at":"2024-10-14T09:50:06.742Z","updated_at":"2025-04-12T03:25:35.249Z","avatar_url":"https://github.com/KonradIT.png","language":"Python","readme":"# Parler API interface for Python\n\n![](https://i.imgur.com/uPUw5p1.jpg)\n\nThis **UNOFFICIAL** library designed to programatically fetch data from parler.com\n\n# IMPORTANT ANNOUNCEMENT:\n\n~~This library supports the new (as of 2022-02-06) Parler `open-api` / logged-in endpoints. Both logged in and guest modes are supported.~~\n\n**Show is back on!** Now this library supports the *even newer* (as of 2022-10-21) Parler `/v0/` and `/v0/public` endpoints. Same caveats, both logged in and guest modes are supported\n\n# To do list:\n\n- [X] Implement unfinished authed functions\n- [ ] Rework experiments\n- [ ] Have a github action (several!) to archive posts, run analysises, etc..\n- [ ] Implement controls for header `x-ratelimit-limit` and `x-ratelimit-limit-remaining`\n- [X] Testing, testing\n- [X] Publish to pypi\n\n## Authentication:\n\nThere are two modes of using the API. **Authenticated** and **Guest**.\n\nAuthentication is done by initializing the `Parler` class, importing `Parler.with_auth` and initializing an `AuthSession` with your credentials.\n\n```python\nfrom Parler import with_auth as authed\n\nau = authed.AuthSession(debug=False)\nau.is_logged_in # ==\u003e False\nau.login(\n\tidentifier=os.getenv(\"email\"),\n\tpassword=os.getenv(\"password\")\n)\n\nau.is_logged_in # ==\u003e True\n```\n\nHere is a chart of how the functions are \"loginwalled\" or not.\n\n| Function           | Description                                                                            | API Type needed |\n|--------------------|----------------------------------------------------------------------------------------|-----------------|\n| `.profile()`       | Get information from a specified username                                              | Guest           |\n| `.user_feed()`     | Get Parleys and echoes from a specified username                                       | Guest           |\n| `.trending()`      | Get trending people                                                                    | Guest           |\n| `.feed()`          | Get feed                                                                               | Authenticated   |\n| `.users()`         | Search for users                                                                       | Authenticated   |\n| `.hashtags()`      | Search for hashtags                                                                    | Authenticated   |\n| `.following()`     | Get following profiles from specified username                                         | Authenticated   |\n| `.comments()`      | Get comments from a specified post ID                                                  | Authenticated   |\n\n## Installation\n\n#### From pypi:\n\n```\npip install parler-api\n```\n\n#### Clone and run locally:\n\nIf using `pipenv`:\n\n```\npipenv install\npipenv shell\n```\n\nIf using `pip`:\n\n```\npip install -r requirements.txt\n```\n\n## Experiments:\n\nCollected the suggested hashtags for a 9 hour period, [data here](./sampledata/hashtags.csv)\n\nOther experiments available as well.\n\n## Contributing:\n\nFeel free to improve the code, submit your experiments and sample code or fix bugs. Before submitting a PR, run `pep8` linter on your code.\n\n## Donate:\n\nIf you found this package useful, [consider donating](https://paypal.me/konradit).\n\n## Disclaimer:\n\nI am in now way affiliated with Parler, it's subsidiaries or any entity related to the company. I am not responsible for what you do with this Python package.\n\n2009/24/EC Art 5:\n\n```\nThe person having a right to use a copy of a computer program shall be entitled, without the authorisation of the rightholder, to observe, study or test the functioning of the program in order to determine the ideas and principles which underlie any element of the program if he does so while performing any of the acts of loading, displaying, running, transmitting or storing the program which he is entitled to do.\n```\n","funding_links":["https://github.com/sponsors/konradit","paypal.me/konradit","https://paypal.me/konradit"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkonradit%2Fparler-py-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkonradit%2Fparler-py-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkonradit%2Fparler-py-api/lists"}