Skip to main content

spinestudio-sdk

spinestudio 官方 Python 客户端。零第三方依赖(stdlib urllib),可独立 pip install。

pip install spinestudio-sdk

用法

from spinestudio_sdk import SpinestudioClient

client = SpinestudioClient("https://api.example.com", "sk-...")

# 同步聊天(消费整条 SSE 流并聚合)
result = client.chat("<workspace_id>", "本季度营收多少?")
print(result.answer)
for s in result.sources:          # 反捏造溯源如实透传;查无实据则 sources 为空
    print(s["doc"], s.get("locator"))

# 流式聊天(按序拿 token → sources → done 事件)
for event in client.stream_chat("<workspace_id>", "本季度营收多少?"):
    if event.type == "token":
        print(event.data["text"], end="", flush=True)

# 知识库文档
client.list_documents("<workspace_id>")
client.create_document("<workspace_id>", "标题", [{
    "metric": "REVENUE", "entity": "ACME_CN", "period_type": "FY",
    "period": "2024", "value": 1320, "unit": "USD_M",
}])
client.get_document("<workspace_id>", "<doc_id>")
client.delete_document("<workspace_id>", "<doc_id>")

# 会话
client.list_conversations("<workspace_id>")
client.get_conversation("<workspace_id>", "<conversation_id>")

# 触发器
client.fire_trigger("<workspace_id>", "<trigger_id>")
client.webhook_trigger("<workspace_id>", "<trigger_id>", payload={"event": "push"})

凭据说明

api_key 是任意 Bearer 凭据:

  • Service API-Key(sk-…)——workspace 作用域、read / write 两档 scope,至多等价 member; 适合程序化聊天 / KB 读 / 触发器 webhook(需 write)。
  • 用户 JWT——会话「列表 / 新建 / 删除」是用户作用域端点,需用户 JWT(服务 key 会得 401)。

错误语义

非 2xx 抛异常,携带 .status 与 .message:AuthenticationError(401) / PermissionDeniedError(403) / NotFoundError(404) / APIError(其它),均继承 SpinestudioError。

开发

cd sdks/python
uv venv .venv
VIRTUAL_ENV="$(pwd)/.venv" uv pip install -e ".[dev]"
.venv/bin/python -m pytest -q     # 全离线,注入假传输,绝不触网

Metadata

Release files for spinestudio-sdk 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spinestudio-sdk 0.2.0
File Size Uploaded
spinestudio_sdk-0.2.0.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spinestudio-sdk 0.2.0
File Interpreter ABI Platform
spinestudio_sdk-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.5 kB

Release files / spinestudio_sdk-0.2.0.tar.gz

Download URL spinestudio_sdk-0.2.0.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5c3d9b75c9a39bb28628f29f61e85e50eef92959b5414a21445c87834bb3e7fd
BLAKE2b-256 checksum
How to use checksums
208f864c74e44bd811382facd36efb333d35d832e7930da0530d922f061d677f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / spinestudio_sdk-0.2.0-py3-none-any.whl

Download URL spinestudio_sdk-0.2.0-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93ed9075d34c1a157fcfd1a18f00a6dac776edd195693146b91918b00d8e66a7
BLAKE2b-256 checksum
How to use checksums
bb69726c96e19c1572fc8a69e3a1b9444da00f60763f46bcc47bb10f1d1b4e6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.0

2 release files

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