support standalone library

This commit is contained in:
2026-04-04 01:24:06 -07:00
parent b2ddd81286
commit d9218bf28c
13 changed files with 610 additions and 26 deletions

View File

@@ -16,7 +16,7 @@ Install a local binary from the Releases section, or run locally:
```bash
# Installation
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pip install -e ".[server,dev]"
npm install
# Running the servers
@@ -29,29 +29,46 @@ npm run dev # terminal 2 — Vite dev server, open the URL it prints
```bash
git clone https://github.com/VIPQualityPost/tono.git && cd tono
python -m venv .venv && source .venv/bin/activate
pip install -e .
pip install -e ".[server]"
cd frontend && npm ci && npm run build && cd ..
TONO_HOST=0.0.0.0 python -m backend.main
```
See [Self-Hosting](docs/self-hosting.md) for reverse proxy setup, environment variables, and configuration.
## Python library
tono's processing nodes can also be used as a standalone Python library — no server needed:
```bash
pip install -e .
```
```python
import tono
fields = tono.load("scan.gwy")
leveled = tono.apply("PlaneLevelField", fields[0])
filtered = tono.apply("GaussianFilter", leveled, sigma=2.0)
```
See [Library Usage](docs/library.md) for the full API and more examples.
## Docs
- [Building](docs/building.md) — setup, dev mode, web deployment, and native desktop builds for macOS, Linux, and Windows
- [Self-Hosting](docs/self-hosting.md) — deploying tono on a server
- [Library Usage](docs/library.md) — using tono as a Python signal processing library
- [Plugins](docs/plugins.md) — writing and uploading custom node plugins
- [Testing](docs/testing.md) — running tests and writing new ones
## Project layout
## Project plans
```text
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)
```
- Please help with providing demo files for validating importers!
- Please try making weird workflows to see what breaks or does not flow nicely
- Adding support for force curves
- Adding general support for spectroscopic data
- Adding general support for spectroscopic volumes
- Adding more generic numerical operations and visualisations