Showing 36 of 39 projects
A lightweight, object-oriented finite state machine implementation in Python with many extensions.
A simple .NET library for creating state machines and lightweight state machine-based workflows directly in C# code.
AASM is a Ruby library for adding finite state machines to plain Ruby classes and ORM models like ActiveRecord and Mongoid.
A Go library for creating finite state machines and lightweight state machine-based workflows directly in Go code.
A lightweight PHP state machine library using PHP Enums to manage stateful objects with transitions, events, and Symfony integration.
A library for deterministic finite automata (DFA) regular expressions and lexical analysis tools.
A Ruby library for adding state machines to any class with support for async operations, coordinated state management, and comprehensive testing.
A minimal Ruby finite state machine with a straightforward and intuitive syntax for modeling states, transitions, and callbacks.
A small, mature C++ framework implementing Actor, Publish-Subscribe, and CSP models to simplify concurrent and multithreaded application development.
A lightweight Elixir state machine library with Phoenix integration, providing a simple DSL for managing state transitions.
A Ruby state machine implementation extracted from ActiveModel, providing event-driven state transitions with callbacks.
A minimal finite state machine implementation for Ruby with less than 50 lines of code.
A functional, message-based API extension for Microsoft Orleans, enabling composable actor communication for CQRS, event-sourcing, and FSM.
A standalone Lua module for implementing finite state machines with synchronous and asynchronous transitions.
A pure functional finite state machine data structure for Elixir, designed for use within existing processes without requiring separate process management.
Efficient synchronous and asynchronous state machine library for .NET with zero heap allocations during execution.
Sento is an actor framework for Common Lisp featuring actors, agents, FSMs, and an event stream for building reactive, concurrent systems.
A fast, ergonomic Entity Component System engine for Lua game development with no external dependencies.
A robust finite state machine for GameMaker Studio 2.3+ that organizes game object behavior into a single, manageable system.
A finite state machine pattern implementation for Ecto schemas in Elixir applications.
A super-slim Ruby library for adding statemachine-like behavior to classes, originally built for Travis CI.
A real-time strategy game with single-player campaign and multiplayer modes, built entirely with HTML5 and JavaScript.
A ClojureScript library for managing client-side application state using non-deterministic finite state machines.
A high-performance finite-state machine package for Go with zero allocations and custom transition logic.
A simple Finite State Machine for Godot
A finite state machine implementation for Crystal classes that enables objects to act as state machines with defined states and transitions.
A modern and elegant Telegram Bot Framework for Go with functional programming style and comprehensive API support.
Generate Graphviz diagrams from finite state machine data using Clojure or JavaScript.
A high-performance Porter2 stemmer implementation using finite state machines for suffix comparison.
A simple library for creating state machines in Delphi code, ported from the .NET Stateless project.
An Elixir wrapper around Erlang OTP's gen_fsm behavior for building finite state machines.
A 2D shooter game built with Flutter and Flame game engine featuring AI enemies using behavior trees.
A generic, concurrent-safe, and easy-to-use finite state machine (FSM) library for Go.
A Node-RED node implementing finite state machines using the Javascript State Machine library.
An Elixir library for defining composable finite state machines as pure functions.
Generates Ada code from finite-state machine descriptions using text scripts.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.