Skip to main content

Frank brings order and helps you build complex LLM workflows using scalable, testable, and reusable components.

Project description

🧟 frankstate

frankstate is a lightweight pattern layer for assembling LangGraph workflows with clearer structure, stronger boundaries, and less duplicated graph wiring.

It does not replace LangGraph and it does not introduce a separate runtime. The compiled result is still a native LangGraph graph built with official LangGraph primitives.

What The Package Provides

The published package focuses on reusable workflow assembly contracts:

  • WorkflowBuilder to compile a graph from a layout class.
  • GraphLayout to separate runtime dependency construction from graph declaration.
  • SimpleNode, CommandNode, SimpleEdge, and ConditionalEdge to model graph structure.
  • StateEnhancer, StateEvaluator, and StateCommander to keep node and routing logic aligned with LangGraph concepts.
  • NodeManager and EdgeManager to normalize layout declarations into LangGraph registration calls.

Public API

The package root intentionally exports only:

from frankstate import WorkflowBuilder

All other reusable contracts should be imported from subpackages, usually from their concrete modules:

from frankstate.entity.graph_layout import GraphLayout
from frankstate.entity.node import SimpleNode, CommandNode
from frankstate.entity.edge import SimpleEdge, ConditionalEdge
from frankstate.entity.statehandler import StateEnhancer, StateEvaluator, StateCommander
from frankstate.entity.runnable_builder import RunnableBuilder
from frankstate.managers.node_manager import NodeManager
from frankstate.managers.edge_manager import EdgeManager

Installation

With pip:

pip install frankstate

With uv:

python -m uv pip install frankstate

Optional example dependencies:

pip install frankstate[examples]

The published wheel contains only frankstate. Repository-level reference code, service integrations, notebooks, and tests are not part of the base package.

Minimal Example

from frankstate import WorkflowBuilder
from my_project.layouts.simple_graph import SimpleGraphLayout
from my_project.state import GraphState

workflow_builder = WorkflowBuilder(
    config=SimpleGraphLayout,
    state_schema=GraphState,
)

graph = workflow_builder.compile()

LangGraph Alignment

frankstate keeps the official LangGraph execution model:

  • StateEnhancer wraps node logic that returns partial state updates.
  • StateEvaluator wraps the callable used by conditional edges.
  • StateCommander wraps nodes that return official LangGraph Command objects.

The compiled graph still relies on LangGraph's own StateGraph, add_node(), add_edge(), add_conditional_edges(), and Command.

Repository Boundaries

If you are browsing the repository instead of the published package:

  • src/frankstate is the reusable package.
  • src/core_examples is the repository reference layer.
  • src/services contains repository integrations and deployment entrypoints.

Those repository layers help demonstrate how frankstate can be consumed, but they are not the stable public API of the base wheel.

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

frankstate-0.1.1.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

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

frankstate-0.1.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file frankstate-0.1.1.tar.gz.

File metadata

  • Download URL: frankstate-0.1.1.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for frankstate-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bae5a6e186097ad97d4042744c98077322172f1978750e0d292fa656176faef1
MD5 52061ea95b939bc3d720367ae50a9023
BLAKE2b-256 14153f6d6b8e6037efbd4da80c439ba83e30cd0ff5350b85d89bdbfe1402e438

See more details on using hashes here.

Provenance

The following attestation bundles were made for frankstate-0.1.1.tar.gz:

Publisher: release.yml on EiinGeeeL/frankenst-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frankstate-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: frankstate-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for frankstate-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9106b23cea0fdb24d0e2b1e8f964f3481d4782256c240c2ee09bc2adc5045b7f
MD5 b4da6c0275cb7a21cc125766068001a1
BLAKE2b-256 28d5762a2845086c465c700812add1be91ce03f56b7ab9de4b8c903e94c8759b

See more details on using hashes here.

Provenance

The following attestation bundles were made for frankstate-0.1.1-py3-none-any.whl:

Publisher: release.yml on EiinGeeeL/frankenst-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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