Skip to main content

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)

Source distribution for batch-async-http 0.0.1
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

Release history Release notifications | RSS feed

This release

0.0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page