FBW Engineering Solutions

FlowGraph Web Editor

Author workflows in the browser. Execute them where your data lives.

Build typed, reusable finite-element workflows visually, download the same versioned JSON used by FlowGraph, and run it locally with the Python application.

Typed ports and connections Portable JSON definitions Local execution and data access
FlowGraph FlowGraph Workflow Editor
NewImport JSONDownload workflow
Root workflowAdd workflow input  +Add workflow output  +
INPUTSelect filepath · Text
READERRead Mesh (Muscat)mesh · Mesh document
OUTPUTMesh sinkmesh · Mesh document
Authoring only The editor never runs workflows, Python code, files, or mesh operations.

A focused authoring tool

From typed graph to portable workflow.

FlowGraph workflows are directed graphs of typed nodes. Connect named output ports to compatible inputs, configure parameters, and make the structure explicit before you run it.

01

Compose visually

Search the node catalog and arrange readers, mesh operations, viewers, writers, and workflow boundaries on the canvas.

02

Connect with confidence

Ports carry data types such as Text and Mesh document. Incompatible connections are rejected unless a registered conversion is available.

03

Download and share

Export human-readable JSON with node definitions, parameters, canvas positions, and port-addressed connections.

FlowGraph CLI

Command lines for inspection and execution.

The web editor is intentionally authoring-only. Use the local Python application to open the full workspace, inspect a saved graph, or execute it against local files.

01 - A

Install the development environment

FlowGraph uses uv for its Python environment and dependencies.

$ uv install flowgraph
01 - B

Run with uvx

Start the browser-based Trame workspace on a loopback server.

$ uvx flowgraph 
02

Inspect a saved workflow

Print published inputs, outputs, and a directed ASCII representation without opening the UI. (Use this test file)

$ uv run flowgraph inspect workflow.json
$ uvx flowgraph inspect workflow.json
Inputs:
  in_filename: Text (input.value)
  out_filename: Text (output.value)
Outputs:
  (none)
Workflow:
  (title-doc)[title-doc-5] Title
  (P) title - Text: 'Mesh Converter Muscat >> Muscat'

  (paragraph-doc)[paragraph-doc-6] Paragraph
  (P) text - Text: 'Read a mesh file with Muscat and save it with Muscat. '

  (workflow-input)[input] Workflow Input
  (I) value - Any
  (P) name - Text: 'in_filename'
  (O) value - Any
   │
   │ (load-muscat)[mesh_loader] Read Mesh (Muscat)
   └─(I) path - Text
     (O) mesh - Mesh document
      │
      │ (workflow-input)[output] Workflow Input
      │ (I) value - Any
      │ (P) name - Text: 'out_filename'
      │ (O) value - Any
      │  │
      │  │ (write-muscat)[mesh_writer] Write Mesh (Muscat)
      │  └─(I) filename - Text
      └────(I) mesh - Mesh document
03

Run with published inputs

Values that are valid JSON are decoded automatically; ordinary paths and text remain strings.

$uvx flowgraph run \
  muscat-muscat-mesh-conversion.json \
  --input in_filename=MyFileIn.stl \
  --input out_filename=MySurfaceIn.xdmf
            
04

Override parameters for one run

Change node parameters at runtime without modifying the saved workflow JSON.

$ uv run flowgraph run workflow.json \
  --override file-path.path=/data/input.stl \
  --override output-path.path=/data/output.xdmf
05

Write public outputs to JSON

Save the workflow's public outputs as a JSON object for downstream automation.

$ uv run flowgraph run workflow.json --json-output results.json
Argument patterns--input NAME=VALUE--override NODE-ID.PARAMETER=VALUERuntime inputs and overrides do not modify the workflow file.

The flowgraph-workflow format

Readable enough to review. Structured enough to reuse.

The browser editor and local application share the same versioned workflow format. Keep the JSON beside your engineering scripts, review it in source control, and provide different paths at runtime when moving between environments.

Return to CLI examples
{
  "format": "flowgraph-workflow",
  "version": 2,
  "nodes": [
    {
      "id": "load-muscat",
      "definition_id": "read-mesh-muscat",
      "parameters": { "path": "data/input.stl" }
    }
  ],
  "inputs": [],
  "outputs": [],
  "edges": []
}

FlowGraph Desktop

A focused desktop workspace is on the way.

The upcoming FlowGraph desktop app will bring workflow authoring and local execution together in a dedicated application, with the same portable workflow format used by the web editor and CLI.

Not available yet

We are still building it. There is no download available at this time.

Preview of the upcoming FlowGraph Desktop application
Preview of FlowGraph Desktop