Metadata-Version: 1.1
Name: Flask-Limiter
Version: 0.3.1
Summary: Rate limiting for flask applications
Home-page: https://flask-limiter.readthedocs.org
Author: Ali-Akber Saifee
Author-email: ali@indydevs.org
License: Copyright (c) 2014 Ali-Akber Saifee 

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


Description: .. |travis-ci| image:: https://secure.travis-ci.org/alisaifee/flask-limiter.png?branch=master
            :target: https://travis-ci.org/#!/alisaifee/flask-limiter?branch=master
        .. |coveralls| image:: https://coveralls.io/repos/alisaifee/flask-limiter/badge.png?branch=master
            :target: https://coveralls.io/r/alisaifee/flask-limiter?branch=master
        .. |pypi| image:: https://pypip.in/v/Flask-Limiter/badge.png
            :target: https://crate.io/packages/Flask-Limiter/
        .. |license| image:: https://pypip.in/license/Flask-Limiter/badge.png
            :target: https://pypi.python.org/pypi/Flask-Limiter/
        
        *************
        Flask-Limiter
        *************
        |travis-ci| |coveralls| |pypi| |license|
        
        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.
        
        .. code-block:: python
        
           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.route("/ping")
           @limiter.exempt
           def ping():
               return 'PONG'
        
           app.run()
        
        
        
        Test it out. The ``fast`` endpoint respects the global rate limit while the
        ``slow`` endpoint uses the decorated one. ``ping`` has no rate limit associated
        with it.
        
        .. code-block:: bash
        
            $ 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>
            $ curl localhost:5000/ping
            PONG
            $ curl localhost:5000/ping
            PONG
            $ curl localhost:5000/ping
            PONG
            $ curl localhost:5000/ping
            PONG
        
        
        
        
        `Read the docs <http://flask-limiter.readthedocs.org>`_
        
        
        
        .. :changelog:
        
        Changelog
        =========
        
        0.3.1 2014-02-20
        ----------------
        * Strict version requirement on six
        * documentation tweaks 
        
        0.3.0 2014-02-19
        ----------------
        * improved logging support for multiple handlers 
        * allow callables to be passed to ``Limiter.limit`` decorator to dynamically
          load rate limit strings.
        * add a global kill switch in flask config for all rate limits.
        * Bug fixes 
        
          * default key function for rate limit domain wasn't accounting for 
            X-Forwarded-For header.
        
        
        
        0.2.2 2014-02-18
        ----------------
        * add new decorator to exempt routes from limiting.
        * Bug fixes 
            
          * versioneer.py wasn't included in manifest. 
          * configuration string for strategy was out of sync with docs.
        
        0.2.1 2014-02-15
        ----------------
        * python 2.6 support via counter backport
        * source docs.
        
        0.2 2014-02-15
        --------------
        * Implemented configurable strategies for rate limiting.
        * Bug fixes 
          
          * better locking for in-memory storage 
          * multi threading support for memcached storage 
        
        
        0.1.1 2014-02-14
        ----------------
        * Bug fixes
        
          * fix initializing the extension without an app
          * don't rate limit static files 
        
        
        0.1.0 2014-02-13
        ----------------
        * first release.
        
        
        
        
        
        
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: Implementation :: PyPy
