sdwk 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sdwk-0.1.0/PKG-INFO +176 -0
- sdwk-0.1.0/README.md +161 -0
- sdwk-0.1.0/pyproject.toml +182 -0
- sdwk-0.1.0/src/sdwk/__init__.py +2 -0
- sdwk-0.1.0/src/sdwk/cli.py +27 -0
- sdwk-0.1.0/src/sdwk/commands/__init__.py +1 -0
- sdwk-0.1.0/src/sdwk/commands/check.py +192 -0
- sdwk-0.1.0/src/sdwk/commands/create.py +96 -0
- sdwk-0.1.0/src/sdwk/commands/dev.py +107 -0
- sdwk-0.1.0/src/sdwk/commands/publish.py +240 -0
- sdwk-0.1.0/src/sdwk/core/__init__.py +1 -0
- sdwk-0.1.0/src/sdwk/core/exceptions.py +70 -0
- sdwk-0.1.0/src/sdwk/core/project_config.py +70 -0
- sdwk-0.1.0/src/sdwk/core/template_manager.py +137 -0
- sdwk-0.1.0/src/sdwk/py.typed +0 -0
- sdwk-0.1.0/src/sdwk/templates/graph/.gitignore +192 -0
- sdwk-0.1.0/src/sdwk/templates/graph/.pre-commit-config.yaml +28 -0
- sdwk-0.1.0/src/sdwk/templates/graph/.python-version +1 -0
- sdwk-0.1.0/src/sdwk/templates/graph/README.md +129 -0
- sdwk-0.1.0/src/sdwk/templates/graph/pyproject.toml +176 -0
- sdwk-0.1.0/src/sdwk/templates/graph/sdw.json +48 -0
- sdwk-0.1.0/src/sdwk/templates/graph/src/graph.py +367 -0
- sdwk-0.1.0/src/sdwk/templates/graph/src/main.py +222 -0
- sdwk-0.1.0/src/sdwk/templates/graph/src/models.py +158 -0
- sdwk-0.1.0/src/sdwk/templates/graph/src/nodes/__init__.py +60 -0
- sdwk-0.1.0/src/sdwk/templates/graph/src/nodes/base.py +178 -0
- sdwk-0.1.0/src/sdwk/templates/graph/src/nodes/custom.py +337 -0
- sdwk-0.1.0/src/sdwk/templates/graph/tests/test_graph.py +338 -0
- sdwk-0.1.0/src/sdwk/templates/graph/workflow.json +135 -0
- sdwk-0.1.0/src/sdwk/templates/node/.gitignore +186 -0
- sdwk-0.1.0/src/sdwk/templates/node/.pre-commit-config.yaml +28 -0
- sdwk-0.1.0/src/sdwk/templates/node/.python-version +1 -0
- sdwk-0.1.0/src/sdwk/templates/node/README.md +82 -0
- sdwk-0.1.0/src/sdwk/templates/node/pyproject.toml +173 -0
- sdwk-0.1.0/src/sdwk/templates/node/sdw.json +61 -0
- sdwk-0.1.0/src/sdwk/templates/node/src/main.py +94 -0
- sdwk-0.1.0/src/sdwk/templates/node/src/models.py +53 -0
- sdwk-0.1.0/src/sdwk/templates/node/src/node.py +122 -0
- sdwk-0.1.0/src/sdwk/templates/node/tests/test_node.py +172 -0
sdwk-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: sdwk
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: SDW Platform SDK
|
|
5
|
+
Author: 徐侨
|
|
6
|
+
Author-email: 徐侨 <xu.qiao@kotei.com.cn>
|
|
7
|
+
Requires-Dist: click>=8.0.0
|
|
8
|
+
Requires-Dist: rich>=13.0.0
|
|
9
|
+
Requires-Dist: questionary>=2.0.0
|
|
10
|
+
Requires-Dist: jinja2>=3.0.0
|
|
11
|
+
Requires-Dist: pydantic>=2.0.0
|
|
12
|
+
Requires-Dist: httpx>=0.25.0
|
|
13
|
+
Requires-Python: >=3.10
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
|
|
16
|
+
# SDWK - SDW Platform SDK
|
|
17
|
+
|
|
18
|
+
SDWK 是 SDW Platform 的官方 SDK,为开发者提供了一套完整的工具链,用于创建、开发和发布 SDW 平台应用。
|
|
19
|
+
|
|
20
|
+
## 概述
|
|
21
|
+
|
|
22
|
+
SDW Platform 是一个工作流低代码平台,用户可以通过拖拽内置节点组合成工作流图。SDWK SDK 允许开发者:
|
|
23
|
+
|
|
24
|
+
- 创建自定义节点扩展平台功能
|
|
25
|
+
- 开发完整的工作流图应用
|
|
26
|
+
- 使用标准化的开发生命周期工具
|
|
27
|
+
|
|
28
|
+
## 项目类型
|
|
29
|
+
|
|
30
|
+
SDWK 支持两种项目类型:
|
|
31
|
+
|
|
32
|
+
### Node 项目
|
|
33
|
+
单节点处理项目,用于创建可复用的处理单元,具有:
|
|
34
|
+
- 确定的输入和输出接口
|
|
35
|
+
- 独立的业务逻辑处理
|
|
36
|
+
- 标准化的数据模型
|
|
37
|
+
|
|
38
|
+
### Graph 项目
|
|
39
|
+
工作流图项目,用于创建包含多个节点及其关系的复杂工作流,支持:
|
|
40
|
+
- 有向无环图结构
|
|
41
|
+
- 节点间数据流转
|
|
42
|
+
- 并行执行和错误处理
|
|
43
|
+
|
|
44
|
+
## 快速开始
|
|
45
|
+
|
|
46
|
+
### 安装
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# 使用 uv 安装
|
|
50
|
+
uv add sdwk
|
|
51
|
+
|
|
52
|
+
# 或使用 pip 安装
|
|
53
|
+
pip install sdwk
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 创建项目
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# 交互式创建项目
|
|
60
|
+
sdwk create
|
|
61
|
+
|
|
62
|
+
# 或指定参数创建
|
|
63
|
+
sdwk create --name my-project --type node --description "我的第一个节点"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 开发和调试
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# 进入项目目录
|
|
70
|
+
cd my-project
|
|
71
|
+
|
|
72
|
+
# 启动开发模式
|
|
73
|
+
sdwk dev
|
|
74
|
+
|
|
75
|
+
# 检查项目
|
|
76
|
+
sdwk check
|
|
77
|
+
|
|
78
|
+
# 发布项目
|
|
79
|
+
sdwk publish
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 文档
|
|
83
|
+
|
|
84
|
+
详细文档请参考 [docs](./docs/) 目录:
|
|
85
|
+
|
|
86
|
+
- [开发者指南](./docs/developer/) - 快速开始、API 文档、使用指南
|
|
87
|
+
- [项目规范](./docs/specifications/) - 包结构、配置文件规范
|
|
88
|
+
- [平台集成](./docs/platform/) - 与 SDW Platform 对接说明
|
|
89
|
+
- [架构设计](./docs/architecture/) - SDK 架构和设计原理
|
|
90
|
+
|
|
91
|
+
## 系统要求
|
|
92
|
+
|
|
93
|
+
- Python >= 3.10
|
|
94
|
+
- uv (推荐) 或 pip
|
|
95
|
+
|
|
96
|
+
## 许可证
|
|
97
|
+
|
|
98
|
+
本项目采用 MIT 许可证。
|
|
99
|
+
|
|
100
|
+
## 开发指南
|
|
101
|
+
|
|
102
|
+
如果您想参与 SDWK SDK 的开发,请按照以下步骤设置开发环境:
|
|
103
|
+
|
|
104
|
+
### 获取源代码
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# 克隆项目代码
|
|
108
|
+
git clone https://172.16.0.120/astri/RI-SDW-III/SDW/Platform/Platform-SDK.git sdwk
|
|
109
|
+
|
|
110
|
+
# 进入项目目录
|
|
111
|
+
cd sdwk
|
|
112
|
+
|
|
113
|
+
# 切换到开发分支
|
|
114
|
+
git checkout develop
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 设置开发环境
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# 安装依赖
|
|
121
|
+
uv sync
|
|
122
|
+
|
|
123
|
+
# 安装开发钩子(代码质量检查、格式化等)
|
|
124
|
+
uv run prek install
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 开发工作流
|
|
128
|
+
|
|
129
|
+
1. **创建功能分支**:
|
|
130
|
+
```bash
|
|
131
|
+
git checkout -b feature/your-feature-name
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
2. **进行开发**:
|
|
135
|
+
- 编写代码
|
|
136
|
+
- 添加测试
|
|
137
|
+
- 更新文档
|
|
138
|
+
|
|
139
|
+
3. **代码质量检查**:
|
|
140
|
+
```bash
|
|
141
|
+
# 运行代码检查
|
|
142
|
+
uv run ruff check
|
|
143
|
+
|
|
144
|
+
# 运行格式化
|
|
145
|
+
uv run ruff format
|
|
146
|
+
|
|
147
|
+
# 运行类型检查
|
|
148
|
+
uv run ty
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
4. **提交代码**:
|
|
152
|
+
```bash
|
|
153
|
+
git add .
|
|
154
|
+
git commit -m "feat: 添加新功能描述"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
5. **推送并创建 Pull Request**:
|
|
158
|
+
```bash
|
|
159
|
+
git push origin feature/your-feature-name
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 开发规范
|
|
163
|
+
|
|
164
|
+
- 遵循 [项目规范](./docs/specifications/) 中的代码规范
|
|
165
|
+
- 确保所有测试通过
|
|
166
|
+
- 添加适当的文档和注释
|
|
167
|
+
- 使用语义化的提交消息
|
|
168
|
+
|
|
169
|
+
## 贡献
|
|
170
|
+
|
|
171
|
+
欢迎提交 Issue 和 Pull Request 来改进 SDWK。
|
|
172
|
+
|
|
173
|
+
## 联系方式
|
|
174
|
+
|
|
175
|
+
- 作者:徐侨 (xu.qiao@kotei.com.cn)
|
|
176
|
+
- 项目主页:[GitHub Repository]
|
sdwk-0.1.0/README.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# SDWK - SDW Platform SDK
|
|
2
|
+
|
|
3
|
+
SDWK 是 SDW Platform 的官方 SDK,为开发者提供了一套完整的工具链,用于创建、开发和发布 SDW 平台应用。
|
|
4
|
+
|
|
5
|
+
## 概述
|
|
6
|
+
|
|
7
|
+
SDW Platform 是一个工作流低代码平台,用户可以通过拖拽内置节点组合成工作流图。SDWK SDK 允许开发者:
|
|
8
|
+
|
|
9
|
+
- 创建自定义节点扩展平台功能
|
|
10
|
+
- 开发完整的工作流图应用
|
|
11
|
+
- 使用标准化的开发生命周期工具
|
|
12
|
+
|
|
13
|
+
## 项目类型
|
|
14
|
+
|
|
15
|
+
SDWK 支持两种项目类型:
|
|
16
|
+
|
|
17
|
+
### Node 项目
|
|
18
|
+
单节点处理项目,用于创建可复用的处理单元,具有:
|
|
19
|
+
- 确定的输入和输出接口
|
|
20
|
+
- 独立的业务逻辑处理
|
|
21
|
+
- 标准化的数据模型
|
|
22
|
+
|
|
23
|
+
### Graph 项目
|
|
24
|
+
工作流图项目,用于创建包含多个节点及其关系的复杂工作流,支持:
|
|
25
|
+
- 有向无环图结构
|
|
26
|
+
- 节点间数据流转
|
|
27
|
+
- 并行执行和错误处理
|
|
28
|
+
|
|
29
|
+
## 快速开始
|
|
30
|
+
|
|
31
|
+
### 安装
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 使用 uv 安装
|
|
35
|
+
uv add sdwk
|
|
36
|
+
|
|
37
|
+
# 或使用 pip 安装
|
|
38
|
+
pip install sdwk
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 创建项目
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# 交互式创建项目
|
|
45
|
+
sdwk create
|
|
46
|
+
|
|
47
|
+
# 或指定参数创建
|
|
48
|
+
sdwk create --name my-project --type node --description "我的第一个节点"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 开发和调试
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# 进入项目目录
|
|
55
|
+
cd my-project
|
|
56
|
+
|
|
57
|
+
# 启动开发模式
|
|
58
|
+
sdwk dev
|
|
59
|
+
|
|
60
|
+
# 检查项目
|
|
61
|
+
sdwk check
|
|
62
|
+
|
|
63
|
+
# 发布项目
|
|
64
|
+
sdwk publish
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 文档
|
|
68
|
+
|
|
69
|
+
详细文档请参考 [docs](./docs/) 目录:
|
|
70
|
+
|
|
71
|
+
- [开发者指南](./docs/developer/) - 快速开始、API 文档、使用指南
|
|
72
|
+
- [项目规范](./docs/specifications/) - 包结构、配置文件规范
|
|
73
|
+
- [平台集成](./docs/platform/) - 与 SDW Platform 对接说明
|
|
74
|
+
- [架构设计](./docs/architecture/) - SDK 架构和设计原理
|
|
75
|
+
|
|
76
|
+
## 系统要求
|
|
77
|
+
|
|
78
|
+
- Python >= 3.10
|
|
79
|
+
- uv (推荐) 或 pip
|
|
80
|
+
|
|
81
|
+
## 许可证
|
|
82
|
+
|
|
83
|
+
本项目采用 MIT 许可证。
|
|
84
|
+
|
|
85
|
+
## 开发指南
|
|
86
|
+
|
|
87
|
+
如果您想参与 SDWK SDK 的开发,请按照以下步骤设置开发环境:
|
|
88
|
+
|
|
89
|
+
### 获取源代码
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# 克隆项目代码
|
|
93
|
+
git clone https://172.16.0.120/astri/RI-SDW-III/SDW/Platform/Platform-SDK.git sdwk
|
|
94
|
+
|
|
95
|
+
# 进入项目目录
|
|
96
|
+
cd sdwk
|
|
97
|
+
|
|
98
|
+
# 切换到开发分支
|
|
99
|
+
git checkout develop
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 设置开发环境
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# 安装依赖
|
|
106
|
+
uv sync
|
|
107
|
+
|
|
108
|
+
# 安装开发钩子(代码质量检查、格式化等)
|
|
109
|
+
uv run prek install
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 开发工作流
|
|
113
|
+
|
|
114
|
+
1. **创建功能分支**:
|
|
115
|
+
```bash
|
|
116
|
+
git checkout -b feature/your-feature-name
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
2. **进行开发**:
|
|
120
|
+
- 编写代码
|
|
121
|
+
- 添加测试
|
|
122
|
+
- 更新文档
|
|
123
|
+
|
|
124
|
+
3. **代码质量检查**:
|
|
125
|
+
```bash
|
|
126
|
+
# 运行代码检查
|
|
127
|
+
uv run ruff check
|
|
128
|
+
|
|
129
|
+
# 运行格式化
|
|
130
|
+
uv run ruff format
|
|
131
|
+
|
|
132
|
+
# 运行类型检查
|
|
133
|
+
uv run ty
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
4. **提交代码**:
|
|
137
|
+
```bash
|
|
138
|
+
git add .
|
|
139
|
+
git commit -m "feat: 添加新功能描述"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
5. **推送并创建 Pull Request**:
|
|
143
|
+
```bash
|
|
144
|
+
git push origin feature/your-feature-name
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 开发规范
|
|
148
|
+
|
|
149
|
+
- 遵循 [项目规范](./docs/specifications/) 中的代码规范
|
|
150
|
+
- 确保所有测试通过
|
|
151
|
+
- 添加适当的文档和注释
|
|
152
|
+
- 使用语义化的提交消息
|
|
153
|
+
|
|
154
|
+
## 贡献
|
|
155
|
+
|
|
156
|
+
欢迎提交 Issue 和 Pull Request 来改进 SDWK。
|
|
157
|
+
|
|
158
|
+
## 联系方式
|
|
159
|
+
|
|
160
|
+
- 作者:徐侨 (xu.qiao@kotei.com.cn)
|
|
161
|
+
- 项目主页:[GitHub Repository]
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sdwk"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "SDW Platform SDK"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
authors = [
|
|
7
|
+
{ name = "徐侨", email = "xu.qiao@kotei.com.cn" }
|
|
8
|
+
]
|
|
9
|
+
requires-python = ">=3.10"
|
|
10
|
+
dependencies = [
|
|
11
|
+
"click>=8.0.0",
|
|
12
|
+
"rich>=13.0.0",
|
|
13
|
+
"questionary>=2.0.0",
|
|
14
|
+
"jinja2>=3.0.0",
|
|
15
|
+
"pydantic>=2.0.0",
|
|
16
|
+
"httpx>=0.25.0"
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
[project.scripts]
|
|
20
|
+
sdwk = "sdwk.cli:main"
|
|
21
|
+
|
|
22
|
+
[build-system]
|
|
23
|
+
requires = ["uv_build>=0.9.0,<0.10.0"]
|
|
24
|
+
build-backend = "uv_build"
|
|
25
|
+
|
|
26
|
+
[dependency-groups]
|
|
27
|
+
dev = [
|
|
28
|
+
"pip>=25.3",
|
|
29
|
+
"prek>=0.2.22",
|
|
30
|
+
"pytest>=9.0.2",
|
|
31
|
+
"ruff>=0.14.9",
|
|
32
|
+
"ty>=0.0.2",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
[tool.ty.terminal]
|
|
37
|
+
output-format = "concise"
|
|
38
|
+
|
|
39
|
+
[tool.ty.rules]
|
|
40
|
+
#unknown-argument = 'ignore'
|
|
41
|
+
unresolved-attribute = 'ignore'
|
|
42
|
+
#missing-argument = 'ignore'
|
|
43
|
+
invalid-argument-type = 'ignore'
|
|
44
|
+
#unresolved-import = 'ignore'
|
|
45
|
+
#not-iterable = 'ignore'
|
|
46
|
+
invalid-parameter-default = 'ignore'
|
|
47
|
+
|
|
48
|
+
deprecated = 'ignore'
|
|
49
|
+
#too-many-positional-arguments = 'ignore'
|
|
50
|
+
#unresolved-reference = 'ignore'
|
|
51
|
+
call-non-callable = 'ignore'
|
|
52
|
+
invalid-return-type = 'ignore'
|
|
53
|
+
#unsupported-operator = 'ignore'
|
|
54
|
+
#invalid-assignment = 'ignore'
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
# ruff相关配置(检查&格式化)
|
|
58
|
+
# 自动修复规范问题
|
|
59
|
+
# ruff check --preview --fix --unsafe-fixes
|
|
60
|
+
# 格式化项目
|
|
61
|
+
# ruff format (uv format --preview-features format)
|
|
62
|
+
[tool.ruff]
|
|
63
|
+
preview = true
|
|
64
|
+
line-length = 320
|
|
65
|
+
# exclude = ["__init__.py"] # 忽略所有 __init__.py 文件
|
|
66
|
+
exclude = [
|
|
67
|
+
"src/sdwk/templates/",
|
|
68
|
+
]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# ty规则:https://docs.astral.sh/ty/reference/rules/
|
|
72
|
+
|
|
73
|
+
[tool.ruff.lint]
|
|
74
|
+
# pylint规则
|
|
75
|
+
# https://pylint.pycqa.org/en/latest/user_guide/messages/messages_overview.html
|
|
76
|
+
# pylint规则迁移至uv,某些规则不支持(部分属于pylint定制化规则,非标准)
|
|
77
|
+
# https://github.com/astral-sh/ruff/issues/970
|
|
78
|
+
# https://github.com/astral-sh/ruff/issues/1774
|
|
79
|
+
# 基础规则集
|
|
80
|
+
select = [
|
|
81
|
+
"A", "ARG", "B", "C", "E", "F", "G", "G", "I", "ISC", "N", "PIE", "PLE", "Q", "R", "RET", "SLF", "T", "TID", "UP", "W",
|
|
82
|
+
"PLW",
|
|
83
|
+
"BLE",
|
|
84
|
+
"TRY",
|
|
85
|
+
"SIM",
|
|
86
|
+
"S",
|
|
87
|
+
"FIX",
|
|
88
|
+
"PLC",
|
|
89
|
+
"PLR",
|
|
90
|
+
"D",
|
|
91
|
+
"D103",
|
|
92
|
+
"D100",
|
|
93
|
+
"PLR0916",
|
|
94
|
+
]
|
|
95
|
+
# 平台检测
|
|
96
|
+
# pylint src --disable=import-error,no-member,line-too-long,broad-exception-caught,broad-exception-raised,logging-fstring-interpolation,too-many-positional-arguments,too-many-instance-attributes,too-many-arguments,too-many-locals,too-many-branches,too-many-statements,too-many-nested-blocks,raise-missing-from,singleton-comparison,too-few-public-methods,consider-iterating-dictionary,consider-using-set-comprehension,not-callable,logging-not-lazy,consider-using-f-string,invalid-name,too-many-public-methods,global-statement,unnecessary-pass,wildcard-import,consider-using-join,cell-var-from-loop,too-many-return-statements,import-outside-toplevel,bare-except,subprocess-run-check,consider-using-dict-items,too-many-boolean-expressions,too-many-lines
|
|
97
|
+
|
|
98
|
+
# 圈复杂度
|
|
99
|
+
mccabe = { max-complexity = 24 }
|
|
100
|
+
|
|
101
|
+
ignore = [
|
|
102
|
+
"BLE001",
|
|
103
|
+
"S110",
|
|
104
|
+
"PLW0603",
|
|
105
|
+
"TRY300",
|
|
106
|
+
"TRY004",
|
|
107
|
+
"PLC0415",
|
|
108
|
+
"TRY002",
|
|
109
|
+
"PLC1901",
|
|
110
|
+
"TRY003",
|
|
111
|
+
"PLR0912",
|
|
112
|
+
"S112",
|
|
113
|
+
"PLR2004",
|
|
114
|
+
"PLR0917",
|
|
115
|
+
"PLR0913",
|
|
116
|
+
"PLR1702",
|
|
117
|
+
"PLR0914",
|
|
118
|
+
"PLR0915",
|
|
119
|
+
"PLR6301",
|
|
120
|
+
"D101",
|
|
121
|
+
"PLW2901",
|
|
122
|
+
"PLC2701",
|
|
123
|
+
"TRY301",
|
|
124
|
+
"D205",
|
|
125
|
+
"D203", # 和D211不能同时启用,这里选择忽略D203
|
|
126
|
+
"D213", # 和D212不能同时启用,这里选择忽略D213
|
|
127
|
+
"D107",
|
|
128
|
+
"SIM108",
|
|
129
|
+
"FIX002",
|
|
130
|
+
"SIM105",
|
|
131
|
+
"TRY401",
|
|
132
|
+
"S501",
|
|
133
|
+
"S324",
|
|
134
|
+
"S104",
|
|
135
|
+
"S101",
|
|
136
|
+
"SLF001",
|
|
137
|
+
"D102",
|
|
138
|
+
"D103",
|
|
139
|
+
"ARG002",
|
|
140
|
+
"G004",
|
|
141
|
+
"B904",
|
|
142
|
+
"G201",
|
|
143
|
+
"A001",
|
|
144
|
+
"A002",
|
|
145
|
+
"B024",
|
|
146
|
+
"N818",
|
|
147
|
+
"ARG001",
|
|
148
|
+
"E402",
|
|
149
|
+
"D105",
|
|
150
|
+
"N802",
|
|
151
|
+
"B008",
|
|
152
|
+
"S311",
|
|
153
|
+
"F811",
|
|
154
|
+
"B903",
|
|
155
|
+
"D100",
|
|
156
|
+
"ARG004",
|
|
157
|
+
"PLR0911",
|
|
158
|
+
"D417",
|
|
159
|
+
"S105",
|
|
160
|
+
"S106",
|
|
161
|
+
"S107",
|
|
162
|
+
"E722",
|
|
163
|
+
"S603",
|
|
164
|
+
"D106",
|
|
165
|
+
"S404",
|
|
166
|
+
"S701",
|
|
167
|
+
"D104",
|
|
168
|
+
]
|
|
169
|
+
|
|
170
|
+
[tool.ruff.lint.isort]
|
|
171
|
+
# 导入分组顺序(默认:标准库 → 第三方库 → 本地库)
|
|
172
|
+
section-order = [
|
|
173
|
+
"standard-library", # 标准库(如 sys, os)
|
|
174
|
+
"third-party", # 第三方库(如 pandas, requests)
|
|
175
|
+
"first-party", # 本地项目导入
|
|
176
|
+
"local-folder", # 同一目录下的本地导入
|
|
177
|
+
]
|
|
178
|
+
|
|
179
|
+
# 允许在导入中使用别名(如 import pandas as pd)
|
|
180
|
+
force-sort-within-sections = true
|
|
181
|
+
split-on-trailing-comma = true # 多行导入时在末尾添加逗号
|
|
182
|
+
force-wrap-aliases = true # 强制别名导入使用多行格式(如 import a as b 超过长度时换行)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""SDW Platform SDK CLI."""
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
from rich.console import Console
|
|
5
|
+
|
|
6
|
+
from .commands.check import check
|
|
7
|
+
from .commands.create import create
|
|
8
|
+
from .commands.dev import dev
|
|
9
|
+
from .commands.publish import publish
|
|
10
|
+
|
|
11
|
+
console = Console()
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@click.group()
|
|
15
|
+
@click.version_option(version="0.1.0", prog_name="sdwk")
|
|
16
|
+
def main():
|
|
17
|
+
"""SDW Platform SDK - 用于创建、开发和发布SDW平台应用的工具."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# 注册子命令
|
|
21
|
+
main.add_command(create)
|
|
22
|
+
main.add_command(dev)
|
|
23
|
+
main.add_command(check)
|
|
24
|
+
main.add_command(publish)
|
|
25
|
+
|
|
26
|
+
if __name__ == "__main__":
|
|
27
|
+
main()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Commands module for SDW Platform SDK CLI."""
|