Flask-Limiter
Flask-Limiter provides rate limiting features to flask routes. It has support for a configurable backend for storage with current implementations for in-memory, redis and memcache.
Quickstart
Add the rate limiter to your flask app. The following example uses the default in memory implementation for storage.
from flask import Flask
from flask_limiter import Limiter
app = Flask(__name__)
limiter = Limiter(app, global_limits=["2 per minute", "1 per second"])
@app.route("/slow")
@limiter.limit("1 per day")
def slow():
return "24"
@app.route("/fast")
def fast():
return "42"
app.run()
Test it out. The fast endpoint respects the global rate limit while the slow endpoint uses the decorated one.
$ curl localhost:5000/fast
42
$ curl localhost:5000/fast
42
$ curl localhost:5000/fast
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>429 Too Many Requests</title>
<h1>Too Many Requests</h1>
<p>2 per 1 minute</p>
$ curl localhost:5000/slow
24
$ curl localhost:5000/slow
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>429 Too Many Requests</title>
<h1>Too Many Requests</h1>
<p>1 per 1 day</p>
0.1.0 2014-02-13
first release.
Metadata
Release files for Flask-Limiter 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Flask-Limiter-0.1.0.tar.gz | 65.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Flask_Limiter-0.1.0-py2.7.egg | Legacy Egg format | - | - | Details |
Total release size: 95.4 kB
Release files / Flask-Limiter-0.1.0.tar.gz
| Download URL | Flask-Limiter-0.1.0.tar.gz |
|---|---|
| Size | 65.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f3d535880e6ff8258df03b5707d727e2edc61fc741541fc95cbc5a953ac40093
|
|
BLAKE2b-256 checksum How to use checksums |
979bae848472de9457731673882ffadef39576a74f616f1e41359513ceb3d1c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / Flask_Limiter-0.1.0-py2.7.egg
| Download URL | Flask_Limiter-0.1.0-py2.7.egg |
|---|---|
| Size | 29.9 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
a5ab2471e86d9bc67070027743e09cd8275dd880848b4476cb0480233f73c4a0
|
|
BLAKE2b-256 checksum How to use checksums |
745903d41392f585a0734374b7a1db128d4705e3b165eaa3027a2294f2ffda19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |