Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Tags
  3. Finite State Machine

Finite State Machine

39 projects

Showing 36 of 39 projects

transitions
transitionsPython

A lightweight, object-oriented finite state machine implementation in Python with many extensions.

#threading#workflow#nested-states
Stars6.6k
Forks570
Last commit10 months ago
Stateless
StatelessC#

A simple .NET library for creating state machines and lightweight state machine-based workflows directly in C# code.

#business-logic#library#workflow
Stars6.2k
Forks803
Last commit3 months ago
AASM
AASMRuby

AASM is a Ruby library for adding finite state machines to plain Ruby classes and ORM models like ActiveRecord and Mongoid.

#mongoid#hacktoberfest#orm
Stars5.2k
Forks644
Last commit19 days ago
stateless
statelessGo

A Go library for creating finite state machines and lightweight state machine-based workflows directly in Go code.

#fsm#workflow-engine#concurrent
Stars1.4k
Forks70
Last commit5 months ago
Finite
FinitePHP

A lightweight PHP state machine library using PHP Enums to manage stateful objects with transitions, events, and Symfony integration.

#business-logic#workflow#php-enums
Stars1.3k
Forks185
Last commit7 months ago
libfsm
libfsmC

A library for deterministic finite automata (DFA) regular expressions and lexical analysis tools.

#c-library#dfa#regexes
Stars983
Forks57
Last commit14 days ago
state_machines
state_machinesRuby

A Ruby library for adding state machines to any class with support for async operations, coordinated state management, and comprehensive testing.

#mongoid#async-ruby#ruby-gem
Stars870
Forks98
Last commit6 days ago
FiniteMachine
FiniteMachineRuby

A minimal Ruby finite state machine with a straightforward and intuitive syntax for modeling states, transitions, and callbacks.

#callbacks#behavior-modeling#finite-machine
Stars804
Forks37
Last commit2 years ago
SObjectizer
SObjectizerC++

A small, mature C++ framework implementing Actor, Publish-Subscribe, and CSP models to simplify concurrent and multithreaded application development.

#csp#embedded-systems#publish-subscribe
Stars615
Forks55
Last commit1 day ago
machinery
machineryElixir

A lightweight Elixir state machine library with Phoenix integration, providing a simple DSL for managing state transitions.

#elixir-lang#elixir#statemachine
Stars568
Forks56
Last commit2 years ago
transitions
transitionsRuby

A Ruby state machine implementation extracted from ActiveModel, providing event-driven state transitions with callbacks.

#event-driven#callbacks#rails
Stars536
Forks90
Last commit4 years ago
MicroMachine
MicroMachineRuby

A minimal finite state machine implementation for Ruby with less than 50 lines of code.

#event-driven#lesscode#behavior-modeling
Stars523
Forks38
Last commit9 years ago
Orleankka
OrleankkaC#

A functional, message-based API extension for Microsoft Orleans, enabling composable actor communication for CQRS, event-sourcing, and FSM.

#orleans#functional-programming#cqrs
Stars507
Forks78
Last commit7 months ago
lua-state-machine
lua-state-machineLua

A standalone Lua module for implementing finite state machines with synchronous and asynchronous transitions.

#event-driven#asynchronous-programming#micro-framework
Stars401
Forks68
Last commit1 year ago
fsm
fsmElixir

A pure functional finite state machine data structure for Elixir, designed for use within existing processes without requiring separate process management.

#functional-programming#elixir#otp
Stars363
Forks25
Last commit6 years ago
LiquidState
LiquidStateC#

Efficient synchronous and asynchronous state machine library for .NET with zero heap allocations during execution.

#library#async-await#csharp
Stars250
Forks28
Last commit5 years ago
Sento
SentoCommon Lisp

Sento is an actor framework for Common Lisp featuring actors, agents, FSMs, and an event stream for building reactive, concurrent systems.

#event-driven#reactive-systems#parallel-computing
Stars250
Forks16
Last commit16 days ago
ecs-lua
ecs-luaLua

A fast, ergonomic Entity Component System engine for Lua game development with no external dependencies.

#robloxlua#luau#roblox
Stars232
Forks67
Last commit2 years ago
SnowState
SnowStateGame Maker Language

A robust finite state machine for GameMaker Studio 2.3+ that organizes game object behavior into a single, manageable system.

#gamemaker#game-logic#behavior-management
Stars177
Forks13
Last commit1 year ago
ecto_state_machine
ecto_state_machineElixir

A finite state machine pattern implementation for Ecto schemas in Elixir applications.

#elixir-lang#database#elixir
Stars100
Forks20
Last commit6 years ago
simple_states
simple_statesRuby

A super-slim Ruby library for adding statemachine-like behavior to classes, originally built for Travis CI.

#statemachine#travis-ci#library
Stars95
Forks16
Last commit9 years ago
Last Colony
Last ColonyJavaScript

A real-time strategy game with single-player campaign and multiplayer modes, built entirely with HTML5 and JavaScript.

#websocket#game-development#real-time-strategy
Stars93
Forks65
Last commit13 years ago
Waltz
WaltzClojure

A ClojureScript library for managing client-side application state using non-deterministic finite state machines.

#declarative-programming#clojurescript#frontend
Stars90
Forks11
Last commit14 years ago
fsm
fsmGo

A high-performance finite-state machine package for Go with zero allocations and custom transition logic.

#event-driven#golang-library#concurrency
Stars89
Forks5
Last commit3 years ago
godot-simple-state
godot-simple-stateGDScript

A simple Finite State Machine for Godot

#fsm-library#godot#finite-state-machine
Stars69
Forks2
Last commit2 years ago
aasm.cr
aasm.crCrystal

A finite state machine implementation for Crystal classes that enables objects to act as state machines with defined states and transitions.

#crystal-shard#library#behavior-modeling
Stars55
Forks6
Last commit8 months ago
TG
TGGo

A modern and elegant Telegram Bot Framework for Go with functional programming style and comprehensive API support.

#functional-programming#bot-framework#type-safe
Stars53
Forks2
Last commit1 month ago
fsmviz
fsmvizClojure

Generate Graphviz diagrams from finite state machine data using Clojure or JavaScript.

#clojurescript#state-transition#graphviz
Stars49
Forks3
Last commit6 years ago
porter2
porter2Go

A high-performance Porter2 stemmer implementation using finite state machines for suffix comparison.

#stemming#go-library#natural-language-processing
Stars47
Forks6
Last commit5 years ago
stateless
statelessPascal

A simple library for creating state machines in Delphi code, ported from the .NET Stateless project.

#library#behavior-modeling#state-machine
Stars42
Forks11
Last commit10 years ago
gen_fsm
gen_fsmElixir

An Elixir wrapper around Erlang OTP's gen_fsm behavior for building finite state machines.

#elixir#behavior-wrapper#gen-fsm
Stars40
Forks3
Last commit6 years ago
Square Shooter
Square ShooterDart

A 2D shooter game built with Flutter and Flame game engine featuring AI enemies using behavior trees.

#dart#game-ai#web-game
Stars38
Forks4
Last commit1 year ago
FSM
FSMHTML

A generic, concurrent-safe, and easy-to-use finite state machine (FSM) library for Go.

#go-library#graphviz#serialization
Stars23
Forks0
Last commit1 month ago
state-machine
state-machineHTML

A Node-RED node implementing finite state machines using the Javascript State Machine library.

#iot#workflow-automation#visual-programming
Stars18
Forks16
Last commit1 year ago
exfsm
exfsmElixir

An Elixir library for defining composable finite state machines as pure functions.

#event-driven#functional-programming#elixir
Stars12
Forks6
Last commit10 months ago
automate
automateAda

Generates Ada code from finite-state machine descriptions using text scripts.

#embedded-systems#model-driven-development#state-machine
Stars8
Forks1
Last commit2 years ago
Page 1 of 2Next

Related Tags

#State Management15#State Machine14#Concurrency9#Event Driven7#Ruby Gem6#Library6#Game Development6#Ruby6#Elixir5#Workflow5#Functional Programming4#Callbacks4
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub