starforge-cli 0.1.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. starforge_cli-0.1.6/.gitignore +36 -0
  2. starforge_cli-0.1.6/PKG-INFO +40 -0
  3. starforge_cli-0.1.6/README.md +10 -0
  4. starforge_cli-0.1.6/pyproject.toml +64 -0
  5. starforge_cli-0.1.6/starforge_cli/__init__.py +3 -0
  6. starforge_cli-0.1.6/starforge_cli/api_client.py +589 -0
  7. starforge_cli-0.1.6/starforge_cli/auth.py +349 -0
  8. starforge_cli-0.1.6/starforge_cli/catalog.py +124 -0
  9. starforge_cli-0.1.6/starforge_cli/cli.py +74 -0
  10. starforge_cli-0.1.6/starforge_cli/cli_ui.py +469 -0
  11. starforge_cli-0.1.6/starforge_cli/client_device.py +104 -0
  12. starforge_cli-0.1.6/starforge_cli/commands/__init__.py +1 -0
  13. starforge_cli-0.1.6/starforge_cli/commands/admin.py +140 -0
  14. starforge_cli-0.1.6/starforge_cli/commands/bench.py +94 -0
  15. starforge_cli-0.1.6/starforge_cli/commands/common.py +178 -0
  16. starforge_cli-0.1.6/starforge_cli/commands/dataset.py +150 -0
  17. starforge_cli-0.1.6/starforge_cli/commands/exp.py +213 -0
  18. starforge_cli-0.1.6/starforge_cli/commands/init.py +52 -0
  19. starforge_cli-0.1.6/starforge_cli/commands/jobs.py +223 -0
  20. starforge_cli-0.1.6/starforge_cli/commands/login.py +54 -0
  21. starforge_cli-0.1.6/starforge_cli/commands/plugin.py +243 -0
  22. starforge_cli-0.1.6/starforge_cli/commands/recipe.py +163 -0
  23. starforge_cli-0.1.6/starforge_cli/commands/serve.py +79 -0
  24. starforge_cli-0.1.6/starforge_cli/commands/submit.py +467 -0
  25. starforge_cli-0.1.6/starforge_cli/commands/sweep.py +154 -0
  26. starforge_cli-0.1.6/starforge_cli/config_resolve.py +17 -0
  27. starforge_cli-0.1.6/starforge_cli/data_prep.py +60 -0
  28. starforge_cli-0.1.6/starforge_cli/new_experiment.py +195 -0
  29. starforge_cli-0.1.6/starforge_cli/packing.py +179 -0
  30. starforge_cli-0.1.6/starforge_cli/plugins_lock.py +73 -0
  31. starforge_cli-0.1.6/starforge_cli/project.py +130 -0
  32. starforge_cli-0.1.6/starforge_cli/recipe_lock.py +453 -0
  33. starforge_cli-0.1.6/starforge_cli/scaffold/agent-run.py.tmpl +146 -0
  34. starforge_cli-0.1.6/starforge_cli/scaffold/custom-framework/train.sh +56 -0
  35. starforge_cli-0.1.6/starforge_cli/scaffold/experiment-template/.gitkeep +0 -0
  36. starforge_cli-0.1.6/starforge_cli/scaffold/experiment-template/README.md +36 -0
  37. starforge_cli-0.1.6/starforge_cli/scaffold/experiment-template/config.yaml +44 -0
  38. starforge_cli-0.1.6/starforge_cli/scaffold/project/common/README.md +12 -0
  39. starforge_cli-0.1.6/starforge_cli/scaffold/project/common/__init__.py +0 -0
  40. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/README.md +103 -0
  41. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/README.md +24 -0
  42. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/distillation_math.yaml +284 -0
  43. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/grpo_lora.yaml +30 -0
  44. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/grpo_math_1B.yaml +470 -0
  45. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/grpo_megatron.yaml +43 -0
  46. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/grpo_noncolocated.yaml +18 -0
  47. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/grpo_sliding_puzzle.yaml +81 -0
  48. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/ppo_math_1B.yaml +454 -0
  49. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/rm.yaml +224 -0
  50. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/base/sft.yaml +294 -0
  51. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/models/README.md +16 -0
  52. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/models/qwen3.5-4b.yaml +12 -0
  53. starforge_cli-0.1.6/starforge_cli/scaffold/project/configs/models/qwen3.5-9b.yaml +10 -0
  54. starforge_cli-0.1.6/starforge_cli/scaffold/project/gitignore +11 -0
  55. starforge_cli-0.1.6/starforge_cli/spec_builder.py +372 -0
