Skip to content

Repository files navigation

Burla

The simplest way to scale Python.

Documentation · Getting started · API reference · Examples · Website

PyPI Downloads Python 3.11+ License


Burla is a distributed computing framework that runs plain Python functions across thousands of CPUs or GPUs in your own cloud. It has exactly one function:

from burla import remote_parallel_map

my_inputs = list(range(1000))

def my_function(x):
    print(f"[#{x}] running on separate computer")

remote_parallel_map(my_function, my_inputs)

This example asks Burla to scale the job to 1,000 CPUs and run 1,000 function calls in parallel:

Burla terminal demo showing remote_parallel_map running 1,000 function calls

Highlights

  • One function. results = remote_parallel_map(my_function, my_inputs) is the entire API. No DAGs, no YAML, no cluster SDK to learn.
  • Feels local. Anything your function prints streams back to your terminal. Exceptions are re-raised locally with full tracebacks. Packages missing from the image are installed automatically, and import-time local modules ship with your function.
  • Fast dispatch. On a warm cluster, a print-only job across 1,000 CPUs completes in under a second.
  • Runs in your cloud. Burla runs your functions on raw VMs in your own cloud account, not shared Burla infrastructure.
  • Hardware and images in code. Request CPUs or RAM per function call, add A100 or H100 GPUs on AWS or Google Cloud, and select a compatible linux/amd64 image.
  • Adaptive concurrency. On CPU nodes, the default dynamic CPU and RAM settings start one worker per CPU, then reduce node concurrency under pressure when possible.
  • Built-in dashboard. View live logs and node status locally; deploy it for background jobs and access from any device.

Contributing

Bug reports and feature requests are welcome in GitHub issues. If you'd like to contribute code, open an issue first so we can point you in the right direction. To report a security issue, email security@burla.dev.

License

Burla is licensed under the Functional Source License, Version 1.1, with Apache 2.0 Future License (FSL-1.1-Apache-2.0). You can use, copy, modify, and redistribute it for any purpose except a competing commercial offering, and each version becomes available under Apache 2.0 two years after its release.


Questions? Email jake@burla.dev or book a call, we're always happy to talk.

About

The simplest way to scale Python.

Topics

Resources

Stars

259 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages