https://github.com/Fedihosting-Foundation/plemmy
A Python package for accessing the LemmyHttp API
https://github.com/Fedihosting-Foundation/plemmy
api lemmy
Last synced: about 1 year ago
JSON representation
A Python package for accessing the LemmyHttp API
- Host: GitHub
- URL: https://github.com/Fedihosting-Foundation/plemmy
- Owner: Fedihosting-Foundation
- License: apache-2.0
- Created: 2023-06-19T02:45:36.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-03T13:17:24.000Z (almost 2 years ago)
- Last Synced: 2024-10-03T21:10:02.697Z (over 1 year ago)
- Topics: api, lemmy
- Language: Python
- Homepage:
- Size: 183 KB
- Stars: 46
- Watchers: 7
- Forks: 14
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-lemmy - plemmy - Foundation/plemmy)  (Projects / Libraries)
README
# Plemmy: a Python package for accessing the Lemmy API

[](https://badge.fury.io/gh/Fedihosting-Foundation%2Fplemmy)
[](https://badge.fury.io/py/plemmy)
[](https://raw.githubusercontent.com/Fedihosting-Foundation/plemmy/master/LICENSE.txt)
Plemmy allows you to interact with any Lemmy instance using Python and the [LemmyHttp API](https://join-lemmy.org/api/classes/LemmyHttp.html).
**WARNING:** Plemmy is still in development and needs testing!
## Installation ##
For the most up-to-date version of Plemmy, clone and install from the repository:
```
git clone https://github.com/Fedihosting-Foundation/plemmy
cd plemmy
python -m pip install .
```
A PyPI repository is updated whenever a new version is available:
```
python -m pip install plemmy
```
## Basic usage ##
Interact with a Lemmy instance using the _LemmyHttp_ object:
```python
from plemmy import LemmyHttp
# create object for Lemmy.world, log in
srv = LemmyHttp("https://lemmy.world")
srv.login("", "")
```
Access specific communities:
```python
from plemmy.responses import GetCommunityResponse
# obtain community, parse JSON
api_response = srv.get_community(name="Lemmy")
response = GetCommunityResponse(api_response)
# community info
community = response.community_view.community
print(community.name)
print(community.actor_id)
print(community.id)
# list community moderators
for person in response.moderators:
print(person.moderator.name, person.community.name)
```
Create a post:
```python
from plemmy.responses import PostResponse
# create post, parse JSON
api_response = srv.create_post(community.id, "Test post please ignore", "Body text")
response = PostResponse(api_response)
# post info
post = response.post_view.post
print(post.creator_id)
print(post.community_id)
print(post.name)
print(post.body)
```
Full documentation is on its way, but in the meantime check out our source code and some [examples](https://github.com/Fedihosting-Foundation/plemmy/tree/main/examples).
## Reporting issues, making contributions, etc. ##
Don't hesitate to report a bug or unexpected results! Want to contribute? Make a pull request. Contact [@tjkessler](https://github.com/tjkessler) with any questions.