Metadata-Version: 2.1
Name: RequestsThrottler
Version: 0.2.5
Summary: Python HTTP requests throttler
Home-page: https://github.com/se7entyse7en/requests-throttler
Author: Lou Marvin Caraig
Author-email: loumarvincaraig@gmail.com
License: Apache 2.0
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP
Description-Content-Type: text/markdown
Requires-Dist: requests (>=2.1.0)
Requires-Dist: futures (>=2.1.5)

# RequestsThrottler: HTTP requests throttler

RequestsThrottler is an Apache2 Licensed HTTP library, written in Python, and powered by futures and [Requests](https://github.com/kennethreitz/requests).
See the [full documentation](http://pythonhosted.org/RequestsThrottler).

With RequestsThrottler you can easily throttle HTTP requests! After having created your throttler with a delay of your choice, you just have to:

1. Start the throttler
2. Submit your requests
3. Shutdown the throttler

Here's an example:

    import requests
    from requests_throttler import BaseThrottler

    bt = BaseThrottler(name='base-throttler', delay=1.5)
    request = requests.Request(method='GET', url='http://www.google.com')
    reqs = [request for i in range(0, 5)]

    bt.start()
    throttled_requests = bt.multi_submit(reqs)
    bt.shutdown()

    responses = [tr.response for tr in throttled_requests]


Too hard? Then just submit your requests inside a with statement! Here's an example:

    import requests
    from requests_throttler import BaseThrottler

    with BaseThrottler(name='base-throttler', delay=1.5) as bt:
        request = requests.Request(method='GET', url='http://www.google.com')
        reqs = [request for i in range(0, 5)]
        throttled_requests = bt.multi_submit(reqs)

    responses = [tr.response for tr in throttled_requests]


## Installation

Use `pip` to install RequestsThrottler:

    $ pip install RequestsThrottler


## Features

- `BaseThrottler` a simple throttler with a fixed amount of delay


# Release History


## 0.2.5 (2019-02-18)

- Unpinned deps in `setup.py`


## 0.2.4 (2014-07-13)

- Fixed wrong request preparation (thanks to bleedinge for reporting the problem)


## 0.2.3 (2014-02-16)

- Fixed installation via `pip` (thanks to Gavin D'mello for reporting the problem)


## 0.2.2 (2014-01-15)

- Added possibility to use a user-defined session when using `BaseThrottler`
- Fixed example, updated README


## 0.2.1 (2014-01-14)

- Added implicit way to set `delay` for `BaseThrottler` by using `reqs_over_time`


## 0.2.0 (2014-01-04)

- Reorganized modules
- Changed `submit` method signature in favor of two methods: `submit` and `multi_submit`
- Added documentation


## 0.1.1 (2013-12-31)

- Fixed not working previous release
- Changed example.py


## 0.1.0 (2013-12-30)

- `BaseThrottler` a simple throttler with a fixed amount of delay


