Metadata-Version: 2.4
Name: sinohealth-skills-sdk
Version: 0.5.0
Summary: Python SDK for Sinohealth Skills
Author: Sinohealth
License-Expression: MIT
Keywords: sdk,http,skills,gateway
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.27.0
Provides-Extra: env
Requires-Dist: python-dotenv>=1.0.0; extra == "env"
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: pytest-mock>=3.12.0; extra == "dev"
Requires-Dist: black>=24.0.0; extra == "dev"
Requires-Dist: flake8>=7.0.0; extra == "dev"
Requires-Dist: mypy>=1.8.0; extra == "dev"
Requires-Dist: isort>=5.13.0; extra == "dev"
Requires-Dist: pre-commit>=3.6.0; python_version >= "3.9" and extra == "dev"
Dynamic: license-file
Dynamic: requires-python

# Skills Consumer SDK

Python SDK：调用 Skill 网关（`POST /skill/{url_suffix}`），封装请求头 `bizType`、`bizToken`、请求体与响应解析。

当前发布包仅包含 `skills_sdk` 运行时代码与基础文档；`tests/`、`examples/` 不会打入 wheel / sdist。

## 依赖

运行时仅依赖 **`httpx`**；配置与请求/响应模型使用标准库 **`dataclasses`**。若希望 **自动读取当前目录 `.env`**，请额外安装：`pip install python-dotenv`（或 `pip install "sinohealth-skills-sdk[env]"`），SDK 会在 import 时尝试 `load_dotenv()`。

```bash
pip install sinohealth-skills-sdk
# 或本地开发
pip install -e .
pip install python-dotenv   # 可选，解决「只写 .env 未 export」读不到变量
```

## 对外文档

**接入方请阅读：[docs/SDK_USER_GUIDE.md](docs/SDK_USER_GUIDE.md)**（安装、环境变量、`call_skill` 示例）。

## 快速示例

```bash
export SKILLS_BIZ_TYPE=medmateclaw
export SKILLS_BIZ_TOKEN='你的令牌'
export SKILLS_GATEWAY_BASE_URL='https://med-gateway.sinohealth.com'
```

```python
from skills_sdk import SkillsClient

client = SkillsClient()
r = client.call_skill(
    "ai-mdt/examination-indicators-interpretation",
    {"indicator": "甘油三酯(TG) 2.87mmol/L（参考≤2.30）"},
)
print(r.data)
client.close()
```

可运行脚本：`python examples/examination_indicators_client.py`

## 开发

```bash
pip install -r requirements-dev.txt
pytest
```

## 发布前检查

```bash
python3 -m pip install -U build twine
python3 -m build
python3 -m twine check dist/*
```

## 许可证

MIT
