I would disagree that VP didn't take off. It most certainly did. And in many forms. Blockly, for example is used in many (most?) schools to teach computer logic and programming before moving on to written languages (usually Python). And visual tools are used in hundreds of different products and have been available for decades. Blockly, LabView, Microsoft PowerPlatform (itself several generations down a visual programming path), .... - the list goes on and on.
Currently, I would suggest that AI is perceived as an easy way out of having to think about logic at all! Ask a question, get your answer. No need to map out the logic.
Of course, this is a total fallacy. Since the only logic that LLM tools supply is the logic someone else has already laid out. It is a dead-end. But everyone is excited because they think it is a quick and easy way out of having to actually think for themselves. LLM's are also a somewhat dangerous dead-end in that the cost to both train and run them is enormous and likely to be highly unsustainable. Make use of free ones while you can. (Though maybe someone will invent more efficient runtime models, that's the potential of innovation of course).
Not to say that LLM and ML doesn't have a place - and an important one too. But, as usual, it won't be what most people think.
And, on that we certainly both agree.
There are certainly libraries that do this. Let me check my list. I believe that there are a number of layout theories - math approaches - that can be used as well though that is way above my head.
OK, apologies for the length of the following. Not all of it will be relavent - it comes from my Obsidian knowledgebase and lists many of the graph-based libraries and tools that I'm aware of. Certainly some of these have auto-layout capabilities. Even the venerable graphviz has several auto-layout options.
Name | Descr | $ | Comments |
---|---|---|---|
baklavajs | Graph/node editor for VueJs | 0 | Interesting Unreal engine style flow-based display and processing. |
beautiful-react-diagrams | React components and hooks to build diagrams | ||
butterfly | Renderer for interactive diagrams and flowcharts | ||
cytoscape.js | Canvas based renderer with utilities and algorithms | blog | |
diagram-maker | Interactive editor for any graph-like data | 0 | Online editor |
Flowy | Flowchart library | 0 | Flowcharts only |
flow-builder | React-based renderer for workflows and process diagrams | ||
Flume | A React-powered node editor and runtime engine | 0 | Unreal engine style flow-based display and processing. |
$$$ |
Go library | ||
$$$ |
|||
0 (Limited), $$$ |
Free version is too limiting | ||
Specialist | |||
litegraph.js | A graph node engine and editor | 0 | Unreal engine style flow-based display and processing. |
mermaid | JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically. | 0 | Widely embedded in other tools. |
Angular only | |||
nice-dag | Lightweight javascript library, which is used to present a DAG diagram | ||
nodl | Framework for computational node graphs | 0 | Unreal engine style flow-based display and processing. |
Pintora | Extensible javascript text-to-diagrams library that works in both browser and Node.js. Inspired by Mermaid and PlantUML | 0 | |
react-dag-editor | React component to create graphic user interface | ||
react-digraph | A library for creating directed graph editors | ||
react-flow | React library for rendering node-based UIs | ||
reaflow | React library for building workflow editors | ||
rete | Framework for visual programming and node editors | 0 | Unreal engine style flow-based display and processing. |
sigma.js | Visualization framework for large graphs | ||
vue-flow | Flowchart component for Vue 3 | Simplified graph view | |
X6 | X6 is an HTML and SVG-based graph editing engine that provides low-cost customization capabilities and out-of-the-box built-in extensions to quickly build DAG diagrams, ER diagrams, flowcharts, lineage diagrams, and more. | Mostly Chinese. |
Apache ECharts
Website Docs GitHub
Includes Graph types.
Arbor.js
arbor.js » introduction (arborjs.org) samizdatco/arbor: a graph visualization library using web workers and jQuery (github.com)
"a graph visualization library built with web workers and jQuery."
D3.js
Website Docs GitHub
Data visualisation
d3-graphviz
magjac/d3-graphviz: Graphviz DOT rendering and animated transitions using D3 (github.com)
Dracula
strathausen/dracula: JavaScript layout and representation of connected graphs. (github.com) Dracula Graph Library – Graph Computation, Layout, Algorithms for JavaScript (graphdracula.net)
G6 (AntV)
Graphviz (C)
DOT Language. Command line only.
Vega - Incl Tree & Network views
A Visualization Grammar | Vega
Vis.js (Community Edition) - Incl Network view
A dynamic, browser based visualization library. The library is designed to be easy to use, to handle large amounts of dynamic data, and to enable manipulation of and interaction with the data. The library consists of the components DataSet, Timeline, Network, Graph2d and Graph3d.
VivaGraphJS
Layouting
- elkjs - A port of the Java ELK layouting library to Javascript
- d3-hierarchy - Helpers and algorithms for working with hierarchical graphs
- d3-force - Library for creating interactive force directed graphs
- d3-dag - D3 plugin to work with DAG data structures
- dagrejs - Directed graph layout algorithms for Javascript
- graphology-layout - Layout algorithms
- springy - Force directed graph layouts
Graph Utilities
- behave-graph - Extensible behaviour-graph execution engine
- behave-flow - UI for behave-graph using react-flow
- graphlib - Helpers for directed graphs in JS
- graphology - Utilities and algorithms for all kinds of graphs
Misc
- flume - Business logic graph editor
- mermaid - Flowchart and sequence diagrams generation
- pintora - Text-to-diagrams library
- quick-erd - Generate entity-relationship diagrams (ERD) from text, and reverse engineer ERD text from live database
Overview | Welcome to PyFlow homepage! (wonderworks-software.github.io) is a general purpose visual scripting framework for python.
Ryven - Flow-based visual scripting for Python - A simple and powerful visual nodes editor for Python, and a framework for building nodes executing any Python code.