简体中文 | English
包含一系列用于提升Dash应用开发效率的工具函数/工具类。
安装
配合 vscode 插件
已有工具函数/工具类列表
参与贡献
开发计划
pip install feffery-dash-utils -U
在vscode中配合插件feffery-dash-snippets可快捷实现对各工具函数/工具类的快捷导入,在Python文件中输入utils:即可触发相关快捷命令。
- style_utils
- tree_utils
- i18n_utils
- template_utils
- version_utils
用于快捷生成Dash组件的style参数字典,内置了绝大多数小驼峰命名格式的常用css属性,在常见 ide 中将鼠标悬停于参数名之上可查看对应的中英文属性功能介绍,内容基于w3cschool自动生成。
使用示例
from feffery_dash_utils.style_utils import style # 方式一:直接编写键值对样式 fac.AntdText( '测试', style=style( fontSize=16, color='red' ) ) # 方式二:解析CSS代码片段 fac.AntdText( '测试', style=style( """ .IvkwhTOsc9wu6RdvHESR .yK52Sq0w7wspWaS28YNl { width: 91.46%; margin-left: 4.27%; margin-bottom: 5%; position: relative; }""" ) ) # 方式三:混合使用 fac.AntdText( '测试', style=style( """ .IvkwhTOsc9wu6RdvHESR .yK52Sq0w7wspWaS28YNl { width: 91.46%; margin-left: 4.27%; margin-bottom: 5%; position: relative; }""", fontSize=16, color='red' ) )
用于对类似AntdTree、AntdTreeSelect等树形组件所依赖的树形结构数据进行快捷管理操作,具体包含的方法有:
用于对树形结构数据中指定key对应节点进行整体或增量更新。
使用示例
from feffery_dash_utils.tree_utils import TreeManager # 示例树形数据 demo_tree = [ { 'title': '节点1', 'key': '节点1', 'children': [ { 'title': '节点1-1', 'key': '节点1-1', 'children': [ { 'title': '节点1-1-1', 'key': '节点1-1-1', }, { 'title': '节点1-1-2', 'key': '节点1-1-2', }, ], } ], }, {'title': '节点2', 'key': '节点2'}, ] # 对示例树形数据指定节点进行整体替换 TreeManager.update_tree_node( demo_tree, '节点1-1', {'title': '节点1-1', 'key': '节点1-1'}, ) # 对示例树形数据指定节点进行增量更新 TreeManager.update_tree_node( demo_tree, '节点1-1', {'title': '节点1-1new'}, 'overlay', )
在树形结构数据中指定key对应节点之前插入平级新节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager # 示例树形数据 demo_tree = [ { 'title': '节点1', 'key': '节点1', 'children': [ { 'title': '节点1-1', 'key': '节点1-1', 'children': [ { 'title': '节点1-1-1', 'key': '节点1-1-1', }, { 'title': '节点1-1-2', 'key': '节点1-1-2', }, ], } ], }, {'title': '节点2', 'key': '节点2'}, ] # 在示例树形数据指定节点前插入平级新节点 TreeManager.add_node_before( demo_tree, '节点1-1', {'title': '节点1-0', 'key': '节点1-0'}, )
在树形结构数据中指定key对应节点之后插入平级新节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager # 示例树形数据 demo_tree = [ { 'title': '节点1', 'key': '节点1', 'children': [ { 'title': '节点1-1', 'key': '节点1-1', 'children': [ { 'title': '节点1-1-1', 'key': '节点1-1-1', }, { 'title': '节点1-1-2', 'key': '节点1-1-2', }, ], } ], }, {'title': '节点2', 'key': '节点2'}, ] # 在示例树形数据指定节点后插入平级新节点 TreeManager.add_node_after( demo_tree, '节点1-1', {'title': '节点1-2', 'key': '节点1-2'}, )
删除树形结构数据中指定key对应节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager # 示例树形数据 demo_tree = [ { 'title': '节点1', 'key': '节点1', 'children': [ { 'title': '节点1-1', 'key': '节点1-1', 'children': [ { 'title': '节点1-1-1', 'key': '节点1-1-1', }, { 'title': '节点1-1-2', 'key': '节点1-1-2', }, ], } ], }, {'title': '节点2', 'key': '节点2'}, ] # 删除示例树形数据指定节点 TreeManager.delete_node(demo_tree, '节点2')
查询树形结构数据中指定key对应节点。
使用示例
from feffery_dash_utils.tree_utils import TreeManager # 示例树形数据 demo_tree = [ { 'title': '节点1', 'key': '节点1', 'children': [ { 'title': '节点1-1', 'key': '节点1-1', 'children': [ { 'title': '节点1-1-1', 'key': '节点1-1-1', }, { 'title': '节点1-1-2', 'key': '节点1-1-2', }, ], } ], }, {'title': '节点2', 'key': '节点2'}, ] # 查询示例树形数据中存在的指定节点 TreeManager.get_node(demo_tree, '节点1-1') # 查询示例树形数据中不存在的指定节点(将返回None) TreeManager.get_node(demo_tree, '节点1-666')
用于在Dash应用中快捷构建国际化多语种方案,基于前端cookies和本地国际化配置文件驱动。
使用示例
示例应用见i18n_test_app.py、i18n_multi_test_app.py,参考配置文件见locales.json、locales1.json、locales2.json
内置数据仪表盘页面搭建常用自定义组件,具体包含的组件有:
欢迎卡片。
空白卡片。
简单图表卡片。
指标卡片。
提供包含Python版本检查、依赖库版本检查等一系列与项目依赖版本相关的工具函数。
用于检查当前Python版本是否满足项目要求。
使用示例
from feffery_dash_utils.version_utils import check_python_version check_python_version( min_version='3.8', max_version='3.12' )
用于检查当前项目依赖库版本是否满足项目要求。
使用示例
from feffery_dash_utils.version_utils import check_dependencies_version check_dependencies_version( rules=[ { 'name': 'dash', 'specifier': '<=2.18.2' } ] )
git clone https://github.com/CNFeffery/feffery-dash-utils.git cd feffery-dash-utils # 安装开发环境所需依赖 pip install -r requirements/dev.txt
- 样式相关工具函数子模块
style_utils-
style参数编写辅助函数style()
-
- 模板相关工具函数子模块
template_utils- 仪表盘常用自定义组件子模块
dashboard_components- 欢迎卡片
welcome_card() - 空白卡片
blank_card() - 简单图表卡片
simple_chart_card() - 指标卡片
index_card()
- 欢迎卡片
- 仪表盘常用自定义组件子模块
- 树形处理相关工具函数子模块
tree_utils- 树形数据结构管理类
TreeManager- 树节点更新函数
update_tree_node() - 树节点前置插入函数
add_node_before() - 树节点后置插入函数
add_node_after() - 树节点删除函数
delete_node() - 树节点查询函数
get_node()
- 树节点更新函数
- 树形数据结构管理类
- 国际化相关工具函数子模块
i18n_utils- 文案内容快捷国际化操作类
Translator
- 文案内容快捷国际化操作类
- 版本控制相关工具函数子模块
version_utils-
Python版本检查函数check_python_version() - 依赖库版本检查函数
check_dependencies_version()
-
- 组件参数辅助生成工具函数子模块
component_prop_utils - 针对
fact.AntdBox箱线图组件的data参数辅助生成工具函数to_box_data()