looplab/fsm
Finite State Machine for Go observed · 2026-08-28
Health v2 · maintenance only
32/100
- Activity 20
- Release rhythm 8
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 4760
- days_rel: 483
- days_push: 483
- n_releases_24m: 1
Adoption not part of the score
3409 stars · 331 forks observed · 2026-08-28
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-08-28 · 279034bae1f7
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| looplab/fsm | main | 32 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem