SDWK - SDW Platform SDK
SDWK 是 SDW Platform 的官方 SDK,为开发者提供了一套完整的工具链,用于创建、开发和发布 SDW 平台应用。
概述
SDW Platform 是一个工作流低代码平台,用户可以通过拖拽内置节点组合成工作流图。SDWK SDK 允许开发者:
- 创建自定义节点扩展平台功能
- 开发完整的工作流图应用
- 使用标准化的开发生命周期工具
版本更新
v0.1.10
Bug 修复
- 修复模板工程的pypi镜像配置优先级的错误
- 修复自定义组件的输出未正常传递的问题
- 修复字典被转为字符串的问题
v0.1.9
新增功能
- 新增 CLI 删除节点和连接的功能,支持工作流图编辑
- 新增 SDK 国际化支持,提升多语言环境适配能力
- 新增 loguru 日志适配,用户工具类中的日志支持推送到 RabbitMQ
- 更新异构设计文档,完善架构说明
- 更新分组设计文档,补充节点和连接功能说明
v0.1.8
新增功能
- 创建命令新增
--dev参数,支持开发环境配置内网源 - 新增构建状态检查功能,提升发布流程可靠性
- 完善 Group 类型项目的构建和发布支持
- 更新 Group 类型项目的完整工作流程文档
Bug 修复
- 修复获取 api_key 时的类型报错问题
- 修复 pyproject.toml 中的依赖版本配置问题
v0.1.7
新增功能
- 新增大模型管理核心功能
- 新增 Group 项目类型支持,可创建项目组
- 新增工作流上下文管理功能
- 增强文件类型支持
- 优化成果物管理接口
- 优化消息队列机制,从平台获取 exchange 名称避免多端误消费
Bug 修复
- 修复执行错误时日志打印失败的问题
项目类型
SDWK 支持两种项目类型:
Node 项目
单节点处理项目,用于创建可复用的处理单元,具有:
- 确定的输入和输出接口
- 独立的业务逻辑处理
- 标准化的数据模型
Graph 项目
工作流图项目,用于创建包含多个节点及其关系的复杂工作流,支持:
- 有向无环图结构
- 节点间数据流转
- 并行执行和错误处理
快速开始
安装
# 使用 uv 安装
uv add sdwk
# 或使用 pip 安装
pip install sdwk
创建项目
# 交互式创建项目
sdwk create
# 或指定参数创建
sdwk create --name my-project --type node --description "我的第一个节点"
开发和调试
# 进入项目目录
cd my-project
# 启动开发模式
sdwk dev
# 检查项目
sdwk check
# 发布项目
sdwk publish
文档
详细文档请参考 docs 目录:
系统要求
- Python >= 3.10
- uv (推荐) 或 pip
许可证
本项目采用 MIT 许可证。
开发指南
如果您想参与 SDWK SDK 的开发,请按照以下步骤设置开发环境:
获取源代码
# 克隆项目代码
git clone https://172.16.0.120/astri/RI-SDW-III/SDW/Platform/Platform-SDK.git sdwk
# 进入项目目录
cd sdwk
# 切换到开发分支
git checkout develop
设置开发环境
# 安装依赖
uv sync
# 安装开发钩子(代码质量检查、格式化等)
uv run prek install
开发工作流
-
创建功能分支:
git checkout -b feature/your-feature-name
-
进行开发:
- 编写代码
- 添加测试
- 更新文档
-
代码质量检查:
# 运行代码检查 uv run ruff check # 运行格式化 uv run ruff format # 运行类型检查 uv run ty
-
提交代码:
git add . git commit -m "feat: 添加新功能描述"
-
推送并创建 Pull Request:
git push origin feature/your-feature-name
开发规范
- 遵循 项目规范 中的代码规范
- 确保所有测试通过
- 添加适当的文档和注释
- 使用语义化的提交消息
贡献
欢迎提交 Issue 和 Pull Request 来改进 SDWK。
联系方式
- 作者:徐侨 (xu.qiao@kotei.com.cn)
- 项目主页:[GitHub Repository]
Metadata
Release files for sdwk 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| sdwk-0.1.11.tar.gz | 483.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sdwk-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / sdwk-0.1.11.tar.gz
| Download URL | sdwk-0.1.11.tar.gz |
|---|---|
| Size | 483.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d17dc4b39840221f0731fe1c50ec01cd6ad6a728bb71c4e2b12052e64ec9406
|
|
BLAKE2b-256 checksum How to use checksums |
181aa4ad78915b41609aad7c475fd30a18dec90b84a63e09ca501399e681c624
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / sdwk-0.1.11-py3-none-any.whl
| Download URL | sdwk-0.1.11-py3-none-any.whl |
|---|---|
| Size | 542.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ec535ef9a2daeafb6a3734089f6ceb77f9aa93bba26cb80e99742100b7fcade
|
|
BLAKE2b-256 checksum How to use checksums |
b27970b4a78d9f1e60a34e643e16c80fa7a299ae34b77e5a5c4caf4d91ede4b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for sdwk 0.1.11
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.