Skip to content

Home

Stateforward is a comprehensive library designed to facilitate the creation and management of state machines and domain models across multiple programming languages, including Python, JavaScript, and Rust. With its modular architecture and extensive feature set, Stateforward aims to become the go-to solution for developers looking to implement complex stateful systems with ease and precision. Currently available for Python, the library plans to expand its offerings with robust Rust and JavaScript packages in the near future.

Key Features

  • Intuitive Modeling: Define complex hierarchies, relationships, and behaviors using simple, declarative syntax.
  • Cross-Platform Support: Unified API across Python, JavaScript, and Rust, enabling consistent development experiences.
  • Asynchronous Support: First-class support for asynchronous operations in Python, making it suitable for IO-bound tasks.
  • Concurrency Control: Easily manage concurrency with support for sequential, threaded, multiprocessing, and asynchronous execution.
  • Event Handling: Robust event system that responds to a variety of event types, from time-based to custom triggers.
  • Behavioral Abstraction: Encapsulate state-specific behaviors within states, transitions, and actions.
  • Domain-Specific Modeling: Customize and extend the library for domain-specific applications, ensuring flexibility and adaptability.

Future Developments

Note

stateforward_rust is nearing completion and will be used as the backend for the Python package. The Rust package will be released shortly after the Python package enters beta.

Looking ahead, Stateforward aims to launch packages that allow Rust and JavaScript developers to utilize its features seamlessly integrated into their respective ecosystems. This expansion will empower developers to model and run state machines with high performance and in a language-agnostic manner, promoting unified design patterns across different platforms.

By bridging the gap between different programming languages, Stateforward will enable a broader spectrum of software developers to leverage the power of state machines in their applications—be it web development with JavaScript or systems programming with Rust.