looplab/fsm
Finite State Machine for Go observed · 2026-10-21
Health v2 · maintenance only
82/100
- Activity 91
- Release rhythm 60
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-10-22. Adoption (stars, forks) is never an input.
- gap_med: 476
- age_days: 4809
- days_rel: 55
- days_push: 55
- n_releases_24m: 2
Adoption not part of the score
3419 stars · 331 forks observed · 2026-10-21
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
A finite state machine (FSM) library for Go, inspired by javascript-state-machine and fysom. It lets you define states, events, transitions, and callbacks, and can be embedded as a struct field.
Use cases
- model state transitions for a Go application
- implement a state machine with events and callbacks
- manage object lifecycle states in Go
- embed a state machine in a struct
- guard invalid state transitions with errors
When to choose
- you need a lightweight, well-tested FSM in a Go project
- you want simple event-driven state transitions with callbacks
- you prefer a minimal library with context support
When to avoid
- you need hierarchical or concurrent statecharts
- you need persistence or distributed state machine orchestration
- you are not working in Go
Facets
library · maturity stable
developer-tools developer-tools go cross-platform finite-state-machine fsm state-machine go-library callbacks algorithms automation
1 source
- readme: https://github.com/looplab/fsm · fetched 2026-10-21 · 279034bae1f7
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| looplab/fsm | main | 82 |
For agents
Data as of 2026-10-19T08:05:51.212177+00:00 · Report a problem