Skip to main content

Python HTTP requests throttler

Project description

RequestsThrottler is an Apache2 Licensed HTTP library, written in Python, and powered by futures and Requests. See the full documentation at 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.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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RequestsThrottler-0.2.1.tar.gz (13.3 kB view details)

Uploaded Source

File details

Details for the file RequestsThrottler-0.2.1.tar.gz.

File metadata

File hashes

Hashes for RequestsThrottler-0.2.1.tar.gz
Algorithm Hash digest
SHA256 42bb55603a62010ad90ae73f247a36a3e0097b8d62435566c16090b907b22dfa
MD5 50fd70cdaa4f7e8e45073be6c625ba0c
BLAKE2b-256 bdbcf7abf22b7c7bcad31b53d6bdc82a665f65493c8eea5c1ec40b9ac1f2093c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page