Stateforward Logo

Project Roadmap

Most of the Python functionality is operational. However, while developing the TypeScript library, I recognized that it would be more logical to first develop the Rust library and subsequently transition both the Python and JavaScript libraries to utilize the Rust library for backend operations. This approach will ensure a more uniform and efficient codebase across all languages. Therefore, our current efforts are concentrated on developing the Rust library. Unless significant issues arise with integrating the Rust library into the Python and JavaScript environments, we will proceed with transitioning these libraries to use the Rust backend.

Rust Library Development

Initialize Rust Library

Set up the basic structure and configuration for the new Rust library, establishing the foundation for backend logic and algorithms.

Develop Core Functionalities

Implement essential features and functionalities tailored to the needs of backend processes using Rust’s powerful concurrency capabilities.

Write Unit Tests

Write unit tests to ensure the stability and reliability of the Rust library, covering all core functionalities and edge cases.

Optimize Performance

Enhance performance through Rust's zero-cost abstractions, focusing on speed and memory efficiency.

Python Library Development

Implement core api surface

Implement the core API surface for the Python library, providing a user-friendly interface for state management.

Implement Async StateMachine

Implement the AsyncStateMachine class in Python, providing a powerful and flexible tool for managing asynchronous state transitions.

Write comprehensive tests

Write extensive tests for the Python library to ensure stability and reliability across different use cases.

See the open issues for a full list of proposed features (and known issues).