Finite State Machine framework with data modes, resource management, and streaming support
Project description
DataKnobs FSM
Finite State Machine framework with data modes, resource management, and streaming support.
Features
- Data Modes: COPY, REFERENCE, and DIRECT modes for flexible data handling
- Transaction Management: Single, Batch, and Manual transaction strategies
- Resource Management: Built-in support for databases, files, HTTP services, LLMs, and vector stores
- Streaming Support: Process large datasets with chunking and backpressure handling
- Flexible Configuration: YAML/JSON configuration with schema validation
- Built-in Functions: Library of common validation and transformation functions
Installation
pip install dataknobs-fsm
Quick Start
from dataknobs_fsm import FSM, StateDefinition, DataMode
# Define states
start = StateDefinition(name="start", type=StateType.START)
process = StateDefinition(name="process", data_mode=DataMode.COPY)
end = StateDefinition(name="end", type=StateType.END)
# Create FSM
fsm = FSM()
fsm.add_state(start)
fsm.add_state(process)
fsm.add_state(end)
# Process data
result = fsm.process({"input": "data"})
Documentation
See the docs directory for detailed documentation.
Development
This package is part of the DataKnobs ecosystem and follows the project's development guidelines.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dataknobs_fsm-0.1.0.tar.gz.
File metadata
- Download URL: dataknobs_fsm-0.1.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b2de16d0475029426082732d08cf2428e3509d923f9f8e6b512e37e90734f85
|
|
| MD5 |
3a74bb084c53e19db908d6a608576861
|
|
| BLAKE2b-256 |
764e1fed51551cc555639239a769042e16725a10acbe83a3f9785860c7155a38
|
File details
Details for the file dataknobs_fsm-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dataknobs_fsm-0.1.0-py3-none-any.whl
- Upload date:
- Size: 256.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5591e4905d465e346309effb7c512f08aacfff0c325a64191e5b9fa2b2b2db5f
|
|
| MD5 |
c1a2ae56a96cab3615f56c209df1dd6a
|
|
| BLAKE2b-256 |
8c2adcaacc7ac88a64647009816662bc4ff95e58fcb04a4abf4d5824d3e8fcc6
|