Skip to main content

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

开发工作流

  1. 创建功能分支:

    git checkout -b feature/your-feature-name
    
  2. 进行开发:

    • 编写代码
    • 添加测试
    • 更新文档
  3. 代码质量检查:

    # 运行代码检查
    uv run ruff check
    
    # 运行格式化
    uv run ruff format
    
    # 运行类型检查
    uv run ty
    
  4. 提交代码:

    git add .
    git commit -m "feat: 添加新功能描述"
    
  5. 推送并创建 Pull Request:

    git push origin feature/your-feature-name
    

开发规范

  • 遵循 项目规范 中的代码规范
  • 确保所有测试通过
  • 添加适当的文档和注释
  • 使用语义化的提交消息

贡献

欢迎提交 Issue 和 Pull Request 来改进 SDWK。

联系方式

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)

Source distribution for sdwk 0.1.11
File Size Uploaded Provenance
sdwk-0.1.11.tar.gz 483.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sdwk 0.1.11
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page