starforge-core
Client for StarForge. You get the sf command and a Python package named starforge.
Use this to scaffold a lab, lock a post-training method, and submit jobs to a StarForge console. The control plane is not on PyPI: it ships as a container image and a Helm chart. Training images do not need this whole package; the server injects a runner that carries the kernel only.
Install
uv tool install starforge-core
# or, without uv
pip install starforge-core
sf --help
uv tool install is recommended: it gives sf its own environment, and it is the
installation sf update can upgrade. Installed into a system Python, sf update refuses
rather than risk disturbing other tools there.
Upgrade with sf update — it detects how sf was installed and runs the right command,
or names the one you should run when upgrading in place would break something.
Python 3.10 or newer. Import name is starforge, not starforge_core.
uv tool install "starforge-core[data]" adds HuggingFace datasets for local prepare scripts.
Start a lab
Do not clone the platform repo. This package writes a project for you:
sf init my-lab --yes
cd my-lab
sf login --server https://<your-console>
sf new my-grpo --method nemo-rl/grpo
sf validate my-grpo
sf submit my-grpo --profile h200:8
sf job logs
sf methods lists the catalog on the server you logged into. Methods look like nemo-rl/grpo, verl/sft, trl/kto, openrlhf/ppo, evalkit/benchmark, custom/custom.
Examples live in starforge-tutorial. Day-to-day work should be your own sf init tree.
Python
Catalog methods already forward framework logs. Custom train.sh jobs that want console curves call:
from starforge.report import init, log, finish
init()
log({"loss": 0.12}, step=1)
finish()
starforge.spec_to_env is the JobSpec to environment mapping used on both the client and the job. starforge.get_recipe / starforge.recipe_names read the bundled catalog.
What this package contains
sfCLI: init, login, experiments, submit, sweep, jobs, datasets, plugins, bench, serve- JobSpec types and
spec_to_env - Recipe catalog and framework adapters (NeMo-RL, verl, TRL, OpenRLHF, evalkit, custom)
- Job-side reporter (
starforge.report)
Cluster credentials stay on the server. Your laptop keeps an access token under ~/.forge/.
Docs and source
- Platform repo: https://github.com/wccdev/starforge
- User docs:
mintlify/in that repo (English and 简体中文)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file starforge_core-0.3.31.tar.gz.
File metadata
- Download URL: starforge_core-0.3.31.tar.gz
- Upload date:
- Size: 834.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78843e53dc96aea04dc694581343d4c627cb511272a99ad14855fbcf03403f3e
|
|
| MD5 |
942da308f1fbedee5d9904eb1887183c
|
|
| BLAKE2b-256 |
6bca2e2328f38adb99e72b45022bab04feaf0d9973500c2b1eb84b04ab931b7e
|
File details
Details for the file starforge_core-0.3.31-py3-none-any.whl.
File metadata
- Download URL: starforge_core-0.3.31-py3-none-any.whl
- Upload date:
- Size: 689.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8fbd49e720acf114d3168ac732d8c9d34226ee9a4bae491934a9bb2b3d4961e
|
|
| MD5 |
0094fad39d07dc710db99535a52bb907
|
|
| BLAKE2b-256 |
5f80ea0a8b2dac7f8491c49f0f4c1b891e9f20c1103d27b4554445efd27017fd
|