Vibrante-Node is a Python-node-based visual framework for building modular systems through connected nodes and data flows. It provides an intuitive graph interface where complex logic can be constructed visually by linking nodes together.
The project focuses on flexibility, extensibility, and developer productivity, making it suitable for building tools such as visual pipelines, automation workflows, and data-processing graphs. Node-based systems allow complex operations to be organized as interconnected components rather than traditional linear code structures, improving clarity and scalability in large workflows.
Full integration with the Prism Pipeline studio management system:
- 40+ Prism Nodes: Complete node library covering entities, products, media, scenes, configs, USD workflows, and more.
- Auto-Bootstrap: Place a
prism_core_initnode in any graph β the engine automatically initializes PrismCore before execution without manual wiring. - Zero-Wiring Core Access: All
prism_*nodes resolve the sharedPrismCoreinstance from a global cache automatically; nocorewire required. - Qt Compatibility Layer: New helpers in
qt_compat.pybackfill Qt6-style APIs and stub out incompatible shiboken wheels so Prism loads cleanly inside the app. - Main-Thread Bootstrap: PrismCore is initialized on the Qt main thread (required by Prism) with a graceful fallback if initialization fails.
- In-UI Code Editor: The
python_scriptnode ships with an Edit Script button that opens a full-featured code editor directly on the node. - Saved Scripts: Scripts are persisted inside the workflow JSON β reopening a saved workflow reloads the exact code that was authored.
- Runtime Parameter Injection: The engine now injects workflow-saved parameters (such as
python_code) into node instances before execution, so scripts run correctly after loading.
while_loopbuiltin node: Loop-based control flow driven by a boolean condition port.- Graph-level loop support: The execution engine handles recursive re-entry safely, enabling while loops without deadlocking.
New general-purpose helper nodes:
- List:
create_list,get_list_item,list_length - Dictionary:
create_dictionary,get_dict_value,set_dict_value - String:
concat,split,replace,lowercase,uppercase,string_length
The execution engine has been significantly upgraded for power and reliability:
- Loop Execution Fixed: Resolved a critical deadlock in
NetworkExecutor, enabling smooth, nested flow processing forFor LoopandLoop Bodynodes. - Recursive Data Pulling: Nodes now automatically "pull" the latest values from upstream data-only nodes immediately before execution, ensuring loop iterations always use fresh data.
- Selective Reactive Updates: Smart propagation logic in Flow Mode only triggers downstream nodes if they lack execution pins, preventing redundant processing while keeping the UI live.
use_execSupport: Custom nodes can now be defined without execution pins for a cleaner, data-focused UI.
- Dynamic Dark/Light Themes: Fully integrated theme switching across the entire application, including the canvas and all dock panels.
- Category-Based Coloring: Nodes are automatically color-coded based on their category (Math, Logic, Data, etc.) for instant visual identification.
- Refined Node Layout: Nodes automatically scale to fit their content with perfectly centered widgets and clear headers.
- Visual Data Types: Ports are color-coded by data type (e.g., Cyan for
int, Purple forstring), making connections intuitive and error-resistant. - Interactive Tooltips: Hover over any port to see its name and expected data type instantly.
- Power-User Examples: 11 new Python scripts demonstrating batch processing, scene management, and complex workflow automation.
- Scripting Console: Full access to the internal API for programmatically manipulating the node graph.
- Real-time Feedback: Monitor execution status and get detailed descriptions of selected nodes directly in the status bar.
The specialized creation tool is now more powerful:
- Interactive Selectors: Dropdown menus for selecting port Types and Widget styles.
- Automatic Code Generation: Generates full Python class structures with lifecycle stubs automatically.
- Robust Sync: Bi-directional synchronization between the UI tables and the Python source code.
Workflow data now flows in real-time across the canvas:
- Instant Sync: Changing a value in one node immediately updates all connected downstream nodes.
- Visual Monitoring: Destination widgets update live even when disabled by a connection, acting as real-time monitors.
- Predictive Flow: Smart data mirroring ensures nodes possess output data even before the full workflow is executed.
- Interactive Node Widgets: Embed Text Boxes, Sliders, Dropdowns, and File Selectors directly into your nodes.
- Thread-Safe Logging: Background nodes communicate with the UI via a robust signal-based logging system.
- Asynchronous Engine: Background execution via
asynciokeeps the UI responsive during high-load processing. - Robust Persistence: Workflows and custom nodes are saved as clean, portable JSON definitions.
- Python 3.10+
pip
-
Clone the repository:
git clone https://github.com/KamalTD/Vibrante-Node.git cd Vibrante-Node -
Install dependencies:
pip install -r requirements.txt
-
Run the App:
python ./src/main.py
Detailed documentation is available for both users and developers:
- π User Guide: How to use the interface and build workflows.
- π οΈ Node Builder API: In-depth guide for creating custom nodes.
- π€ Automation API: Reference for Scripting Console automation.
- π οΈ Developer Documentation: Technical architecture and internal data flow.
- π Technical Feature List: Detailed breakdown of all platform features.
- π Release Notes v1.6.1: Full changelog for the current release.
βββ examples/ # Automation scripts and custom node examples
βββ icons/ # UI icons (SVG/PNG format)
βββ nodes/ # Primary JSON definitions for custom nodes
β βββ prism_*/ # 40+ Prism Pipeline integration nodes
βββ node_examples/ # Pre-built node library for quick reference
βββ src/ # Application source code
β βββ core/ # Engine, Registry, and Graph management
β βββ ui/ # PyQt5/PyQt6 components (Canvas, Panels, Node Widgets)
β βββ utils/ # Theming, Runtime, Threading, and Bridge helpers
β β βββ prism_core.py # Prism initialization and shared-memory cache
β β βββ qt_compat.py # Qt5/Qt6 compatibility layer
β βββ main.py # Application entry point
βββ tests/ # Unit and integration tests
βββ workflows/ # Saved pipeline files (.json)
βββ DOCUMENTATION.md # Detailed technical documentation
Permission is granted to use, modify, and test this software for personal and non-commercial purposes.
Commercial use, redistribution in commercial products, or use within commercial services requires written permission from the author.
Contributions are welcome via pull requests.
