Introducing Ryven: A Python Visual Programming Tool for Interactive Data Flow
This article introduces Ryven, a Python‑based visual programming environment that lets users see real‑time feedback while manipulating matrices, explains its data‑flow and execution‑flow modes, provides setup instructions, and shares background about its creator.
Traditional black‑on‑white code can feel dull, so the article presents Ryven, a Python visual scripting tool that makes each step—from loading an image and resizing it to applying bilateral filtering—clearly visible.
When a matrix is input, operations such as transpose, conjugate, or exponentiation instantly show results.
The tool, created by first‑year ETH Zurich student Leon Thomm, is called Ryven . The article invites readers to try it.
How to Use
Before running Ryven, prepare the environment:
Python 3 (recommended 3.8+)
PySide2 (recommended 2.14+)
Run Ryven.py in the project to open the editor. Nodes are imported via Import Nodes (select *.rpc files). Right‑clicking provides easy operations.
Ryven supports two algorithm modes:
Data Flow : Whenever node data changes, the update propagates forward instantly, refreshing all connected nodes (e.g., moving a slider updates the result node immediately).
Execution Flow : Data does not propagate on change; it updates only when a downstream node requests the output.
The author also lists a to‑do list (syntax highlighting, auto‑completion, visual improvements, etc.).
Visual programming is fun, but the author stresses it is not meant to replace text‑based coding, as many tasks are unnecessary to visualize.
About the Author
Leon Thomm, a first‑year student at ETH Zurich, describes himself as an “amateur programmer” focused on human‑computer interaction and visual programming, with extensive software development experience before university.
For more details, readers are encouraged to scan the QR code below to receive free Python course materials, including e‑books, tutorials, source code, and more.
Python Programming Learning Circle
A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.