amethystate
Persistent reactive state for Rust GUI apps.
Every Rust GUI project builds the same persistence layer from scratch. It starts with a struct, serde, and confy —
or just the same boilerplate written by hand. Then the app grows: schema changes get mixed into validation logic,
a file watcher gets bolted on so settings reload without a restart, versioning becomes a fragile enum that guesses at
the data's shape.
amethystate is that layer, built once. Fields persist automatically, fire subscriptions on change, and flush to disk
in the background. Schema versions are explicit, migrations run on startup, and drift is detected and logged.
egui, iced, ratatui, and other retain-mode frameworks are supported too — see Integrations.
See the book for full documentation — concepts, migrations, and per-framework integration guides.