batch-async-http
This tool was designed to make batch async requests via http very simple! All you need to do is attach a decorator to your http request function and the rest is handled for you.
Behind the scenes your input is turned into a generator with batches of your specified size, and mapped asynchronously to your http request function!
See the source for this project here: https://https://github.com/MiesnerJacob/batch_async_http.
How to install:
pip install batch-async-http
Usage
A typical function to make http requests to a REST API may look something like this:
import requests
def call_api(example_input: list):
# URL to call
url = 'http://xx.xxx.xxx.xx/example_endpoint/'
# Input to API
params = {
"raw": example_input,
}
# API calls
r = requests.post(url, json=params)
response = r.json()
return response
A typical async function to make http requests to a REST API may look something like this:
import httpx
async def call_api(example_input: list):
# URL to call
url = 'http://xx.xxx.xxx.xx/example_endpoint/'
# Input to API
params = {
"raw": example_input,
}
# Concurrent API calls
async with httpx.AsyncClient(timeout=None) as client:
r = await client.post(url, json=params)
response = r.json()
return response
The power of batching your async requests is now just as easy as applying a simple decorator to your async function:
import httpx
from batch_async_http import batch_async
@batch_async(size=8)
async def call_api(example_input: list):
# URL to call
url = 'http://xx.xxx.xxx.xx/example_endpoint/'
# Input to API
params = {
"raw": example_input,
}
# Concurrent API calls
async with httpx.AsyncClient(timeout=None) as client:
r = await client.post(url, json=params)
response = r.json()
return response
Enjoy your increased efficiency with minimal effort!
Metadata
Release files for batch-async-http 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| batch_async_http-0.0.1.tar.gz | 2.9 kB | Details |
Release files / batch_async_http-0.0.1.tar.gz
| Download URL | batch_async_http-0.0.1.tar.gz |
|---|---|
| Size | 2.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e215fe45d6200d7767b7d6909fabc33866886d9d62d3966a215dd238a1aa3b61
|
|
BLAKE2b-256 checksum How to use checksums |
6dccb862e3fb48e5ca5f899ccea95d59c4ca8b8001e2786860c3b4cf3ffcf280
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/3.10.1 pkginfo/1.8.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.6
|