A simple to use rate limiting library for web apps.
Provides an easy way to limit any action during a specific period of time.
- Simple to use: Easy to integrate into your existing codebase.
import pkg/limiter
# Create a new rate limiter with a limit of 5 requests per minute
var rateLimiter = Limiter(
maximumHits: 5'u,
timeLimit: initDuration(seconds = 1),
timeToWait: initDuration(seconds = 2)
)
# Simulate hits
for i in 0 ..< 5:
if i < 5:
assert rateLimiter.hit("127.0.0.1")
else:
assert not rateLimiter.hit("127.0.0.1")
sleep(3000)
assert rateLimiter.hit("127.0.0.1")
- 🐛 Found a bug? Create a new Issue
- 👋 Wanna help? Fork it!
- 😎 Get €20 in cloud credits from Hetzner
- 🥰 Donate via PayPal address
MIT license. Made by Humans from OpenPeeps.
Copyright © 2025 OpenPeeps & Contributors — All rights reserved.