CLI reference

Reference for Mithril Flow CLI: https://github.com/mithrilcompute/flow/blob/main/README.md

CLI Overview

Submit and manage GPU tasks from your terminal.

flow [OPTIONS] COMMAND [ARGS]...

Installation

Requirements

  • Python 3.10 or later

  • Recommended: use uv to auto-manage a compatible Python when installing the CLI

  • macOS/Linux:

    curl -LsSf https://astral.sh/uv/install.sh | sh
  • Windows (PowerShell):

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • More options: see the uv installation guide: docs.astral.sh/uv/getting-started/installation

Note: Ensure the directory uv adds (often ~/.local/bin) is on your PATH.

2) Install Flow

  • Global CLI (uv):

    uv tool install flow-compute
    flow init
  • Global CLI (pipx):

    pipx install flow-compute
    flow init
  • One-liner (macOS/Linux) without uv/pipx:

    curl -fsSL https://raw.githubusercontent.com/mithrilcompute/flow/main/scripts/install.sh | sh
    flow init
  • Per‑project (uv-managed env):

    uv init my-project
    cd my-project
    uv add flow-compute
    uv sync
    uv run flow init

After installation:

flow --version          # Verify installation
flow example gpu-test   # Test GPU access
flow run "nvidia-smi"   # -i 8xh100, a100 etc
flow dev                # Launch interactive DevBox

Updating

flow update            # Auto-updates based on installation method
flow update --check    # Check for available updates
flow update --json     # Machine-readable output (CI)

Note: If you encounter version conflicts, run which -a flow to check for multiple installations.

Quickstart

flow init
flow example gpu-test
flow run "nvidia-smi" # -i 8xh100 or a100

Global options

  • --version: Show the version and exit.

  • --help: see possible commands. Run --help on any commands.

Commands

  • Getting started

    • init: Configure credentials (e.g., flow init)

    • docs: Show documentation links (e.g., flow docs --verbose)

  • Run

    • run: Submit task from YAML or command (e.g., flow run "<command_to_run>" # or job.yaml)

    • dev: Development environment (e.g., flow dev)

    • example: Run or show starters (e.g., flow example gpu-test # --show)

    • grab: Quick resource selection (e.g., flow grab 8 h100)

  • Observe

    • status: List and monitor tasks (e.g., flow status)

    • logs: View task logs (e.g., flow logs <task>)

  • Manage

    • cancel: Cancel tasks (e.g., flow cancel <task>)

    • ssh: SSH into task (e.g., flow ssh <task>)

    • ssh-keys: Manage SSH keys (e.g., flow ssh-keys list)

    • volumes: Manage volumes (e.g., flow volumes list)

    • mount: Attach volumes (e.g., flow mount --help)

    • upload-code: Upload code to a running task (e.g., flow upload-code <task>)

  • Advanced

    • update: Update Flow SDK (e.g., flow update)

    • theme: Manage CLI color themes (e.g., flow theme set modern)

  • Other

    • ports: Manage ports and tunnels (e.g., flow ports open <task> --port 8080)

    • pricing: Pricing defaults and links (e.g., flow pricing --market)

Last updated