Skip to main content

A versatile Python framework for finite state machines and workflows.

Project description

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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flow_fsm-1.0.0.tar.gz (182.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flow_fsm-1.0.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file flow_fsm-1.0.0.tar.gz.

File metadata

  • Download URL: flow_fsm-1.0.0.tar.gz
  • Upload date:
  • Size: 182.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for flow_fsm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b437a25b921860d259739e9d4d3c2d146e597ea68eb6bcfd8fddc14e9f7af174
MD5 7dd16b718b2cb9848a46893feee288b8
BLAKE2b-256 25992af7a472822e7b7603fd6ef6fa1525873bab5ebf1dce4da24f7a68cce1f9

See more details on using hashes here.

File details

Details for the file flow_fsm-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: flow_fsm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for flow_fsm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e52a2fc386e392fa1ea52ade329c35bd741c6172a1f0e6610ca680cc0c9341e
MD5 a8f348b2cca40707fa1cbe527a20630e
BLAKE2b-256 55ec864cac64f11f4b6840e40d36d7d403df18f305c4d2fb2c8943a44b07802e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page