this post was submitted on 21 Jun 2023
43 points (100.0% liked)

Programming

17658 readers
179 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

Hi everyone,

I’d like to share a project I’ve been working on recently, Plemmy! Plemmy allows you to interact with any Lemmy instance using Python and the LemmyHttp API.

Currently all LemmyHttp functions (POST, PUT, GET) have been implemented.

Feel free to provide feedback or contribute in any way!

top 6 comments
sorted by: hot top controversial new old
[–] clawlor 4 points 2 years ago

create_form(locals()) is so elegant! Each API endpoint is almost entirely described by the method signature alone, about as DRY as can be. Very clever (the good kind!)

[–] bugsmith 3 points 2 years ago (1 children)

Just checked it out. Big fan of the simplicity you've kept with this. Do you think it would be worth adding in some kind of rate limiting functionality?

[–] [email protected] 1 points 2 years ago (1 children)

I believe rate limits (messages, images, sign-ups etc.) can be defined for a site 1.) on creation using the create_site function and 2.) editing a site using the edit_site function.

[–] bugsmith 1 points 2 years ago

I think that is if you are setting the rate limit for a new instance (which I suppose could only be useful when automating instance setup? Otherwise, I don't see a purpose for those endpoints).

What I meant was rate limiting functionality client side. So you can respect the rate limit of whatever instance you are interacting with. Either some kind of token bucket or exponential backoff.

[–] [email protected] 3 points 2 years ago (1 children)

Nice! I had created a partial implementation of the API in my own project but I think I'll replace it with yours this weekend :)

[–] [email protected] 1 points 2 years ago

I like the idea of a Reddit-Lemmy cross-poster! It should make transitioning to Lemmy a bit easier for those used to seeing more Reddit-like content.