Burla is the fastest and most efficient distributed computing framework. Easily scale ML‑pipelines, AI-inference, batch processing, or any other program.
Documentation · Getting started · API reference · Examples · Website
Burla runs Python functions in parallel across thousands of CPUs or GPUs in your cloud using one function:
from burla import remote_parallel_map
def double(x):
return x * 2
results = remote_parallel_map(double, range(1000), grow=True)
This code calls double on every item in range(1000), each in a separate container (1-CPU each) in your current cloud provider.
Build fully distributed applications in plain Python.
Specify different hardware, or a custom Docker image, for each function call at runtime.remote_parallel_map can be nested to create composable distributed applications:
from burla import remote_parallel_map
def build_index(day):
docs = remote_parallel_map(parse, pdfs(day), func_cpu=64)
vecs = remote_parallel_map(embed, docs, func_gpu="A100", image="pytorch")
return remote_parallel_map(index, [vecs])
remote_parallel_map(build_index, last_30_days, detach=True)
With detach=True this pipeline will run independently in the cloud.
Key features
- Fast iteration: Scale to 1,000 CPUs or GPUs in under a second on a warm cluster. Prints, exceptions, and results appear locally.
- Automatic env replication: Your local Python environment is automatically cloned on all remote workers in seconds.
- Up to 50% more efficient: Burla continuously adjusts concurrency keeping every machine saturated so jobs finish faster and cost less.
- Pipelines: Burla builds a live DAG showing how infrastructure changes throughout your distributed application.
- Your cloud: Run in your own AWS, Google Cloud, or Azure account. Share a deployed cluster with your team.
Monitor distributed workloads in the dashboard:
Track every function call, inspect logs and tracebacks, spot resource bottlenecks, and manage workloads across your entire team.
Get started
With Python 3.12+ & having signed into your cloud provider's CLI (aws, gcloud, az):
pip install burla
burla dashboard
Run the Python example above. grow=True starts VMs in your cloud and removes them when the job finishes.
To share dashboard access, or use background jobs, run burla deploy.
Setup guide · Examples · API reference
Contributing
Bug reports, feature requests, and contribution proposals are welcome in GitHub issues. Report security issues to [email protected].
License
Licensed under FSL-1.1-Apache-2.0. Free to use except for competing commercial offerings; each version becomes Apache 2.0 after two years.
Questions? Email [email protected] or book a call, we're always happy to talk.