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.12 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 简体中文)
Metadata
Release files for starforge-core 0.3.40
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| starforge_core-0.3.40.tar.gz | 876.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| starforge_core-0.3.40-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / starforge_core-0.3.40.tar.gz
| Download URL | starforge_core-0.3.40.tar.gz |
|---|---|
| Size | 876.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab719cc4a1beca4e3141cb4166a23f9ab3727b41d756a685cabdebd854961ec6
|
|
BLAKE2b-256 checksum How to use checksums |
834cb7dbf49538c133475c789caf208fc2629dff4da7d32032143028396c873e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / starforge_core-0.3.40-py3-none-any.whl
| Download URL | starforge_core-0.3.40-py3-none-any.whl |
|---|---|
| Size | 718.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1dd0ea461cff93ab046a9f551d98438a16e51df59a929311817f03e34f33671e
|
|
BLAKE2b-256 checksum How to use checksums |
781a175fb7259a65bd10e2a05155d3c146ca1f56390fbd5c9bb89d65ff4ead0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Security for starforge-core 0.3.40
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.