5d8c79454e622a4042d3dcdedd71edd0bf627c1f
tono
tono is a node-based SPM image processing and analysis tool. The main focus is on topographical measurements.
It is heavily inspired by Gwyddion, one of my favorite scientific FOSS programs on the web.
Quick start
Install a local binary from the Releases section, or run locally:
# Installation
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
npm install
# Running the servers
npm run backend # terminal 1 — Python server at http://127.0.0.1:8188
npm run dev # terminal 2 — Vite dev server, open the URL it prints
Self-hosting
git clone https://github.com/VIPQualityPost/tono.git && cd tono
python -m venv .venv && source .venv/bin/activate
pip install -e .
cd frontend && npm ci && npm run build && cd ..
TONO_HOST=0.0.0.0 python -m backend.main
See Self-Hosting for reverse proxy setup, environment variables, and configuration.
Docs
- Building — setup, dev mode, web deployment, and native desktop builds for macOS, Linux, and Windows
- Self-Hosting — deploying tono on a server
- Plugins — writing and uploading custom node plugins
- Testing — running tests and writing new ones
Project layout
tono/
backend/ Python server, execution engine, nodes
frontend/ React/Vite app
plugins/ User plugin files (.py)
tests/ Python tests
docs/ Documentation
desktop.py Desktop launcher
scripts/ Build scripts (macOS, Linux, Windows)
Languages
Python
67.8%
TypeScript
24%
JavaScript
4.4%
CSS
3.5%
Shell
0.2%
Other
0.1%