awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to pluginaweek/state_machine

Open-source alternatives to State Machine

30 open-source projects similar to pluginaweek/state_machine, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best State Machine alternative.

  • dotnet-state-machine/statelessdotnet-state-machine avatar

    dotnet-state-machine/stateless

    6,191View on GitHub↗

    Stateless is a .NET state machine library used to manage complex object behaviors and lightweight workflows through C# code. It functions as an asynchronous workflow engine that executes state transitions, guards, and entry-exit actions using asynchronous tasks. The library implements a hierarchical state machine, allowing child states to inherit transitions and properties from parent superstates. It includes a state persistence framework that decouples state tracking from machine logic by reading and writing the current state to external properties or databases. Additionally, it features a g

    C#
    View on GitHub↗6,191
  • jakesgordon/javascript-state-machinejakesgordon avatar

    jakesgordon/javascript-state-machine

    8,751View on GitHub↗

    This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus

    JavaScript
    View on GitHub↗8,751
  • aasm/aasmaasm avatar

    aasm/aasm

    5,219View on GitHub↗

    This library provides a framework for defining finite state machines within Ruby classes to manage complex object lifecycles. It functions as a declarative workflow engine, allowing developers to model object states, events, and transitions through a readable domain-specific language. By integrating directly with database persistence layers, the framework ensures that state changes are synchronized with storage records while maintaining data integrity through transaction management and row locking. The library distinguishes itself by enforcing strict business rules through conditional transit

    Ruby
    View on GitHub↗5,219

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • pytransitions/transitionspytransitions avatar

    pytransitions/transitions

    6,548View on GitHub↗

    Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an

    Python
    View on GitHub↗6,548
  • zerobias/effectorzerobias avatar

    zerobias/effector

    4,837View on GitHub↗

    Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven applications. It models application logic as a directed acyclic graph, where state updates and asynchronous side effects propagate automatically through declarative pipelines. By decoupling business logic from user interface layers, it allows developers to maintain state in independent containers that communicate via standard interfaces, ensuring the system remains framework-agnostic. The library distinguishes itself through its robust support for isolated execution scopes, w

    TypeScript
    View on GitHub↗4,837
  • legendapp/legend-stateLegendApp avatar

    LegendApp/legend-state

    4,145View on GitHub↗

    Legend-State is a reactive state management library for JavaScript applications that provides a centralized container for application data. It utilizes a fine-grained reactivity engine to track state access automatically, allowing developers to update and retrieve data without the need for boilerplate patterns like reducers, actions, or dispatchers. The library distinguishes itself through its hierarchical, path-based state addressing and proxy-based dependency tracking. By isolating state dependencies, it ensures that user interface updates are triggered only for the specific components that

    TypeScript
    View on GitHub↗4,145
  • effector/effectoreffector avatar

    effector/effector

    4,837View on GitHub↗

    Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem

    TypeScriptbusiness-logiceffectorevent-driven
    View on GitHub↗4,837
  • jashkenas/backbonejashkenas avatar

    jashkenas/backbone

    28,108View on GitHub↗

    Backbone is a JavaScript MVC framework and client-side data orchestrator used to structure web applications. It functions as an event-driven UI library and RESTful state manager that synchronizes data models with remote JSON interfaces to maintain consistent application state. The framework coordinates communication between application components through a decoupled event system. It binds data updates directly to the document object model, ensuring that the user interface remains synchronized with the underlying state. It provides tools for frontend data organization, allowing developers to

    JavaScript
    View on GitHub↗28,108
  • alibaba/colaalibaba avatar

    alibaba/COLA

    12,964View on GitHub↗

    COLA is a core architectural toolkit for Java applications designed around domain-driven design and a clean, object-oriented layered architecture. It provides a framework for managing project structures, implementing domain-driven entity modeling, and organizing enterprise application architecture to decouple business logic from technical dependencies. The project features a pluggable logic extension system that allows for the addition of new functionality through defined extension points without modifying the core codebase. It also includes a project bootstrapping toolkit and an integration

    Javaarchitecturecleancola
    View on GitHub↗12,964
  • uvdesk/community-skeletonuvdesk avatar

    uvdesk/community-skeleton

    19,025View on GitHub↗

    This project is an open-source, self-hosted helpdesk system designed to centralize customer support operations. It functions as an omnichannel platform that aggregates inquiries from email, social media, and messaging services into a unified dashboard, while providing a dedicated portal for customers to track requests and access self-service documentation. The system distinguishes itself through deep integration with e-commerce platforms, allowing agents to view customer order history and profile data directly within the ticketing interface. It features a modular architecture that supports cu

    CSSagent-privilegebackbonejscustomer-support
    View on GitHub↗19,025
  • dvajs/dvadvajs avatar

    dvajs/dva

    16,164View on GitHub↗

    Dva is a state management library and client-side application framework designed for building user interfaces with React and Redux. It functions as an asynchronous logic orchestrator and a single page application router, organizing application data through a structured data flow of reducers, effects, and subscriptions. The framework distinguishes itself through the use of generator functions to manage asynchronous workflows and sequential side effects, keeping these operations separate from synchronous state updates. It implements namespace-based model organization to group business logic and

    JavaScriptdvaelmframework
    View on GitHub↗16,164
  • tinyplex/tinybasetinyplex avatar

    tinyplex/tinybase

    5,110View on GitHub↗

    TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It serves as a local-first sync engine that merges distributed state using conflict-free replicated data types and logical clocks to ensure deterministic data convergence. The project features a schema validation library that converts external definitions from tools like Zod, Yup, and TypeBox into type-safe store definitions. It provides an infrastructure for real-time collaborative editing, utilizing synchronization with Automerge, Yjs, and PartyKit to maintain consistent state acr

    TypeScriptdatajavascriptreact
    View on GitHub↗5,110
  • pmndrs/valtiopmndrs avatar

    pmndrs/valtio

    10,196View on GitHub↗

    Valtio is a proxy-based state management library and reactive state engine that provides a mutable state store. It allows application state to be updated through direct object mutations rather than immutable patterns, using JavaScript proxies to track changes and trigger updates. For React applications, it includes a synchronization hook that ensures components re-render only when the specific properties they access are modified. The system supports reactive data derivation through computed properties that automatically update when their underlying dependencies change. It maintains reactivity

    TypeScriptmutableproxyreact
    View on GitHub↗10,196
  • pmndrs/jotaipmndrs avatar

    pmndrs/jotai

    21,208View on GitHub↗

    Jotai is a state management library for React applications that utilizes an atomic model to handle data. It organizes application state into small, independent units called atoms, which automatically track dependencies and trigger granular updates to components. By building state through these composable primitives, the library ensures that only the necessary parts of an application re-render when data changes. The library distinguishes itself through its flexible approach to state composition and asynchronous data handling. It integrates promises directly into the state model, allowing devel

    TypeScriptatomichacktoberfestmanagement
    View on GitHub↗21,208
  • reactotron/reactotronreactotron avatar

    reactotron/reactotron

    15,564View on GitHub↗

    Reactotron is a desktop application and collection of developer tools designed for monitoring runtime errors, analyzing network requests, and inspecting state within JavaScript and React environments. It serves as a debugger for both React JS and React Native projects, providing a visual interface to monitor internal application state and performance. The tool provides specialized inspectors for React Native mobile applications and React web applications. It allows for the real-time tracking of state changes and the dispatching of actions to a state manager to test different application scena

    TypeScript
    View on GitHub↗15,564
  • uidotdev/usehooksuidotdev avatar

    uidotdev/usehooks

    11,394View on GitHub↗

    This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti

    MDXastrobloghooks
    View on GitHub↗11,394
  • vuejs/piniavuejs avatar

    vuejs/pinia

    14,480View on GitHub↗

    Pinia is a state management library for Vue applications that provides a centralized, type-safe architecture for organizing reactive data. It utilizes a modular store pattern, allowing developers to define independent, reusable state containers that manage shared application data, computed getters, and executable actions. The library distinguishes itself through a flexible definition model that supports both functional setup patterns and traditional object-based structures. It features a plugin-based extension architecture that enables developers to hook into the store lifecycle for custom fu

    TypeScriptcomposition-apissrstore
    View on GitHub↗14,480
  • jonasschmedtmann/complete-javascript-coursejonasschmedtmann avatar

    jonasschmedtmann/complete-javascript-course

    17,154View on GitHub↗

    This project is a JavaScript educational resource and frontend web development course. It provides a collection of starter files and final projects designed to teach the JavaScript programming language through practical application. The material functions as a project portfolio and implementation guide, demonstrating how to build interactive user interfaces using the document object model. It focuses on event handling, object oriented programming, and the integration of native browser features. The course covers a range of capability areas, including asynchronous data fetching, client-side a

    JavaScriptjavascript-coursestarter-filesudemy
    View on GitHub↗17,154
  • astronomer/dag-factoryastronomer avatar

    astronomer/dag-factory

    1,440View on GitHub↗

    Dag-factory is a framework for constructing and managing Apache Airflow data pipelines through declarative configuration files. By replacing manual procedural code with structured YAML definitions, it enables the programmatic generation of complex workflow structures, task dependencies, and execution schedules. The project distinguishes itself by mapping configuration keys directly to Python class constructors and operators, allowing for the dynamic instantiation of objects and custom logic. It supports hierarchical configuration inheritance to standardize settings across environments and pro

    Pythonairflowapache-airflowdags
    View on GitHub↗1,440
  • kdchang/reactjs101kdchang avatar

    kdchang/reactjs101

    4,343View on GitHub↗

    This project is a comprehensive instructional resource and tutorial guide for learning React and the broader frontend engineering ecosystem. It serves as a structured course covering the fundamentals of building user interfaces through component-based architecture. The project provides specialized guides on coordinating application data via Redux state management, integrating and mutating data using GraphQL and Relay, and building native mobile applications using a single codebase. It also includes a dedicated tutorial for verifying component behavior through unit testing, shallow rendering,

    JavaScriptandriodecmascriptecmascript2015
    View on GitHub↗4,343
  • erikras/react-redux-universal-hot-exampleerikras avatar

    erikras/react-redux-universal-hot-example

    12,099View on GitHub↗

    This project is a starter template and boilerplate for building isomorphic web applications using React, Redux, and Express. It functions as a server-side rendering framework that generates HTML on the server and rehydrates it on the client to improve search engine optimization and initial page load speeds. The project is distinguished by its focus on developer experience, featuring a configuration for hot module replacement. This allows for the real-time updating of the user interface and application state during development without requiring a full browser refresh. The framework provides c

    JavaScript
    View on GitHub↗12,099
  • este/esteeste avatar

    este/este

    5,327View on GitHub↗

    Este is an isomorphic web framework designed for rendering applications on both the server and client with shared state and routing. It functions as a remote session management dashboard, providing a centralized interface to control remote agent sessions through command delivery and prompt approval. The framework includes a role-based access control system that protects interface components by wrapping sensitive elements in an authorization layer. It also features a remote session management system that monitors agent urgency and prioritizes sessions requiring immediate user input. Additiona

    TypeScriptgraphqlnextjsprisma
    View on GitHub↗5,327
  • apollographql/apollo-clientapollographql avatar

    apollographql/apollo-client

    19,798View on GitHub↗

    Apollo Client is a GraphQL client library and data fetching framework used to request data from a GraphQL server and synchronize that state within a frontend application. It functions as a remote state manager and a local state management tool, allowing developers to define client-side schemas and resolvers for data that does not reside on a remote server. The project features a normalized GraphQL cache that identifies objects by ID to ensure referential equality and consistent data updates across different queries. It also includes a GraphQL API mocking tool to simulate server responses and

    TypeScriptapollo-clientapollographqlgraphql
    View on GitHub↗19,798
  • j3ssie/osmedeusj3ssie avatar

    j3ssie/Osmedeus

    6,425View on GitHub↗

    Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp

    Go
    View on GitHub↗6,425
  • langroid/langroidlangroid avatar

    langroid/langroid

    3,894View on GitHub↗

    Langroid is a multi-agent orchestration framework and tool integration suite designed for building complex AI applications. It serves as a multi-modal integration layer that connects diverse local and remote language models with an agentic retrieval-augmented generation system. The project distinguishes itself through a collaborative message-exchange paradigm, allowing specialized agents to delegate tasks hierarchically and coordinate via structured communication. It features an advanced state management system for conversational AI, including the ability to rewind and prune conversation hist

    Pythonagentsaichatgpt
    View on GitHub↗3,894
  • choojs/choochoojs avatar

    choojs/choo

    6,767View on GitHub↗

    Choo is a minimalist frontend framework providing a tiny foundation for building web applications. It functions as an event-driven application core that decouples business logic from rendering and includes a client-side router to manage browser history and URL mapping without page reloads. The project distinguishes itself through an architecture that combines a server-side rendering engine for generating static HTML strings with a stateful UI component library. This allows for the creation of self-contained interface elements that maintain internal data and persist across global renders. The

    JavaScriptchoodominterface
    View on GitHub↗6,767
  • h2oai/waveh2oai avatar

    h2oai/wave

    4,241View on GitHub↗

    Wave is a full-stack web application framework and low-code UI library designed for building real-time data dashboards and interactive interfaces using Python and R. It allows developers to define browser-based user interfaces and manage server-side state without writing HTML or CSS. The project functions as a collaborative state synchronizer, relaying and persisting application state across multiple concurrent users to enable shared real-time experiences. It distinguishes itself by broadcasting live updates and data visualizations to connected browsers through a unified programming model. T

    Pythonappdashboardfedramp
    View on GitHub↗4,241
  • d2-projects/d2-admind2-projects avatar

    d2-projects/d2-admin

    12,643View on GitHub↗

    d2-admin is an admin dashboard framework used to build back-office management interfaces. It provides a set of pre-configured layouts and themeable components, including foldable sidebars and draggable grid systems, to facilitate system oversight and control. The framework is distinguished by its multi-tab administration interface, which allows users to switch between pages and reorder tabs via drag and drop. It also features a dynamic translation system for multi-language interface localization and a dedicated toolset for tabular data management, enabling the import and export of data via CS

    JavaScript
    View on GitHub↗12,643
  • jenkinsci/pipeline-examplesjenkinsci avatar

    jenkinsci/pipeline-examples

    4,296View on GitHub↗

    This project is a library of version-controlled workflow definitions and a collection of Groovy scripts and configuration snippets for implementing continuous integration and delivery automation in Jenkins. It serves as a reference for building automated pipelines using both declarative syntax and scripted logic. The repository provides template collections and implementation patterns for creating software build and deployment workflows. It includes reusable functions and logic patterns designed to standardize pipeline behavior and eliminate code duplication across multiple projects through t

    Groovy
    View on GitHub↗4,296
  • didi/mpxdidi avatar

    didi/mpx

    3,905View on GitHub↗

    MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p

    JavaScript
    View on GitHub↗3,905