# CLI

## Installation

The CLI is included with the Python SDK:

```bash
pip install fleethq
```

## Authentication

```bash
fleet login     # authenticate via browser
fleet logout    # remove saved credentials
fleet whoami    # show current account
```

---

## Models

List uploaded base models:

```bash
fleet models
```

Show a model:

```bash
fleet models <model_id>
```

Download a model (returns presigned URLs for all files):

```bash
fleet models download <model_id>
```

Delete a model:

```bash
fleet models delete <model_id>
```

---

## Fine-tuned models

List models produced by training jobs:

```bash
fleet fine-tunes
```

Show a fine-tuned model:

```bash
fleet fine-tunes <model_id>
```

Delete a fine-tuned model:

```bash
fleet fine-tunes delete <model_id>
```

---

## Checkpoints

List all checkpoints:

```bash
fleet checkpoints
```

List checkpoints for a specific job:

```bash
fleet checkpoints <job_id>
```

Delete a checkpoint:

```bash
fleet checkpoints delete <model_id>
```

---

## Datasets

List uploaded datasets:

```bash
fleet datasets
```

Show a dataset:

```bash
fleet datasets <dataset_id>
```

Upload a dataset file:

```bash
fleet datasets upload ./train.jsonl
fleet datasets upload ./train.jsonl my-dataset-name
```

Download a dataset (returns a presigned URL):

```bash
fleet datasets download <dataset_id>
```

Delete a dataset:

```bash
fleet datasets delete <dataset_id>
```

---

## Jobs

List recent jobs:

```bash
fleet jobs
```

Show a job with live status:

```bash
fleet jobs <job_id>
```

Estimate cost and runtime before launching a job:

```bash
fleet jobs estimate <model_id> <dataset_id>
fleet jobs estimate <model_id> <dataset_id> --method qlora
```

Prints a table of all tiers with estimated runtime range, cost range, and the recommended tier marked with `*`. Available methods: `full`, `lora` (default), `qlora`.

Stream logs for a job:

```bash
fleet jobs logs <job_id>
```

Show training metrics:

```bash
fleet jobs metrics <job_id>
```

Show evaluation results (eval jobs only):

```bash
fleet jobs eval <job_id>
```

Prints loss, perplexity, number of samples evaluated, and wall-clock duration.

Cancel a running job:

```bash
fleet jobs cancel <job_id>
```

Delete a job record:

```bash
fleet jobs delete <job_id>
```

---

## Deployments

List deployments:

```bash
fleet deployments
```

Deploy a model:

```bash
fleet deployments create <model_id>
fleet deployments create <model_id> fleet:standard
```

Run inference on a deployment:

```bash
fleet deployments infer <deployment_id> "What is LoRA?"
```

Delete a deployment:

```bash
fleet deployments delete <deployment_id>
```

---

## Billing

Show account balance, storage usage, and recent activity:

```bash
fleet billing
```

Show paginated transaction history:

```bash
fleet billing transactions
fleet billing transactions --page=2 --limit=50
```

---

## Settings

Show current account settings:

```bash
fleet settings
```

Update a setting:

```bash
fleet settings set <key> <value>
```

| Setting | Default | Description |
|---------|---------|-------------|
| `max_checkpoints` | `1` | Maximum checkpoints kept per job. Oldest deleted automatically when exceeded. |
| `prune_checkpoints_on_completion` | `true` | Delete all checkpoints when a job completes successfully. |
| `auto_recharge_enabled` | `false` | Automatically top up balance when it drops below the threshold. |
| `auto_recharge_threshold` | `10.00` | Balance level (USD) that triggers an auto-recharge. |
| `auto_recharge_amount` | `25.00` | Amount (USD) to charge when auto-recharge triggers. |

`auto_recharge_status` is read-only, visible in `fleet settings` output. Values: `no_card`, `ok`, `pending`, `failed`.

---

## Hardware tiers

| Tier | GPU memory | Best for |
|------|-----------|----------|
| `fleet:cpu` | CPU only | Testing, tiny models |
| `fleet:micro` | 6–12 GB | Small models, quick tests |
| `fleet:economy` | 16–20 GB | GPT-2, small Llama variants |
| `fleet:standard` | 24–32 GB | Most fine-tunes (default) |
| `fleet:pro` | 40–48 GB | Large models, longer context |
| `fleet:ultra` | 80 GB+ | Frontier models |
