Skip to main content

tmux-trainsh

tmux-trainsh is a terminal-first workflow runner for GPU and remote automation work.

README is the quick overview and landing page. The canonical command reference stays in the CLI:

train help
train --help

Those two commands are the canonical help entry points.

Install

Install from PyPI with uv:

uv tool install -U tmux-trainsh
train help

Or use the install script:

curl -LsSf https://raw.githubusercontent.com/binbinsh/tmux-trainsh/main/install.sh | bash

Main Command Groups

  • train recipe for recipe files, execution, status, logs, jobs, and schedules
  • train host for named SSH or Colab hosts
  • train vllm for managed remote vLLM servers and local batch clients
  • train storage for named storage backends
  • train transfer for local, host, and storage copies
  • train secrets for credentials
  • train config for config and tmux settings
  • train vast for Vast.ai instances
  • train runpod for RunPod Pods
  • train colab for one-off Colab tunnels
  • train pricing for exchange rates and cost estimates

Quick Start

train secrets set GITHUB_TOKEN
train secrets set VAST_API_KEY
train secrets set RUNPOD_API_KEY
train secrets set POE_API_KEY
train host add
train vllm serve gpu-box Qwen/Qwen2.5-32B-Instruct --gpus 0
train storage add

train recipe show nanochat
train recipe new demo --template remote-train
train exec nanochat
train host clone gpu-box https://github.com/org/private-repo.git /srv/private-repo
train recipe status --last

Bundled Examples

Current bundled examples: aptup, brewup, hello, nanochat

Recipe Authoring

Public imports:

from trainsh import Recipe, Host, RunpodHost, VastHost, HostPath, Storage, StoragePath, load_python_recipe, local
from trainsh import flash_attn_install_script

Main authoring model:

  • Recipe
  • Host / VastHost / RunpodHost / HostPath
  • Storage / StoragePath
  • host.tmux(...)
  • local.tmux(...)
  • tmux.install_flash_attn(...)
  • tmux.script(...)
  • recipe.storage_wait_count(...)

Runtime Guarantees

  • .pyrecipe recipes run as: load -> dependency graph from depends_on -> executor run
  • Airflow-like retry / timeout / callback / trigger-rule semantics remain supported
  • Supported executor aliases include sequential, thread_pool, process_pool, local, airflow, celery, dask, and debug
  • Kubernetes executor remains unsupported

Maintenance

To refresh this file after editing the canonical help catalog:

python3 scripts/sync_cli_docs.py

Regression commands:

python3 tests/test_commands.py
python3 -m unittest tests.test_runtime_persist tests.test_pyrecipe_runtime tests.test_runtime_semantics tests.test_provider_dispatch tests.test_ti_dependencies
uv run --with coverage python scripts/check_runtime_coverage.py

Release files for tmux-trainsh 1.2026.120

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

Source distribution (sdist)

Source distribution for tmux-trainsh 1.2026.120
File Size Uploaded
tmux_trainsh-1.2026.120.tar.gz 267.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tmux-trainsh 1.2026.120
File Interpreter ABI Platform
tmux_trainsh-1.2026.120-py3-none-any.whl Python 3 none any Details

Total release size: 596.3 kB

Release files / tmux_trainsh-1.2026.120.tar.gz

Download URL tmux_trainsh-1.2026.120.tar.gz
Size 267.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6b5ccaf04790c5ea0a2f22928e3d917a1321193f10c609731bc6c06280f8a035
BLAKE2b-256 checksum
How to use checksums
74aff950b64fc2d772d3ce06806137983addf754e9ab8722162b9a55b968ca71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 31, 2026.

Transparency log

Release files / tmux_trainsh-1.2026.120-py3-none-any.whl

Download URL tmux_trainsh-1.2026.120-py3-none-any.whl
Size 329.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a172c0798bc599784760e9e9c8112471cc9b98ae06baebb46c60adf5c626eee
BLAKE2b-256 checksum
How to use checksums
c80d0b27365816263835abe66f663672e9f543be4c07772aac569ddb3ba8a39a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 31, 2026.

Transparency log
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