参数化对象之间的可视化数据流编程。
项目描述
# Boxflow
*参数化对象之间的可视化数据流编程**
Boxflow允许通过连接和可视化
参数化对象进行可视化编程。Boxflow旨在支持的参数化对象类型示例包括
参数参数和数字生成器、
[Imagen](http://ioam.github.io/imagen/) 模式,以及未来的
[HoloViews](http://www.holoviews.org) 元素。
目前仍在开发中,但许多基本功能现在已经到位。请注意,由于这是一个我在业余时间进行的个人项目,因此开发可能较慢。
[](index.html)
*推荐浏览器: 启用ES6的Chrome (chrome://flags/#enable-javascript-harmony)*
## 交互
+ 滚动上下:放大/缩小
+ '+'/'-' : 放大/缩小
+ 拖动空白空间:平移视图。
+ 'H' : 隐藏GUI面板。
+ 点击节点:查看节点参数。
+ 拖动节点:移动节点。
+ 拖动输出端口:创建连接。
+ 在突出显示(红色轮廓)上按 'd'/'退格键':删除对象
## 功能
- 可视数据流编程
- 客户端/服务器架构,允许在线部署。
- 客户端和服务器端均支持扩展。
- 可视化组合和操作 imagen 模式生成器。
## 开发者指南
- 启动服务器。
```sh
$ python server.py
```
要从es5目录提供ES5 JavaScript(需要使用Babel更新)
```sh
$ python server.py -es5
```
- 或者
```
$ python -c "from boxflow.server import main; main('js')"
```
### Babel和ES5
本项目使用 ES6 语法编写,基于 Chrome(已启用这些实验性语言功能)。Firefox 的最新版本支持 ES6,但其他功能需要 ES5。要更新 "es5" 目录
- 全局安装 Babel
```sh
sudo npm install -g babel-cli
```
- 安装 ES5 'preset'
```sh
npm install babel-preset-es2015
```
- 更新 es5 目录的内容
```
babel ./boxflow/js/ --out-dir ./boxflow/es5/
```
## 关于代码
- 使用现代 JavaScript(ES6)编写
- 最小 JS 依赖:[fabric](http://fabricjs.com/),[watch.js](https://github.com/melanke/Watch.JS/),[underscore.js](https://underscorejs.node.org.cn/) 和 [dat.gui](https://github.com/dataarts/dat.gui)。
- 最小 Python 依赖:[tornado](https://tornado.pythonlang.cn/en/stable/),[pillow](https://python-pillow.org/),[Imagen](https://ioam.github.io/imagen/)。
## 目标
+ 提供对 Jupyter 笔记本环境的替代方案。
+ 提供丰富的、视觉化的参数化对象操作方式。
+ Param: 数量生成器,参数化类。可能是 paramnb 的替代品。
+ HoloViews: 元素、HoloMaps、布局、操作。
+ Imagen: 模式生成器。
+ 声明性规范(JSON),可以从 Python 或浏览器中加载。
+ 允许在客户端定义自定义节点(通过定义参数化类)。
+ 个人目标:学习 ES6 和现代、惯用的 JavaScript。
## TODO
- 使用 JQuery 仅一行代码(可以删除依赖)。
- 强制 DAG 图 + 端口类型检查。
- 保存/加载功能。
- 确保与 Python 3 兼容。
- 个人目标:学习 ES6 和现代、惯用的 JavaScript。
许可证
----
BSD 3-clause 许可证。
*参数化对象之间的可视化数据流编程**
Boxflow允许通过连接和可视化
参数化对象进行可视化编程。Boxflow旨在支持的参数化对象类型示例包括
参数参数和数字生成器、
[Imagen](http://ioam.github.io/imagen/) 模式,以及未来的
[HoloViews](http://www.holoviews.org) 元素。
目前仍在开发中,但许多基本功能现在已经到位。请注意,由于这是一个我在业余时间进行的个人项目,因此开发可能较慢。
[](index.html)
*推荐浏览器: 启用ES6的Chrome (chrome://flags/#enable-javascript-harmony)*
## 交互
+ 滚动上下:放大/缩小
+ '+'/'-' : 放大/缩小
+ 拖动空白空间:平移视图。
+ 'H' : 隐藏GUI面板。
+ 点击节点:查看节点参数。
+ 拖动节点:移动节点。
+ 拖动输出端口:创建连接。
+ 在突出显示(红色轮廓)上按 'd'/'退格键':删除对象
## 功能
- 可视数据流编程
- 客户端/服务器架构,允许在线部署。
- 客户端和服务器端均支持扩展。
- 可视化组合和操作 imagen 模式生成器。
## 开发者指南
- 启动服务器。
```sh
$ python server.py
```
要从es5目录提供ES5 JavaScript(需要使用Babel更新)
```sh
$ python server.py -es5
```
- 或者
```
$ python -c "from boxflow.server import main; main('js')"
```
### Babel和ES5
本项目使用 ES6 语法编写,基于 Chrome(已启用这些实验性语言功能)。Firefox 的最新版本支持 ES6,但其他功能需要 ES5。要更新 "es5" 目录
- 全局安装 Babel
```sh
sudo npm install -g babel-cli
```
- 安装 ES5 'preset'
```sh
npm install babel-preset-es2015
```
- 更新 es5 目录的内容
```
babel ./boxflow/js/ --out-dir ./boxflow/es5/
```
## 关于代码
- 使用现代 JavaScript(ES6)编写
- 最小 JS 依赖:[fabric](http://fabricjs.com/),[watch.js](https://github.com/melanke/Watch.JS/),[underscore.js](https://underscorejs.node.org.cn/) 和 [dat.gui](https://github.com/dataarts/dat.gui)。
- 最小 Python 依赖:[tornado](https://tornado.pythonlang.cn/en/stable/),[pillow](https://python-pillow.org/),[Imagen](https://ioam.github.io/imagen/)。
## 目标
+ 提供对 Jupyter 笔记本环境的替代方案。
+ 提供丰富的、视觉化的参数化对象操作方式。
+ Param: 数量生成器,参数化类。可能是 paramnb 的替代品。
+ HoloViews: 元素、HoloMaps、布局、操作。
+ Imagen: 模式生成器。
+ 声明性规范(JSON),可以从 Python 或浏览器中加载。
+ 允许在客户端定义自定义节点(通过定义参数化类)。
+ 个人目标:学习 ES6 和现代、惯用的 JavaScript。
## TODO
- 使用 JQuery 仅一行代码(可以删除依赖)。
- 强制 DAG 图 + 端口类型检查。
- 保存/加载功能。
- 确保与 Python 3 兼容。
- 个人目标:学习 ES6 和现代、惯用的 JavaScript。
许可证
----
BSD 3-clause 许可证。
项目详情
关闭
boxflow-0.0.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 69d869e17d552d500281ec593ba4df8f5a8581b4c48b5bec46a094ca609dd890 |
|
MD5 | 422f011f1b855c584cfc31f366b8bd2f |
|
BLAKE2b-256 | c3cef323e5e2fb8eb8d8f37387ca1351561d1437e2cc6f4115275d4839487cd0 |