A Queue That Respects Rate Limits.
The original prototype for this code was written to rate-limit calls to a geocoding api via geopy.
import geopy
from rate_limited_queue import RateLimitedQueue, RateLimit
addresses = open("some_file_of_addresses.txt").read().splitlines()
# No more than ten addresses geocoded per second
rate_limit = RateLimit(duration=1, max_per_interval=10)
geocoder = geopy.geocoder.OpenMapQuest()
q = RateLimitedQueue(
addresses,
processing_function = geocoder.geocode,
rate_limits = [rate_limit])
# Grabs the geocoded locations, but doesn't process
# more than ten per second
geocoded_locations = q.process()
Check out the docs for more information.
Installation
It’s up on PyPI, so just do a:
pip install rate_limited_queue
or:
sudo pip install rate_limited_queue
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file rate_limited_queue-0.0.6.tar.gz.
File metadata
- Download URL: rate_limited_queue-0.0.6.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f06126e4bddd8f4dbd120a5bee457ee4329768564b65da42c48d7e631bda7041
|
|
| MD5 |
6ece4e2106e18237b407dfbd96e3510e
|
|
| BLAKE2b-256 |
6fc56dc38acc7441c673983060ac38af5b009df13b15377cb967dfea1c8c8215
|