You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+25-24Lines changed: 25 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,9 @@ A universal, node-based visual scripting editor built with Python and PySide6. D
4
4
5
5

6
6
7
-
This project is a universal implementation of a node-based Python environment. It provides a highly interactive and visually polished interface for creating, connecting, and executing custom logic nodes. The application is designed to handle any Python code, including scripts with embedded pip dependencies. The compiled application is fully self-contained and includes a portable Python runtime, so users do not need to have Python installed on their system.
7
+
This project implements a node-based visual programming environment for Python code execution. The application provides a Qt-based interface for creating, connecting, and executing Python functions as nodes in a directed acyclic graph. Graph persistence is handled through a Markdown-based serialization format that maintains both structural metadata and human readability. The application supports arbitrary Python code execution with isolated virtual environments and dependency management through subprocess isolation.
8
8
9
-
The core philosophy of this editor is **"Code as Nodes."**Instead of manually adding inputs and outputs, the editor intelligently parses the Python code within each node to dynamically generate the appropriate connection pins, making graph creation fast, flexible, and intuitive.
9
+
The core architecture follows a **"Code as Nodes"**approach where input and output pins are automatically generated by parsing Python function signatures and type annotations. This eliminates manual pin configuration and enables rapid prototyping of data processing pipelines. The Markdown file format stores graph topology, node positioning, code content, and environment requirements in a structured format that can be processed by both the application, external tools, and large language models (LLM's).
10
10
11
11
---
12
12
@@ -44,35 +44,15 @@ The core philosophy of this editor is **"Code as Nodes."** Instead of manually a
44
44
45
45
---
46
46
47
-
## Screenshots
48
-
49
-
### Main Interface
50
-
51
-
The main PyFlowGraph interface showcasing a complete text adventure game implementation. This example demonstrates the node-based visual scripting approach with interconnected nodes handling game logic, user input processing, and narrative flow. Notice the clean dark theme, type-colored connection pins, and the intuitive layout of the node graph canvas.
The integrated Python code editor provides a professional development environment within PyFlowGraph. Features include syntax highlighting with custom color schemes, line numbering, smart auto-indentation, and tab support. The modal dialog design gives developers ample space to write and edit node logic while maintaining the visual context of the graph workflow.
58
-
59
-

60
-
61
-
### Python Environment Manager
62
-
63
-
The Python Environment Manager dialog enables sophisticated dependency management for each graph project. Users can specify custom pip requirements that are automatically installed in isolated virtual environments. This ensures each graph has its own clean dependency space, preventing conflicts between different projects while maintaining security through subprocess isolation.
PyFlowGraph uses a innovative Markdown-based file format (`.md`) that combines human readability with structured data storage. This format makes graphs both machine-readable for the application and easily editable by humans or AI assistants. The format includes embedded metadata for node positions, connections, and execution requirements while presenting the code in a clean, readable format.
70
50
71
51

72
52
73
53
For detailed information about the file format specification, see [flow_spec.md](flow_spec.md).
74
54
75
-
## Example Graphs
55
+
###Example Graphs
76
56
77
57
The `examples/` directory contains sample graphs demonstrating various capabilities:
78
58
@@ -88,6 +68,26 @@ The `examples/` directory contains sample graphs demonstrating various capabilit
88
68
89
69
---
90
70
71
+
## Screenshots
72
+
73
+
### Main Interface
74
+
75
+
The main PyFlowGraph interface showcasing a complete text adventure game implementation. This example demonstrates the node-based visual scripting approach with interconnected nodes handling game logic, user input processing, and narrative flow. Notice the clean dark theme, type-colored connection pins, and the intuitive layout of the node graph canvas.
The integrated Python code editor provides a professional development environment within PyFlowGraph. Features include syntax highlighting with custom color schemes, line numbering, smart auto-indentation, and tab support. The modal dialog design gives developers ample space to write and edit node logic while maintaining the visual context of the graph workflow.
82
+
83
+

84
+
85
+
### Python Environment Manager
86
+
87
+
The Python Environment Manager dialog enables sophisticated dependency management for each graph project. Users can specify custom pip requirements that are automatically installed in isolated virtual environments. This ensures each graph has its own clean dependency space, preventing conflicts between different projects while maintaining security through subprocess isolation.
**Custom Dependencies**: Each graph can specify its own pip requirements through the Environment Manager. Dependencies are automatically installed in isolated virtual environments.
267
267
268
268
**Type Flexibility**: The editor supports any Python type through type hints for automatic pin generation. Pin colors are determined by the type annotation, providing visual type identification. Common types include:
0 commit comments