Burla is currently under devlopment and is not ready to be used.
To join our mailing list go to burla.dev.
If you have any questions, email me at: jake@burla.dev, or join us on Discord.
Getting Started
Burla has two deployment options:
- Your code runs on Burla's webservers in Burla's cloud.
- Your code runs on your webservers in your cloud, (currently GCP-only).
Once setup on one of the above two options, try running our quickstart!
Getting Started: Fully-Managed
To install Burla on your machine run:
pip install burla
burla login
The burla login
command will open a google login window in your browser.
If your popup protection is good, you may need to enter the url printed in the terminal in your browser.
Once logged in, you'll officially have a Burla account, and can jump strait to the quickstart.
Getting Started: Self-Managed (GCP-only)
Unfortunately, Burla is currently deployable only in Google-Cloud.
We're working hard to make Burla available on other cloud providers, to see our roadmap, check out our Discord.
First, ensure you're authenticated with google cloud.
Burla expects users to be logged in using Application-Default-Credentials.
After installing google cloud's CLI, this only takes one command:
- Install the gcloud CLI.
- Authorize your machine:
gcloud application-default login
Once setup on GCP, deploy Burla.
To deploy the Burla webservice and associated infastructure in your google cloud project run:
pip install burla
burla login
burla deploy gcp
This will create the following resources in your google cloud project:
- A Firestore database instance.
- An webservice running in Google Cloud Run.
- A Cloud Storage Bucket.
- An Artifact Registry repository.
All resources are by default accessible only from inside your google cloud project.
For the deploy
command to work, your user account will need permissions to access following services:
- Compute Engine:
Compute Admin
- Firestore:
Cloud Datastore User
- Cloud Storage:
Storage Admin
- Artifact Registry:
Artifact Registry Administrator
- Cloud Run:
Cloud Run Admin
- Cloud Logging:
logging.logEntries.create
Quickstart
Here's a quick tutorial to get started with Burla:
If you haven't yet, in your terminal, run
pip install burla
, then runburla login
.
burla login
will create an account for you if you don't have one & authorize you to make calls toremote_parallel_map
.Run the example below!
This example calls a simple function on 1000 different inputs, at the same time, each on a separate computer.
Without Burla, this code could take up to 16 Hours to finish!
from burla import remote_parallel_map
from time import sleep
my_inputs = list(range(1000))
def my_function(my_input):
sleep(60) # <- Pretend this is some complex code!
print(f"Processed Input #{my_input}")
remote_parallel_map(my_function, my_inputs)
To learn more about remote_parallel_map
see our overview or API reference.
Any questions?
Schedule a call with us, or email us. We're always happy to talk.