Skip to main content

Python HTTP requests throttler

Project description

RequestsThrottler: HTTP requests throttler

RequestsThrottler is an Apache2 Licensed HTTP library, written in Python, and powered by futures and Requests. See the full documentation.

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

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

Uploaded Source

Built Distribution

RequestsThrottler-0.2.5-py2-none-any.whl (16.1 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: RequestsThrottler-0.2.5.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for RequestsThrottler-0.2.5.tar.gz
Algorithm Hash digest
SHA256 dabba1fc94353199ba61541b58462012388f445ffc0f89f25856739ad544e395
MD5 3d16ba27f7324e4920a56fe843f26b18
BLAKE2b-256 d3f3a7e9e051f356c3b412bcb139ebbb26e5750be2d6af7c64aa495d125787b5

See more details on using hashes here.

File details

Details for the file RequestsThrottler-0.2.5-py2-none-any.whl.

File metadata

  • Download URL: RequestsThrottler-0.2.5-py2-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for RequestsThrottler-0.2.5-py2-none-any.whl
Algorithm Hash digest
SHA256 c25cf05be5ecceb624d4e6d65d621d764d9385a027613dae4847d4fc67126680
MD5 982129ae36bd81c19ce7cdac8fa531d6
BLAKE2b-256 023eb855f66645325147fd0e81bdca64ded6f61b7d0e962a8d24e8f64b93c7ce

See more details on using hashes here.

Supported by

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