vmux-examples — vmux 用サンプルスクリプト集

DevOps

概要

vmux-examples は、vmux(https://vmux.sdan.io)を使ってクラウド上で Python スクリプトを手軽に実行するためのサンプル集です。リポジトリ内には、動作確認用の Hello World、長時間実行ジョブをデタッチしてバックグラウンドで動かす例、協調的に使えるターミナルのデモなどが含まれています。基本的なセットアップは uv tool による vmux-cli のインストールと vmux login だけで済み、vmux run コマンドでスクリプトをそのままクラウド実行できるため、ローカル環境に手を加えずに動作確認やプロトタイプの実行が可能です。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 0
  • ウォッチャー数: 5
  • コミット数: 8
  • ファイル数: 11
  • メインの言語: Python

主な特徴

  • シンプルな Python スクリプトで vmux の基本的な使い方を学べる。
  • vmux run による即時実行と、-d オプションを使ったデタッチ(バックグラウンド実行)の例を収録。
  • 協調的(collaborative)なターミナルや長時間ジョブの扱い方を実践で確認可能。
  • 最小限の前提(vmux-cli のインストールとログイン)で動作するため導入が容易。

技術的なポイント

このリポジトリは「クラウド上でローカルと同じようにスクリプトを走らせる」ための運用パターンを示す点が最大の技術的価値です。具体的には次のようなポイントがあります。

  • 実行フローの簡潔さ:vmux-cli を uv tool 経由でインストールし、vmux login で認証したら vmux run <コマンド> で任意のコマンドやスクリプトをクラウド上で実行できます。ローカルの Docker に慣れた開発者には、vmux run -d が「デタッチしてバックグラウンドで動かす」操作として直感的です。

  • ジョブ制御とデタッチ:epoch_counter.py のような長時間ループ処理を -d フラグでデタッチすれば、端末を切断してもジョブを継続できます。これは CI/CD やバッチ処理、トレーニングジョブなど、実行時間が長い処理を手軽に扱う際に有効です。ログの取得やプロセス監視は vmux の CLI 機能に依存しますが、スクリプト側で標準出力・ログファイル出力を適切に行うことで運用しやすくなります。

  • 軽量な検証用スクリプト:hello.py のような短時間実行のスクリプトは、環境のサニティチェック(カレントディレクトリ確認、ファイル一覧、簡易カウントなど)に最適です。クラウド環境の初期状態やバインドマウント、ファイルの受け渡しが正しく行われているかを素早く検証できます。

  • 協調的ワークフローのデモ:collab-terminal ディレクトリにある例は、複数ユーザーやセッションで同じ端末にアタッチしながら操作するユースケースを想定しています。リモートペアプログラミングやライブデモ、インタラクティブなトラブルシューティングなどに役立ちます(実際の接続・権限管理は vmux 側の認証機構に依存)。

  • 拡張性と組み込みのしやすさ:サンプルは依存を最小限に抑えたシンプルな構成のため、requirements.txt を追加してライブラリをインストールする、コンテナイメージを指定する、出力を外部ストレージに保存する等の一般的な拡張がしやすい設計です。vmux を CI パイプラインやワークフローオートメーションに組み込む際の最初のベースとして活用できます。

これらは vmux の特性(クラウドでの即時実行、デタッチ可能なジョブ、複数ユーザーによるアタッチ)を活かした運用例であり、本リポジトリはそれらを具体的なコードで示すことで導入障壁を下げています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • burrow.py: file
  • collab-terminal: dir
  • epoch_counter.py: file
  • hello.py: file

その他のファイル(計 6 ファイル):

  • og.png: image(README のヘッダーイメージ)
  • その他ユーティリティやスクリプト、設定ファイルが含まれています(詳細はリポジトリを参照)。

実行手順(README 抜粋に基づく簡易手順):

  1. uv tool install vmux-cli
  2. vmux login
  3. vmux run python hello.py(短時間確認)
  4. vmux run -d python epoch_counter.py(デタッチ実行)

各スクリプトは単体で動作確認できるように設計されており、追加の依存関係が必要な場合はスクリプト内にコメントや README に追記して拡張できます。

まとめ

vmux を素早く試せる実用的なサンプル集で、入門や検証用途に最適です。(50字程度)

リポジトリ情報:

READMEの抜粋:

vmux examples

Example scripts for vmux. Run Python in the cloud.

Setup

uv tool install vmux-cli
vmux login

Examples

Hello World

vmux run python hello.py

A 5-second sanity check that prints the working directory, lists files, and counts to 5. Good for verifying your setup works.

Long-running Jobs

vmux run -d python epoch_counter.py

The -d flag works like Docker - it detaches …