Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A proposal to sponsor improvements #232

Open
laurentS opened this issue Feb 26, 2025 · 0 comments
Open

A proposal to sponsor improvements #232

laurentS opened this issue Feb 26, 2025 · 0 comments

Comments

@laurentS
Copy link
Owner

slowapi has passed the 2^10 (1024) stars mark (1361 as I write this), over 4k public repositories are using it, and who knows how many private ones.

I have been maintaining the package on my spare time since the beginning, and while I wrote it to "scratch my own itch", I have not actually been using it myself for a while now (as in, several years).

There have been a number of requests for various features and improvements, many of which appear to come from companies, most probably making money with the library (or more exactly, probably enforcing limits on their customers' paid plans, given the recurring ask about the ability to link a limit to the request object). Some requests have been polite and nice, others not so much.

I have added a lot of people to this repo (as per #58) over time: 16 were invited, 13 accepted the invite (and it looks like I forgot to invite another 8 people who submitted PRs, my apologies, that invite is still ready for you if you want it 😅). There have been a few bits of help, but nobody has stepped up to take over the job of maintainer.

Given that I also don't want this repo to become abandonware because the package clearly is useful, I can see 2 ways forward:

  1. one or two people come forward and take over the maintenance of the package. We can arrange to move the repo under an org or something, and I can get out of the picture. This hasn't happened yet, but I'm putting the offer on the table just in case. Preferably, I think it would make sense for someone who's already contributed to take over.
  2. I could work on an overhaul of the package with the following purposes:
  • switch to a dependency injection structure instead of the current decorator approach. This would allow using values computed at request time instead of at app start up time, including the most requested feature. See Dynamic rate limit based on user type #13 for some context.
  • go fully async. Right now the code that checks limits is blocking on each request. Though I have not quantified this, I expect the performance impact to be non-negligible.
  • improve the release process so that community contributions can be pushed to pypi with very little effort, hoping that all the people in this repo can help each other out with minimal effort.

I cannot do this for free however, and this is where you come in. This post is essentially offering you to throw a bit of money at me to improve this library that you use everyday.

Looking at https://pypistats.org/packages/slowapi it is pretty obvious that pulls from pypi are overwhelmingly happening during weekdays, which tends to confirm the idea that people use this package at work.

Let's discuss this on this issue, and hopefully find a way to make this work for everyone.

@laurentS laurentS pinned this issue Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant