About this project
Nodezator is a desktop application that serves as a generalist Python node editor. It allows users to visually connect Python functions and other callables to build flexible parametric behavior, data, applications, and code snippets. The tool is built with pure Python on top of pygame-ce and numpy, and is maintained by Kennedy Richard Silva Guerra as part of the Indie Smiths project.
Key capabilities include:
- **Easy node creation**: Any Python function or callable can be turned into a node by adding a simple `main_callable = ...` line. This includes callables from third-party libraries like numpy, Pillow, matplotlib, and CadQuery.
- **Python integration**: Graphs can be exported as plain Python code, ensuring workflows are not overly dependent on the app. Nodezator is described as a visual, node-based representation of Python.
- **Socket proximity detection**: Users can connect nodes without needing pixel-perfect mouse precision, with customizable detection distance and graphics.
- **Variable-kind parameters**: Supports `*args` and `**kwargs` nodes with placeholder sockets that accept multiple connections, including unpacking of iterables and dictionaries.
- **Specialized widgets**: Entry widgets for integers/floats support drag-to-adjust, arithmetic expressions, and some Python built-in functions.
- **Functional programming**: Nodes can reference callables themselves (not just calls), enabling higher-order functions like `map` and `pow` in callable mode.
- **Node packs**: Users define nodes in folders (node packs) that can be kept local, shared manually, or distributed as Python packages via PyPI. A nodes gallery website helps discover and share node packs.
- **System testing**: Built-in GUI automation for system tests, accessible via Shift+Ctrl+F8.
Installation is via `pip install --upgrade nodezator`, or the source can be downloaded and run as a portable app with Python, pygame-ce, and numpy installed. The project includes a user manual available in-app and online, and encourages community contributions via GitHub discussions and pull requests to the develop branch. The source is dedicated to the public domain under The Unlicense.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.