Code, visually.

Asterris turns your Python into a diagram you can read, run, and edit. Bidirectional — the code stays the source of truth.

Why Asterris

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.

Reference-aware

Type a function name and the matching node lights up. Your code and your diagram share one vocabulary.

Real Python

Not a DSL, not a toy. Import any library, run any script — Asterris 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.

load()
parse()
total()
print()

Try load, parse, total, print — or full sentences.

How it works

From code to diagram in one parse.

Asterris doesn't generate code from a diagram — it derives the diagram from the code, so refactors stay safe and round-trips are lossless.

  1. Write or paste your Python

    Any module works. Functions, classes, imports, decorators.

  2. Asterris parses the AST

    Nodes, edges, and data flow get extracted into the canonical Asterris representation.

  3. Read, edit, or run

    Tweak the diagram — the code updates. Hit run — your script executes in the built-in terminal.

See it

Same program, two views.

A small data pipeline rendered as both Python and as the Asterris graph.

pipeline.py
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

Common questions.

Is this just a flowchart generator?
No — the diagram is bidirectional. Edits in either direction propagate, and both the code and the diagram stay valid.
What languages are supported?
Python today. C++, C#, JavaScript, TypeScript, HTML, and CSS are on the roadmap.
Does my code leave my machine?
Parsing happens server-side for now. Self-hosted and fully-local modes are planned.
Can I use it offline?
Not yet — the editor is browser-based and talks to a parser service. A desktop build is on the roadmap.