这个项目能做什么

Nodezator 是一款桌面应用程序,充当通用的 Python 节点编辑器。它允许用户通过可视化方式连接 Python 函数和其他可调用对象,以构建灵活的参数化行为、数据、应用程序和代码片段。该工具使用纯 Python 构建,基于 pygame-ce 和 numpy,由 Kennedy Richard Silva Guerra 维护,属于 Indie Smiths 项目的一部分。 主要功能包括: - **简易节点创建**:任何 Python 函数或可调用对象,只需添加一行 `main_callable = ...` 即可转换为节点。这包括来自第三方库(如 numpy、Pillow、matplotlib 和 CadQuery)的可调用对象。 - **Python 集成**:图形可以导出为纯 Python 代码,确保工作流不过度依赖该应用。Nodezator 被描述为 Python 的可视化、基于节点的表示。 - **插槽邻近检测**:用户无需像素级精确的鼠标精度即可连接节点,且可自定义检测距离和图形。 - **可变类型参数**:支持 `*args` 和 `**kwargs` 节点,带有占位符插槽,可接受多个连接,包括可迭代对象和字典的解包。 - **专用小部件**:用于整数/浮点数的输入小部件支持拖拽调整、算术表达式以及一些 Python 内置函数。 - **函数式编程**:节点可以引用可调用对象本身(不仅仅是调用),从而支持高阶函数,如 `map` 和 `pow` 的可调用模式。 - **节点包**:用户可以在文件夹(节点包)中定义节点,这些包可以本地保留、手动共享,或通过 PyPI 作为 Python 包分发。节点画廊网站有助于发现和分享节点包。 - **系统测试**:内置 GUI 自动化用于系统测试,可通过 Shift+Ctrl+F8 访问。 安装方式为 `pip install --upgrade nodezator`,或者下载源代码并在安装了 Python、pygame-ce 和 numpy 的环境中以便携式应用运行。项目包含用户手册,可在应用内和在线获取,并鼓励通过 GitHub 讨论和向 develop 分支提交拉取请求来贡献社区。源代码在 The Unlicense 下致力于公共领域。