Metadata-Version: 2.3
Name: sdwk
Version: 0.1.11
Summary: SDW Platform SDK
Author: 徐侨
Author-email: 徐侨 <xu.qiao@kotei.com.cn>
Requires-Dist: click>=8.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: questionary>=2.0.0
Requires-Dist: jinja2>=3.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: httpx>=0.25.0
Requires-Dist: dynaconf>=3.2.12
Requires-Dist: loguru>=0.7.0
Requires-Dist: pika>=1.3.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: pathspec>=0.11.0
Requires-Dist: pyarrow>=22.0.0
Requires-Dist: pandas>=2.3.3
Requires-Dist: langchain-openai>=1.1.6
Requires-Dist: openai>=2.14.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# 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 项目
工作流图项目，用于创建包含多个节点及其关系的复杂工作流，支持：
- 有向无环图结构
- 节点间数据流转
- 并行执行和错误处理

## 快速开始

### 安装

```bash
# 使用 uv 安装
uv add sdwk

# 或使用 pip 安装
pip install sdwk
```

### 创建项目

```bash
# 交互式创建项目
sdwk create

# 或指定参数创建
sdwk create --name my-project --type node --description "我的第一个节点"
```

### 开发和调试

```bash
# 进入项目目录
cd my-project

# 启动开发模式
sdwk dev

# 检查项目
sdwk check

# 发布项目
sdwk publish
```

## 文档

详细文档请参考 [docs](./docs/) 目录：

- [开发者指南](./docs/developer/) - 快速开始、API 文档、使用指南
- [项目规范](./docs/specifications/) - 包结构、配置文件规范
- [平台集成](./docs/platform/) - 与 SDW Platform 对接说明
- [架构设计](./docs/architecture/) - SDK 架构和设计原理

## 系统要求

- Python >= 3.10
- uv (推荐) 或 pip

## 许可证

本项目采用 MIT 许可证。

## 开发指南

如果您想参与 SDWK SDK 的开发，请按照以下步骤设置开发环境：

### 获取源代码

```bash
# 克隆项目代码
git clone https://172.16.0.120/astri/RI-SDW-III/SDW/Platform/Platform-SDK.git sdwk

# 进入项目目录
cd sdwk

# 切换到开发分支
git checkout develop
```

### 设置开发环境

```bash
# 安装依赖
uv sync

# 安装开发钩子（代码质量检查、格式化等）
uv run prek install
```

### 开发工作流

1. **创建功能分支**：
   ```bash
   git checkout -b feature/your-feature-name
   ```

2. **进行开发**：
   - 编写代码
   - 添加测试
   - 更新文档

3. **代码质量检查**：
   ```bash
   # 运行代码检查
   uv run ruff check

   # 运行格式化
   uv run ruff format

   # 运行类型检查
   uv run ty
   ```

4. **提交代码**：
   ```bash
   git add .
   git commit -m "feat: 添加新功能描述"
   ```

5. **推送并创建 Pull Request**：
   ```bash
   git push origin feature/your-feature-name
   ```

### 开发规范

- 遵循 [项目规范](./docs/specifications/) 中的代码规范
- 确保所有测试通过
- 添加适当的文档和注释
- 使用语义化的提交消息

## 贡献

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

## 联系方式

- 作者：徐侨 (xu.qiao@kotei.com.cn)
- 项目主页：[GitHub Repository]