FlowFSM
Project Overview
FlowFSM is a package for building and managing finite state machines (FSMs). It provides tools for defining states, transitions, events, and workflows, simplifying the development of complex state-driven applications. The framework will be supporting features for configuration, runtime management, and visualization as and when they are developed.
Features
- Flexible State Definition: Define states and transitions with ease using a clear and intuitive interface.
- Event-Driven Transitions: Trigger state transitions based on custom events.
- Workflow Management: Manage complex workflows involving multiple states and transitions.
- Configuration System: Load configurations from various sources, enabling customization.
- Runtime Execution: Execute workflows and handle events efficiently.
TODOs
- Extensible Hooks and Listeners: Extend functionality with custom hooks and listeners.
- Visualization Support: Visualize workflows (future functionality, likely).
- Robust Error Handling: Includes a comprehensive error handling system.
Usage
A simple example showcasing 2 basic workflows can be found in the examples/ directory.
from ..flowfsm.config.parser import parse_fsm_config
from ..flowfsm.config.loader import load_fsm_from_config
from ..flowfsm.runtime.executor import Executor
# Load FSM configuration
config = parse_fsm_config("./config_example.yml")
# Create FSM
workflow = load_fsm_from_config(config)
# Execute FSM
executor = Executor(workflow)
executor.run()
Release files for flow-fsm 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flow_fsm-1.0.0.tar.gz | 182.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flow_fsm-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 193.1 kB
Release files / flow_fsm-1.0.0.tar.gz
| Download URL | flow_fsm-1.0.0.tar.gz |
|---|---|
| Size | 182.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b437a25b921860d259739e9d4d3c2d146e597ea68eb6bcfd8fddc14e9f7af174
|
|
BLAKE2b-256 checksum How to use checksums |
25992af7a472822e7b7603fd6ef6fa1525873bab5ebf1dce4da24f7a68cce1f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.4
|
Release files / flow_fsm-1.0.0-py3-none-any.whl
| Download URL | flow_fsm-1.0.0-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e52a2fc386e392fa1ea52ade329c35bd741c6172a1f0e6610ca680cc0c9341e
|
|
BLAKE2b-256 checksum How to use checksums |
55ec864cac64f11f4b6840e40d36d7d403df18f305c4d2fb2c8943a44b07802e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.4
|