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.
Set up the basic structure and configuration for the new Rust library, establishing the foundation for backend logic and algorithms.
Implement essential features and functionalities tailored to the needs of backend processes using Rust’s powerful concurrency capabilities.
Write unit tests to ensure the stability and reliability of the Rust library, covering all core functionalities and edge cases.
Enhance performance through Rust's zero-cost abstractions, focusing on speed and memory efficiency.
Implement the core API surface for the Python library, providing a user-friendly interface for state management.
Implement the AsyncStateMachine class in Python, providing a powerful and flexible tool for managing asynchronous state transitions.
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).