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.2 (2014-01-15)

  • Added possibility to use a used-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

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.2.tar.gz (13.5 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for RequestsThrottler-0.2.2.tar.gz
Algorithm Hash digest
SHA256 73b9559c7150966464d639a4a3753f06e2d2223a40b0a48a2e5adba84af42ec1
MD5 e1b9ca836fae89a3e618e9bdd899fd16
BLAKE2b-256 9e5d1aa7aecf146198972ad2b2803462f29992f9e2d6df992dc6d4d71e38915d

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