Getting started¶
The first ten minutes, in the intended order: feel it in the console, take it to the internet, then make it yours in code. Nothing to install until step 3.
1. Feel it — one click, zero setup¶
Sign in at beta.barista.sh (GitHub OAuth). On the empty Sessions page, press Brew a counter session. You land on the nap test: a number counting up in memory. Let it rest — memory kept, compute released — then Wake it:
Woke in 0.4 s — same process, memory intact: 41 → 42
That receipt is the product. Every session you ever wake prints one.
2. Take it to the internet¶
Brew the web counter starter and press Publish. Your session serves at
https://<name>.at.beta.barista.sh — open it, bump the count, come back and
let it rest. Now open the URL again: the request wakes it, and the count
survived. A URL that sleeps costs storage, not compute.
3. Make it yours — the SDK¶
Mint a key in the console under API keys (bk_…, shown once). The Python
SDK isn't on a package index yet — beta users receive a checkout; from it:
from barista_sdk import Session
s = Session.open("mine", template="counter") # get-or-create by name
print(s.exec(["cat", "/tmp/c"]).stdout) # the count (waits through boot)
# …it parks itself when idle; the next exec wakes it — same process:
s.exec(["cat", "/tmp/c"]) # a higher count, state survived
Coming from E2B? from barista_sdk.e2b import Sandbox — switching is an
import-line change (reference).
4. Graduate¶
- Live in the terminal: the
baristaCLI — attach a real agent (tutorial 2), pull work down withsync, script lifecycles. Beta users get it with the same checkout. - Let agents drive: the MCP endpoint turns the session lifecycle into tools (tutorial 4).
- Ship your own images: templates — build once, create by name (tutorial 7).