Awesome
Plemmy: a Python package for accessing the Lemmy API
<img src="https://github.com/Fedihosting-Foundation/plemmy/blob/main/img/plemmy.png" alt="drawing" width="325"/>Plemmy allows you to interact with any Lemmy instance using Python and the LemmyHttp API.
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:
from plemmy import LemmyHttp
# create object for Lemmy.world, log in
srv = LemmyHttp("https://lemmy.world")
srv.login("<username_or_email>", "<password>")
Access specific communities:
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:
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.
Reporting issues, making contributions, etc.
Don't hesitate to report a bug or unexpected results! Want to contribute? Make a pull request. Contact @tjkessler with any questions.