@@ -0,0 +1,36 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ .eggs/
6
+ build/
7
+ dist/
8
+ .venv/
9
+ venv/
10
+ .python-version
11
+ .pytest_cache/
12
+ .ruff_cache/
13
+
14
+ # 前端
15
+ web/node_modules/
16
+ web/dist/
17
+
18
+ # 本地数据库 / 凭据 / 台账
19
+ .forge/
20
+ *.db
21
+
22
+ # 密钥 / 本地配置
23
+ .env
24
+ .env.*
25
+ !.env.example
26
+ docker-compose.override.yml
27
+ *.key
28
+ secrets.*
29
+
30
+ # 系统 / 编辑器
31
+ .DS_Store
32
+ .idea/
33
+ .vscode/
34
+ *.swp
35
+ SwanLab/
36
+ RL/
@@ -0,0 +1,40 @@
1
+ Metadata-Version: 2.5
2
+ Name: starforge-cli
3
+ Version: 0.1.6
4
+ Summary: StarForge(星锻)命令行客户端:pip 安装后用 sf init 创建微调项目,再提交训练。
5
+ Project-URL: Homepage, https://github.com/wccdev/starforge
6
+ Project-URL: Documentation, https://github.com/wccdev/starforge
7
+ Project-URL: Repository, https://github.com/wccdev/starforge
8
+ Keywords: grpo,llm,post-training,rlhf,sft,starforge
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
+ Requires-Python: >=3.10
19
+ Requires-Dist: datasets>=2.18
20
+ Requires-Dist: pyyaml>=6
21
+ Requires-Dist: starforge-core==0.1.6
22
+ Requires-Dist: typer>=0.12
23
+ Provides-Extra: dev
24
+ Requires-Dist: fastapi>=0.110; extra == 'dev'
25
+ Requires-Dist: httpx>=0.27; extra == 'dev'
26
+ Requires-Dist: pytest>=8; extra == 'dev'
27
+ Requires-Dist: pyyaml>=6; extra == 'dev'
28
+ Requires-Dist: ruff>=0.5; extra == 'dev'
29
+ Description-Content-Type: text/markdown
30
+
31
+ # starforge-cli
32
+
33
+ StarForge(星锻)命令行客户端。源码在平台仓 `cli/`,以 PyPI 包 `starforge-cli` 发布,安装后提供 `sf` 命令。
34
+
35
+ ```bash
36
+ pip install starforge-cli
37
+ sf init my-lab --yes
38
+ ```
39
+
40
+ 官方示例项目见独立仓库 `starforge-tutorial`。本目录不是微调项目,不要在这里 `sf new`。
@@ -0,0 +1,10 @@
1
+ # starforge-cli
2
+
3
+ StarForge(星锻)命令行客户端。源码在平台仓 `cli/`,以 PyPI 包 `starforge-cli` 发布,安装后提供 `sf` 命令。
4
+
5
+ ```bash
6
+ pip install starforge-cli
7
+ sf init my-lab --yes
8
+ ```
9
+
10
+ 官方示例项目见独立仓库 `starforge-tutorial`。本目录不是微调项目,不要在这里 `sf new`。
@@ -0,0 +1,64 @@
1
+ [project]
2
+ name = "starforge-cli"
3
+ version = "0.1.6"
4
+ description = "StarForge(星锻)命令行客户端:pip 安装后用 sf init 创建微调项目,再提交训练。"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ keywords = ["llm", "post-training", "rlhf", "grpo", "sft", "starforge"]
8
+ classifiers = [
9
+ "Development Status :: 4 - Beta",
10
+ "Environment :: Console",
11
+ "Intended Audience :: Developers",
12
+ "Intended Audience :: Science/Research",
13
+ "Programming Language :: Python :: 3",
14
+ "Programming Language :: Python :: 3.10",
15
+ "Programming Language :: Python :: 3.11",
16
+ "Programming Language :: Python :: 3.12",
17
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
18
+ ]
19
+ dependencies = [
20
+ "starforge-core==0.1.6",
21
+ "typer>=0.12",
22
+ "datasets>=2.18",
23
+ "pyyaml>=6",
24
+ ]
25
+
26
+ [project.urls]
27
+ Homepage = "https://github.com/wccdev/starforge"
28
+ Documentation = "https://github.com/wccdev/starforge"
29
+ Repository = "https://github.com/wccdev/starforge"
30
+
31
+ [project.optional-dependencies]
32
+ dev = ["pytest>=8", "ruff>=0.5", "pyyaml>=6", "fastapi>=0.110", "httpx>=0.27"]
33
+
34
+ [project.scripts]
35
+ sf = "starforge_cli.cli:app"
36
+
37
+ [build-system]
38
+ requires = ["hatchling"]
39
+ build-backend = "hatchling.build"
40
+
41
+ [tool.hatch.build.targets.wheel]
42
+ packages = ["starforge_cli"]
43
+
44
+ [tool.hatch.build.targets.sdist]
45
+ include = [
46
+ "/starforge_cli",
47
+ "/README.md",
48
+ "/pyproject.toml",
49
+ ]
50
+
51
+ [tool.uv.sources]
52
+ starforge-core = { path = "../core", editable = true }
53
+
54
+ [tool.pytest.ini_options]
55
+ pythonpath = ["."]
56
+ testpaths = ["tests"]
57
+
58
+ [tool.ruff]
59
+ line-length = 120
60
+ target-version = "py310"
61
+
62
+ [tool.ruff.lint]
63
+ select = ["E", "F", "I", "W", "B"]
64
+ ignore = ["E501", "B008"]
@@ -0,0 +1,3 @@
1
+ """starforge-cli:统一 CLI 包。命令入口见 starforge_cli.cli:app(安装后提供 `sf`)。"""
2
+
3
+ __version__ = "0.1.6"