Code, visually.
Asteris turns your Python into a live diagram you can read, run, and edit. Bidirectional — the code stays the source of truth.
Why Asteris
Three ways to see your code.
Read it, draw it, run it. Switch at will — the model never drifts, because the code is the diagram.
Code-first
Your Python is the source of truth. The diagram derives from it — no separate model to keep in sync.
Bidirectional
Edit code → diagram updates. Edit diagram → code updates. Both stay valid, always.
Live trace
Run your code inside the diagram. See values flow through the graph — every step, every variable.
Real Python
Not a DSL, not a toy. Import any library, run any script — Asteris just adds a view.
Sharable
Send a link, render the diagram. No install, no plugin — the editor runs in the browser.
Keyboard-first
Every action has a shortcut. The diagram is for reading; editing stays on the keyboard.
Try it
Referencing is as easy as typing.
Type a function name — the matching node lights up. Your code and your diagram share one vocabulary.
Try load, parse, total, print — or full sentences.
How it works
From code to diagram in one parse.
Asteris doesn't generate code from a diagram — it derives the diagram from the code, so refactors stay safe and round-trips are lossless.
-
Write or paste your Python
Any module works. Functions, classes, imports, decorators.
-
Asteris parses the AST
Nodes, edges, and data flow get extracted into the canonical Asteris representation.
-
Read, edit, or run
Tweak the diagram — the code updates. Hit run — the trace plays back through the graph.
See it
Same program, two views.
A small data pipeline rendered as both Python and as the Asteris graph.
def load(path):
return open(path).read()
def parse(text):
return [int(x) for x in text.split()]
def total(nums):
return sum(nums)
print(total(parse(load("nums.txt"))))
┌──────┐ ┌───────┐ ┌───────┐
│ load │ → │ parse │ → │ total │ → 42
└──────┘ └───────┘ └───────┘
↓ ↓ ↓
"1 2 3 4..." [1,2,3,4...] 42
FAQ