项目介绍:Barfi
Barfi 是一个基于 Python 的图形化流程编程库,旨在轻松融入现有的工作流中,为用户提供一个可视化的编程环境。
背景
Barfi 提供了一个图形化编程接口,通过一系列的barfi.Block
构建一个完整的流程图(schema),随后通过barfi.ComputeEngine
执行该流程图。每个barfi.Block
都具备一些特性,这些特性使得流程编程和流程图构建更加便捷。
技术特点
-
输入输出接口:每个 Block 含有输入和输出接口,可以连接到其他 Block。用户可以为每个 Block 指定一个可执行函数,该函数可以从输入接口获取数据,执行计算或操作,并更新输出接口。
-
节点与链接:在 Barfi 中,Block 类似于编程中的节点(Node),而链接类似于边(Edge)。这种抽象使得用户无需深入了解底层细节,就可以快速搭建复杂的程序。
-
与现有工具的集成:现有的 Python 图形化流程编程库大多运行在一个独立的环境中,无法与现有项目整合。Barfi 则通过提供 Streamlit 组件打破了这一局限,未来还计划添加 Jupyter-Notebook 小部件。
-
领域专用组件:针对特定领域需求,Barfi 计划引入更多专用组件以增强其实用性。
快速入门
安装
用户可以在项目的虚拟环境中使用 pip 进行安装:
pip install barfi
图形化界面
-
Barfi 提供了一个 Streamlit 组件,使用 API
barfi.st_barfi
。 -
项目计划在未来实现一个 Jupyter-Notebook 小部件,为用户提供更广泛的选择。
实现细节
Barfi 的前端使用 Vue 和 BaklavaJS 构建,并从 BaklavaJS 借鉴了一些后端逻辑。
通过这些特性,Barfi 实现了灵活且易于集成的图形化编程体验,为 Python 开发者带来了便捷高效的解决方案。