Skip to main content

LaunchHelm

Training telemetry and live control for Python and PyTorch — the SDK for LaunchHelm. The SDK runs inside your training process; Mission Control, the dashboard, charts the run and applies your controls.

Requires Python 3.11 or later on macOS, Linux, or Windows.

Install

pip install launchhelm
Extra For
launchhelm[torch] PyTorch adapter: watched trainer, live controls, DDP, checkpoints
launchhelm[system] host metrics (psutil) and per-GPU stats (NVML)
launchhelm[hf] transformers.Trainer callback (launchhelm.torch.hf)
launchhelm[lightning] PyTorch Lightning callback (launchhelm.torch.lightning)

Quickstart

In Mission Control, open the organization's Projects page and choose New project — it creates the project and a project key in one step. The key is shown once. Save it before you leave:

export LAUNCHHELM_API_KEY=lh_...        # shown once — never commit it
export LAUNCHHELM_ORGANIZATION=...      # organization UUID
export LAUNCHHELM_PROJECT=...           # project UUID
# export LAUNCHHELM_URL=https://launchhelm.com   # optional; this is the default

A .env file in the working directory or a parent works too; exported shell variables take precedence. Then in the training script:

import launchhelm

with launchhelm.init("quickstart", config={"lr": 3e-4, "batch": 64}) as run:
    for step in range(100):
        loss = train_one_step()
        run.log({"loss": loss}, step=step)

The first argument is the project name, which must match the project the key belongs to; LAUNCHHELM_PROJECT is that project's UUID.

Rich values

Beyond scalars, a stream can carry rendered values — text, media, tables and histograms:

run.text("notes", "## epoch 4\nloss **0.25**", format="markdown")
run.image("frames", "confusion.png")
run.log_table("sweep", [("lr", "number")], [[3e-4]])
run.histogram("grad", gradient_samples, bins=64)

Media uploads don't block the loop; flush() waits for them.

PyTorch

pip install "launchhelm[torch]"
import launchhelm.torch as lht

tr = lht.init("quickstart", config={"lr": 3e-4, "batch": 64})
model, optimizer = build()
tr.watch(model, optimizer, scheduler=sched)

for step in range(steps):
    loss = train_one_step()
    tr.clip_grad_norm_()          # current (controllable) max norm
    optimizer.step(); sched.step()
    tr.step(loss=loss, samples=batch_size)   # logs + services control; call on every rank

tr.save_checkpoint(extra={"epoch": epoch})
tr.finish()

tr.step logs the built-in series (train/loss, optim/lr/group<i>, optim/grad_norm, perf/step_time_s, perf/samples_per_s, perf/tokens_per_s) and services controls from the dashboard: lr, weight_decay, grad_clip, dropout, checkpoint, eval, plus tr.tunable(name, ...) for custom knobs. In DDP, call step on every rank at the same cadence — a control applies on every rank at the same step.

save_checkpoint writes a torch.load(weights_only=True)-safe bundle — model, optimizer, scheduler, scaler, step, per-rank RNG, tunables, extra — and a crash-resume finds the latest one. load_checkpoint("latest") restores it. For FSDP models, configure a full state dict before saving.

System metrics without torch: launchhelm.system.start(run) (the system extra) emits CPU, memory, disk/network rates and per-GPU stats under system/....

Framework callbacks: launchhelm.torch.hf.LaunchHelmCallback (hf extra) and launchhelm.torch.lightning.LaunchHelmCallback (lightning extra) wire the same lifecycle through each framework's callback API.

Delivery

Call Guarantee
run.log(...) queued for upload
run.flush(delivered=False) durable on this machine — survives a crash, uploads on restart
run.flush() stored on the server — query-visible when it returns
run.finish() delivers everything, then ends the run

Metadata

Release files for launchhelm 0.1.1

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

Source distribution (sdist)

Source distribution for launchhelm 0.1.1
File Size Uploaded Provenance Actions
launchhelm-0.1.1.tar.gz 220.2 kB With provenance Details for launchhelm-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for launchhelm 0.1.1
File Interpreter ABI Platform Actions
launchhelm-0.1.1-py3-none-any.whl Python 3 none any Details for launchhelm-0.1.1-py3-none-any.whl

Total release size: 365.5 kB

Release files / launchhelm-0.1.1.tar.gz

Download URL launchhelm-0.1.1.tar.gz
Size 220.2 kB
Tags Source
SHA-256 checksum
How to use checksums
075e424e2b62c24d04204d5ccd4009555235157a5b1e1dc25d5ba2c991f285d3
BLAKE2b-256 checksum
How to use checksums
89ef566be0a02224d222fd620db84384654884399c8d6adba995584520ea2263
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / launchhelm-0.1.1-py3-none-any.whl

Download URL launchhelm-0.1.1-py3-none-any.whl
Size 145.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
29b4c7fc2505fb648ad5d25013df424c5086a75d3c58ed50e98454862287748f
BLAKE2b-256 checksum
How to use checksums
f69995f7b369858feeee4c601a0d19a7275ac344b3a12310c0fc9dd5c6879e63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Security for launchhelm 0.1.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for launchhelm-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

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