fix(python): rename SDK distribution

This commit is contained in:
Yichen Jiang
2026-08-10 19:45:54 +08:00
parent dc524c2c93
commit 299cafad01
27 changed files with 151 additions and 50 deletions

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write python/README.md
README.md: 6ab9de681471c4be3bff72ddbf6ce8f118224d4d
README.zh.md: 82fca597791f19caa21a7a433e533a4d47c64ccb
README.md: 75276a915eb4b63f84e0876de46e6d8d63540b59
README.zh.md: 7791231f9899bd1cca0d62ad35e388db608294c2

View File

@@ -8,7 +8,7 @@ Python packages for driving DeepSeek Harness as a subprocess. The client SDK com
| Directory | Dist / module | Role |
|---|---|---|
| [sdk](sdk/README.md) | `deepseek-harness` / `deepseek_harness` | High-level turns API and lower-level JSON-RPC client |
| [sdk](sdk/README.md) | `deepseek-harness-sdk` / `deepseek_harness` | High-level turns API and lower-level JSON-RPC client |
| [sdk-runtime](sdk-runtime/README.md) | `deepseek-harness-runtime-bin` / `deepseek_harness_runtime` | Bundled runtime binaries and default agent configuration |
## Behavior

View File

@@ -8,7 +8,7 @@
| 目录 | 分发名 / 模块 | 职责 |
|---|---|---|
| [sdk](sdk/README.md) | `deepseek-harness` / `deepseek_harness` | 高层轮次 API 与低层 JSON-RPC 客户端 |
| [sdk](sdk/README.md) | `deepseek-harness-sdk` / `deepseek_harness` | 高层轮次 API 与低层 JSON-RPC 客户端 |
| [sdk-runtime](sdk-runtime/README.md) | `deepseek-harness-runtime-bin` / `deepseek_harness_runtime` | 内置运行时二进制与默认 agent智能体配置 |
## 行为

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write python/development.md
development.md: b0d4875f0d5b7c8fd2b4b480ac67793741640710
development.zh.md: 053cd1d022ef5fc7d8cff98b9fc3234df6ff4cd1
development.md: 9614c06436ab6863a5e1b2ff83fbe605552dc13b
development.zh.md: 1c646ca39735b85a5d380768fe215c92532be7e7

View File

@@ -55,7 +55,7 @@ Build the pure SDK wheel once and one runtime wheel on each native platform:
version="$(node -p "require('./package.json').version")"
python scripts/build-python-release.py --package sdk --output-dir dist-python
python scripts/build-python-release.py --package runtime --platform macos-arm64 --runtime-exe dist-exe/dsh-jsonrpc-agent-pkg-macos-arm64 --output-dir dist-python
pip install --find-links dist-python deepseek-harness=="$version"
pip install --find-links dist-python deepseek-harness-sdk=="$version"
```
The runtime distribution is wheel-only. The release pipeline publishes three platform wheels with the pure SDK wheel: Linux x64, Linux arm64, and macOS arm64. A `python-vX.Y.Z` tag is accepted only when it matches the repository version.

View File

@@ -55,7 +55,7 @@ with DeepSeekHarness() as harness:
version="$(node -p "require('./package.json').version")"
python scripts/build-python-release.py --package sdk --output-dir dist-python
python scripts/build-python-release.py --package runtime --platform macos-arm64 --runtime-exe dist-exe/dsh-jsonrpc-agent-pkg-macos-arm64 --output-dir dist-python
pip install --find-links dist-python deepseek-harness=="$version"
pip install --find-links dist-python deepseek-harness-sdk=="$version"
```
运行时分发包仅提供 wheel 包。发布流水线会连同纯 SDK wheel 包一起发布三个平台 wheel 包Linux x64、Linux arm64 和 macOS arm64。只有与仓库版本匹配时才接受 `python-vX.Y.Z` 标签。

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write python/sdk-runtime/README.md
README.md: 07bb3c574b3cd49f1dc74f0e9d9bd1bb7ca9b216
README.zh.md: 0613b6faf68ea3bdb6c9b673677fc483b79dab72
README.md: 5c7c6f66083a1b56cc6b4aed9565e8b1be014ccc
README.zh.md: cef1478710d20d7faa612e50d0c2f8ec19e8716a

View File

@@ -2,7 +2,7 @@
English | [中文](README.zh.md)
Runtime carrier package for the Python SDK (dist `deepseek-harness-runtime-bin`, module `deepseek_harness_runtime`): it locates the bundled runtime binaries the `deepseek-harness` client spawns, and ships the default configuration behind zero-config runs.
Runtime carrier package for the Python SDK (dist `deepseek-harness-runtime-bin`, module `deepseek_harness_runtime`): it locates the bundled runtime binaries the `deepseek-harness-sdk` client spawns, and ships the default configuration behind zero-config runs.
## Runtime carriers

