> ## Documentation Index
> Fetch the complete documentation index at: https://hubify.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# hubify deploy

> Deploy experiments to GPU pods, launch scripts, monitor progress, and check deployment status.

# hubify deploy

Deploy experiments and scripts to GPU pods. This is the bridge between your local experiment definition and remote execution on high-end compute.

## hubify deploy

Deploy an experiment to a GPU pod.

<CodeGroup>
  ```bash Deploy a script to a pod theme={null}
  hubify deploy \
    --script run_mcmc.py \
    --pod pod-abc1234
  ```

  ```bash Deploy with config and data theme={null}
  hubify deploy \
    --script run_mcmc.py \
    --config planck_bao.yaml \
    --data ./chains/ \
    --pod pod-abc1234
  ```

  ```bash Deploy to a new pod (auto-create) theme={null}
  hubify deploy \
    --script run_anomaly_sweep.py \
    --gpu h200 \
    --timeout 4h
  ```

  ```bash Deploy an experiment by ID theme={null}
  hubify deploy --experiment EXP-055 --pod pod-abc1234
  ```
</CodeGroup>

**Options:**

| Flag                   | Description                                                  | Default                            |
| ---------------------- | ------------------------------------------------------------ | ---------------------------------- |
| `--script <path>`      | Python script to execute                                     | Required (unless `--experiment`)   |
| `--experiment <id>`    | Deploy a defined experiment                                  | None                               |
| `--pod <pod-id>`       | Target pod ID                                                | None (auto-creates if `--gpu` set) |
| `--gpu <type>`         | GPU type for auto-created pod: `h100`, `h200`, `a100`, `cpu` | None                               |
| `--config <path>`      | Config file to upload alongside the script                   | None                               |
| `--data <path>`        | Data directory to sync to the pod                            | None                               |
| `--timeout <duration>` | Max runtime (e.g., `4h`, `30m`)                              | No limit                           |
| `--env <KEY=VALUE>`    | Environment variable (repeatable)                            | None                               |
| `--notify`             | Send notification on completion                              | `false`                            |

When `--gpu` is provided without `--pod`, a new pod is created automatically. The pod is stopped (not terminated) when the experiment finishes if it was auto-created.

## hubify deploy status

Check the status of a deployment.

<CodeGroup>
  ```bash Check a specific deployment theme={null}
  hubify deploy status DEP-001
  ```

  ```bash List all active deployments theme={null}
  hubify deploy status --all
  ```
</CodeGroup>

```
DEPLOY ID   EXPERIMENT   POD           STATUS    ELAPSED   GPU UTIL
DEP-001     EXP-055      pod-abc1234   running   1h 32m    94%
DEP-002     EXP-056      pod-o76k3jf   running   45m       87%
DEP-003     EXP-054      pod-def5678   complete  2h 15m    --
```

**Options:**

| Flag     | Description                            | Default |
| -------- | -------------------------------------- | ------- |
| `--all`  | Show all deployments (not just active) | `false` |
| `--json` | Output as JSON                         | `false` |

## hubify deploy logs

View logs from a deployment.

<CodeGroup>
  ```bash View deployment logs theme={null}
  hubify deploy logs DEP-001
  ```

  ```bash Follow mode (stream) theme={null}
  hubify deploy logs DEP-001 --follow
  ```

  ```bash Last N lines theme={null}
  hubify deploy logs DEP-001 --tail 100
  ```
</CodeGroup>

```
[2026-04-14 10:42:01] Uploading run_mcmc.py to pod-abc1234...
[2026-04-14 10:42:03] Uploading planck_bao.yaml...
[2026-04-14 10:42:05] Starting execution...
[2026-04-14 10:42:06] Running: python run_mcmc.py --config planck_bao.yaml
[2026-04-14 10:45:12] Chain 1/6: 1,000/10,000 samples (R-hat: 1.45)
[2026-04-14 10:52:30] Chain 1/6: 5,000/10,000 samples (R-hat: 1.12)
[2026-04-14 11:01:44] Chain 1/6: 10,000/10,000 samples (R-hat: 1.03) CONVERGED
```

**Options:**

| Flag                 | Description                           | Default |
| -------------------- | ------------------------------------- | ------- |
| `--follow`           | Stream log output in real time        | `false` |
| `--tail <n>`         | Show last N lines                     | All     |
| `--since <duration>` | Show logs since duration (e.g., `1h`) | All     |

## hubify deploy cancel

Cancel a running deployment.

```bash theme={null}
hubify deploy cancel DEP-001
```

## hubify deploy outputs

Download outputs from a completed deployment.

<CodeGroup>
  ```bash Download all outputs theme={null}
  hubify deploy outputs DEP-003 --download ./results/
  ```

  ```bash List outputs theme={null}
  hubify deploy outputs DEP-003
  ```
</CodeGroup>

```
FILE                    SIZE      MODIFIED
chain_samples.txt       142 MB    2026-04-14 12:57:15
posterior_plot.png       1.2 MB    2026-04-14 12:57:14
qc_report.json          4 KB      2026-04-14 12:57:15
convergence_diag.png    890 KB    2026-04-14 12:57:14
```

## Typical Workflow

```bash theme={null}
# 1. Deploy an MCMC run to an H100
hubify deploy \
  --script run_mcmc.py \
  --config planck_bao.yaml \
  --gpu h100 \
  --timeout 4h \
  --notify

# 2. Monitor progress
hubify deploy logs DEP-001 --follow

# 3. Check GPU utilization
hubify deploy status DEP-001

# 4. Download results when done
hubify deploy outputs DEP-001 --download ./results/

# 5. Clean up
hubify pod stop pod-abc1234
```
