Skip to main content

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)

Source distribution for flow-fsm 1.0.0
File Size Uploaded
flow_fsm-1.0.0.tar.gz 182.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flow-fsm 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page