View File

@@ -2,7 +2,7 @@
[English](README.md) | 中文
Python SDK 的运行时载体包(分发名 `deepseek-harness-runtime-bin`,模块名 `deepseek_harness_runtime`):它定位 `deepseek-harness` 客户端要 spawn 的内置运行时二进制,并附带支撑零配置运行的默认配置。
Python SDK 的运行时载体包(分发名 `deepseek-harness-runtime-bin`,模块名 `deepseek_harness_runtime`):它定位 `deepseek-harness-sdk` 客户端要 spawn 的内置运行时二进制,并附带支撑零配置运行的默认配置。
## 运行时载体

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write python/sdk/README.md
README.md: f2cd6b9f1a978fe5519df3965fbe6679a72d56f5
README.zh.md: dfa25d1d09d6edf24ebf1df3faa925493aeef7de
README.md: 2350fbfd5dd0094bfd7a11f81d8226e960879923
README.zh.md: 5120a8c5f65360485d450614186d5cb2702fda17

View File

@@ -7,7 +7,13 @@ runtime inherits normal DeepSeek Harness environment variables such as
`DEEPSEEK_BASE_URL` and `DEEPSEEK_API_KEY`, so callers can use real model
endpoints directly or point those variables at a local proxy.
Installing `deepseek-harness` installs the exact same-version `deepseek-harness-runtime-bin` platform wheel. The normal entry point therefore needs no executable argument:
Install the `deepseek-harness-sdk` distribution from PyPI; the import module remains `deepseek_harness`:
```sh
python -m pip install deepseek-harness-sdk
```
Installing `deepseek-harness-sdk` installs the exact same-version `deepseek-harness-runtime-bin` platform wheel. The normal entry point therefore needs no executable argument:
```py
from deepseek_harness import DeepSeekHarness

View File

@@ -4,7 +4,13 @@
通过 JSON-RPC stdio 驱动 DeepSeek Harness 的 Python 子进程 SDK。运行时继承常规的 DeepSeek Harness 环境变量(如 `DEEPSEEK_BASE_URL``DEEPSEEK_API_KEY`),调用方可以直接使用真实模型端点,也可以把这些变量指向本地代理。
安装 `deepseek-harness` 会同时安装版本完全相同的 `deepseek-harness-runtime-bin` 平台 wheel 包。因此常规入口不需要传可执行文件参数
请从 PyPI 安装 `deepseek-harness-sdk` 分发包;导入模块仍为 `deepseek_harness`
```sh
python -m pip install deepseek-harness-sdk
```
安装 `deepseek-harness-sdk` 会同时安装版本完全相同的 `deepseek-harness-runtime-bin` 平台 wheel 包。因此常规入口不需要传可执行文件参数:
```py
from deepseek_harness import DeepSeekHarness

View File

@@ -3,7 +3,7 @@ requires = ["hatchling>=1.30.1"]
build-backend = "hatchling.build"
[project]
name = "deepseek-harness"
name = "deepseek-harness-sdk"
version = "0.0.0.dev0"
description = "Python SDK for DeepSeek Harness"
readme = "README.md"

View File

@@ -39,6 +39,18 @@ def test_repository_version_rejects_non_stable_versions(tmp_path: Path) -> None:
build_python_release.repository_version(tmp_path)
def test_stage_sdk_keeps_distribution_module_and_runtime_pin_distinct(tmp_path: Path) -> None:
destination = tmp_path / "staging"
build_python_release.stage_sdk(destination, "1.2.3")
pyproject = (destination / "pyproject.toml").read_text()
assert 'name = "deepseek-harness-sdk"' in pyproject
assert 'version = "1.2.3"' in pyproject
assert '"deepseek-harness-runtime-bin==1.2.3"' in pyproject
assert (destination / "src" / "deepseek_harness" / "__init__.py").is_file()
@pytest.mark.parametrize(("target", "with_helper"), [("linux-x64", False), ("macos-arm64", True)])
def test_stage_runtime_copies_platform_payload(
tmp_path: Path, target: str, with_helper: bool

14
python/sdk/uv.lock generated
View File

@@ -21,7 +21,12 @@ wheels = [
]
[[package]]
name = "deepseek-harness"
name = "deepseek-harness-runtime-bin"
version = "0.0.0.dev0"
source = { editable = "../sdk-runtime" }
[[package]]
name = "deepseek-harness-sdk"
version = "0.0.0.dev0"
source = { editable = "." }
dependencies = [
@@ -43,17 +48,12 @@ requires-dist = [
[package.metadata.requires-dev]
test = [{ name = "pytest", specifier = ">=8.0" }]
[[package]]
name = "deepseek-harness-runtime-bin"
version = "0.0.0.dev0"
source = { editable = "../sdk-runtime" }
[[package]]
name = "exceptiongroup"
version = "1.3.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
wheels = [