Metadata-Version: 2.4
Name: service-forge
Version: 0.1.29
Summary: Add your description here
Author-email: euxcet <zcc.qwer@gmail.com>
Requires-Python: >=3.11
Requires-Dist: a2a-sdk>=0.3.22
Requires-Dist: aiokafka>=0.12.0
Requires-Dist: alembic>=1.17.0
Requires-Dist: asyncpg>=0.30.0
Requires-Dist: dotenv>=0.9.9
Requires-Dist: fastapi>=0.119.1
Requires-Dist: greenlet>=3.2.4
Requires-Dist: jinja2>=3.1.6
Requires-Dist: kubernetes>=28.0.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: omegaconf>=2.3.0
Requires-Dist: openai>=2.3.0
Requires-Dist: protobuf>=6.33.1
Requires-Dist: psycopg2-binary>=2.9.11
Requires-Dist: pydantic>=2.12.0
Requires-Dist: pymongo>=4.15.5
Requires-Dist: pytest-asyncio>=1.2.0
Requires-Dist: pytest>=8.4.2
Requires-Dist: python-dotenv>=1.1.1
Requires-Dist: python-jose>=3.5.0
Requires-Dist: python-multipart>=0.0.20
Requires-Dist: redis>=7.1.0
Requires-Dist: requests>=2.32.5
Requires-Dist: restrictedpython>=8.0
Requires-Dist: rich>=13.0.0
Requires-Dist: sqlalchemy>=2.0.44
Requires-Dist: typer>=0.12.0
Requires-Dist: uvicorn>=0.38.0
Requires-Dist: websockets>=15.0.1
Description-Content-Type: text/markdown

# Service Forge

Automated service creation and maintenance tool.

## Install

```bash
pip install -e .
```

## CLI Usage (sft)

Service Forge 提供了命令行工具 `sft` 用于服务管理。

### 服务上传和部署

```bash
# 上传服务（打包并上传到服务器）
sft upload [project_path]

# 列出本地已打包的服务包
sft list

# 部署服务（只在服务器上使用）
sft deploy <name> <version>
```

### 配置管理

```bash
# 列出所有配置项
sft config list

# 获取指定配置项的值
sft config get <key>

# 设置配置项的值
sft config set <key> <value>
```

### 服务管理

```bash
# 列出所有服务
sft service list

# 删除服务（只在服务器上使用）
sft service delete <service_name> [--force, -f]

# 查看服务日志（只在服务器上使用）
sft service logs <service_name> [--container, -c] [--tail, -n] [--follow, -f] [--previous, -p]
```

## TODO

- [x] 多次 trigger 并行执行
- [x] 支持 websocket 来做 trigger、输入和输出
- [x] 优化 websocket 客户端映射和重连支持
- [x] 节点和 workflow 运行情况的回调函数
- [ ] 支持 a2a
- [ ] workflow 执行异常处理
