New to the project? Start with the onboarding guide: ONBOARDING.md.
Use the scripts in scripts/ for the simplest experience.
-
macOS
- Double‑click:
scripts/Setup Mac.commandthenscripts/Start App.command - If blocked by macOS: run
bash scripts/fix_permissions_mac.sh, then try again.
- Double‑click:
-
Windows (PowerShell)
- Double‑click:
scripts\setup_win.batthenscripts\start_win.bat
- Double‑click:
Details
- Uses micromamba to download a local Python and create a project‑scoped env at
.venv(no global changes). - Installs Python packages from
requirements.txt. - Customize host/port via env vars
HOSTandPORTwhen running the start scripts.
Uninstall (remove local Python + packages only)
- macOS: double‑click
scripts/Uninstall Mac.command - Windows: double‑click
scripts\uninstall_win.bat
conda env create -f environment.yaml
conda activate RPLFor all steps below, run using the Anaconda Prompt if on Windows.
# from repo root
conda activate RPL
uvicorn backend.app.main:app --reloadOpen http://127.0.0.1:8000 in your browser.
The FastAPI app serves templates from frontend/app/templates and static assets from frontend/app/static. The /data endpoint returns adjusted sensor values, and also exposes raw, adjusted, and offsets for calibration-aware clients.
- UI controls are available under the plots on the Pressure and Thermocouples pages.
- API:
GET /api/offsetsPUT /api/offsetswith a JSON object{ sensor_id: offset }POST /api/zero/{sensor_id}POST /api/zero_allPOST /api/reset_offsets
Notes:
- Set
data_source: "simulator"infrontend/app/config.yamlfor local development (serial fails fast until implemented). - Logs stream to
frontend/logs/data.jsonl.
The legacy Flask runner is deprecated in favor of the FastAPI app and is no longer maintained in this branch. For historical reference, use the legacy branch or pre‑migration tag.
rpl-blast/
├── backend/app/ # FastAPI backend
├── frontend/app/ # Templates, static, config.yaml
├── frontend/logs/ # Runtime logs (data.jsonl, offsets)
├── scripts/ # One‑click setup/start/uninstall
├── environment.yaml # Conda environment (optional)
└── README.md
To switch between simulator and serial data:
- Open
frontend/app/config.yaml - Change
data_source: "simulator"todata_source: "serial"for real data - For serial mode, ensure the correct port is set for
serial_portfollowing steps above, e.g.serial_port: "/dev/cu.usbmodem1301"for Mac,serial_port: "COM5"for Windows.
If you encounter any issues:
- GOOD LUCK