Skip to content

Install

macOS only. macbatch shells out to Homebrew and Ollama, and assumes Apple Silicon for anything performance-related.

Requirements

RequirementWhy
macOSThe npm package declares "os": ["darwin"]
Python ≥ 3.11The CLI is a Python package; the npm wrapper builds a venv around it
Node ≥ 18Only for the npm install path
Homebrewmacbatch setup uses it to install Ollama
~2 GB free diskChecked during setup, before pulling a model
bash
npm i -g macbatch

The postinstall step finds a Python ≥ 3.11, creates a private virtualenv inside the package, and pip-installs the vendored Python source into it. The macbatch binary on your PATH is a small Node shim pointing at that venv.

To force a specific interpreter:

bash
MACBATCH_PYTHON=/opt/homebrew/bin/python3.12 npm i -g macbatch

Then bootstrap the machine:

bash
macbatch setup --control-url https://your-control-plane

setup installs Ollama if missing, starts the service, pulls nomic-embed-text, runs an embedding smoke test, writes ~/.macbatch/config.toml, and pings the control plane. It is designed so a non-technical friend never has to read a second page of instructions.

TIP

If the control plane is not up yet, setup warns but still succeeds. You can run macbatch serve --control-url <url> later without redoing setup.

From source (development)

bash
git clone https://github.com/kmr-rohit/macbatch
cd macbatch
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

A source checkout behaves differently in one respect: benchmark artifacts and sample corpora are written into the repo (benchmarks/, data/) instead of ~/.macbatch/. That detection is deliberate — an npm-installed CLI must never write into site-packages.

Optional: cloudflared

Needed only if you want to expose a control plane running on your own machine to workers on other networks.

bash
brew install cloudflared

Verify

bash
macbatch version
macbatch doctor

doctor checks Ollama, Homebrew, cloudflared, your config file, control-plane reachability, and the Ollama API. Anything marked FAIL will break serve.

Uninstall

bash
npm uninstall -g macbatch
rm -rf ~/.macbatch          # config, logs, local caches, control-plane DB
ollama rm nomic-embed-text  # model weights are not macbatch's to delete

MIT licensed. Every benchmark on this site is reproducible with macbatch bench.