Plain Python in. Remote hardware out. These examples scale copyable scripts onto CPUs, A100 GPUs, custom Docker images, and explicit concurrency limits without turning the project into a distributed-systems rewrite.
| 21 example folders from one-file fan-out to full pipelines |
9 live demos with published findings and artifacts |
CPU, GPU, Docker changed per function call |
One Python APIremote_parallel_map |
Live gallery · Burla docs · Pick a collection · What Burla shows off
| Collection | Start here if you want to see... | Examples |
|---|---|---|
| Data stories with live sites | finished, explorable outputs built from large public datasets | Airbnb, Kentucky Derby, Amazon Reviews, NYC Taxi, arXiv, The Met, World Photo Index, GitHub READMEs, Hospital Prices |
| ML, embeddings, and vision | model-heavy jobs where runtime and hardware choice matter | A100 embeddings, batch inference |
| Production data jobs | the scripts data teams actually need to make fast and reliable | image resize, Parquet, pandas, ETL, APIs, scraping |
| Native tools and simulations | binaries, geospatial dependencies, and massive independent compute | BWA-MEM, GDAL, Monte Carlo |
These are the showpieces: real corpora, real scale, and static sites you can open before reading a single line of code.
These examples are about changing the machine under a Python function: CPUs for download and preprocessing, GPUs for inference, and custom images when the runtime actually matters.
The practical middle of the repo: common data work that usually becomes slow, fragile, or over-orchestrated when it leaves one laptop.
Examples for workloads that do not fit neatly into dataframe systems: native binaries, geospatial stacks, and embarrassingly parallel simulation.
| Capability | Where it shows up |
|---|---|
| Change hardware per call | CPU photo scoring in Airbnb, A100 embedding in Wikipedia/arXiv/The Met, CPU-only simulation in Kentucky Derby |
| Change runtime per function | CUDA image for embeddings, GDAL image for raster jobs, BWA/samtools image for genomics |
| Keep plain Python control flow | scripts call remote_parallel_map directly instead of rewriting into Spark, Ray, Airflow, or Kubernetes objects |
| Put concurrency in the code | API limits, Postgres protection, website politeness, and cluster quota control live next to the workload |
| Stream useful artifacts back | generated sites, Parquet shards, vector indexes, JSON outputs, and progress from generator=True |
from burla import remote_parallel_map
cpu_results = remote_parallel_map(
parse_one_file,
files,
func_cpu=2,
func_ram=8,
max_parallelism=1000,
generator=True,
)
gpu_vectors = remote_parallel_map(
embed_one_shard,
shards,
func_gpu="A100",
image="my-cuda-worker:latest",
max_parallelism=8,
)
api_rows = remote_parallel_map(
call_one_endpoint,
request_batches,
max_parallelism=64,
generator=True,
)- Burla docs: https://burla.dev
- Live examples gallery: https://burla-cloud.github.io/examples/
- Burla GitHub: https://github.com/Burla-Cloud



















