Skip to main content

Welcome to EdgeWeave

EdgeWeave is a desktop app for building data-science and AI workflows as graphs. You drag nodes onto a canvas, wire them together and press Run. Each node shows its result as it finishes, and the whole graph exports to a plain Python script or a web dashboard when you're done.

It ships with nodes for data loading and cleaning, Plotly charts and maps, scikit-learn, PyTorch, NetworkX graphs, SQLite, 3D viewers, simulation (SimWeave), language models and retrieval (RAG), and more. PostgreSQL and a statistics toolkit (tests, copulas) are free modules in the Marketplace. You can write your own nodes in a few lines of Python.

Start here​

Tutorials​

  1. Build a graph with the Ctrl+K palette
  2. Version workflows with Git and see visual graph diffs
  3. Export a dashboard
  4. Chat with the assistant and run the RAG demo
  5. Export a workflow to Python
  6. Run workflows on a schedule
  7. Install modules from the Marketplace
  8. Write your own node with @node

Reference​

Inside the app, right-click any node for its own documentation, including its ports and whether it supports Python export.

For contributors​

LayerTechRole
ShellElectronDesktop window, file dialogs, installer
FrontendDrawflow + CodeMirror + ViteGraph canvas, code editor, sidebar, settings
BackendFastAPI (Python 3.11)Node registry, graph parsing, REST + WebSocket
ExecutionWorker subprocessRuns the parsed DAG, streams progress
SDKsdk/node.py, sdk/decorators.pyHow nodes are authored and registered

The on-disk graph format is .weave: JSON produced by Drawflow's export() plus a small EdgeWeave wrapper.

  • Shipped nodes live in backend/core/nodes/ (@register_block) and must pass the metadata audit (backend/tests/test_codegen_audit.py); user and marketplace nodes use @node (sdk/node.py).
  • Path constants live in backend/core/config.py; never hard-code paths elsewhere.
  • Workflow-state mutations must take _workflow_lock (backend/utils/state.py).
  • Don't add node-type dispatch to backend/utils/parse_drawflow.py; that parser is intentionally generic.
  • Design notes and investigation logs are under Contributor notes in the sidebar.