Full Nori A3 docs coming soon. What works today.
Skip to content

Install the desktop app ​

The Nori desktop app bundles everything needed to talk to robot hardware — no Python, no terminal, no pip. Download it, drag it in, open it.

Installers are not available yet

There is no signed installer for macOS, Windows, or Linux yet. Until there is, run from source.

What the app actually does when it starts ​

Worth knowing, because most "the app won't open" reports are one of these steps failing:

  1. It spawns a frozen Python backend bundled inside the app, which serves the API and UI on 127.0.0.1:8000.
  2. It waits for that port to answer (up to 60 s).
  3. It opens a window pointing at it.

So the app is a local web app in a native window. If port 8000 is already in use by something else, that's a problem — see When it goes wrong below.

Run from source ​

Requires Python ≥ 3.12 and Node.

bash
git clone https://github.com/nori-robotics/NoriLeLab
cd NoriLeLab
pip install -e .
lelab            # serves API + UI on :8000 and opens a browser

For frontend development, lelab --dev runs Vite on :8080 against a reloading backend on :8000.

When it goes wrong ​

The window is blank, or the app quits on launch ​

The backend never came up on :8000. After 60 seconds of waiting, the app gives up.

The usual cause: something else is already using port 8000. Another copy of the app, a stray lelab process from a previous run, or an unrelated dev server.

Check what's holding the port:

bash
lsof -i :8000        # macOS / Linux
netstat -ano | findstr :8000   # Windows

Kill it, then relaunch.

The OS refuses to open the app ​

If the build isn't signed and notarized yet, macOS Gatekeeper and Windows SmartScreen will both block it.

A stray backend keeps running after I quit ​

It shouldn't. The app kills the backend child on window-destroyed and on app-exit, and the backend additionally self-exits if its parent dies. All three exit paths are covered.

If you still find an orphan on :8000, that's a bug worth reporting — tell us how you quit.

The app can't see my hardware ​

That's not a desktop-app problem — go to Leader arms.

Apache-2.0