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

# Installation

> Install Mill and optional backend extras.

## Core install

Install the latest version straight from GitHub — no clone required:

```bash theme={null}
pip install "mill-eval @ git+https://github.com/haideraltahan/Mill.git"
```

For development (editable install with test/lint tooling), clone first:

```bash theme={null}
git clone https://github.com/haideraltahan/Mill
cd Mill
pip install -e ".[dev]"
```

The core package pulls in:

| Dependency              | Purpose                 |
| ----------------------- | ----------------------- |
| `torch >= 2.2`          | Tensor computation      |
| `transformers >= 4.40`  | HF model loading        |
| `datasets >= 2.18`      | HF dataset streaming    |
| `pandas + pyarrow`      | Feather output caching  |
| `pydantic >= 2.0`       | `ChatMessages` protocol |
| `pyyaml`                | SLURM cluster config    |
| `accelerate >= 0.26`    | Multi-GPU device maps   |
| `fire`                  | CLI routing             |
| `rich + prompt_toolkit` | Terminal UI             |

## Optional extras

Add the extras for the backends you need in the brackets (no clone required):

```bash theme={null}
# vLLM backend — fastest local inference
pip install "mill-eval[vllm] @ git+https://github.com/haideraltahan/Mill.git"

# LiteLLM backend — OpenAI, Anthropic, and 100+ API providers
pip install "mill-eval[litellm] @ git+https://github.com/haideraltahan/Mill.git"

# Vision backends — CLIP (open_clip) + timm   (or [clip] / [timm] individually)
pip install "mill-eval[vision] @ git+https://github.com/haideraltahan/Mill.git"

# Video decoding (decord)
pip install "mill-eval[video] @ git+https://github.com/haideraltahan/Mill.git"

# Audio tasks (librosa)
pip install "mill-eval[audio] @ git+https://github.com/haideraltahan/Mill.git"

# Code execution tasks (evaluate library)
pip install "mill-eval[code] @ git+https://github.com/haideraltahan/Mill.git"
```

You can combine extras:

```bash theme={null}
pip install "mill-eval[vllm,litellm,video] @ git+https://github.com/haideraltahan/Mill.git"
```

If you cloned the repo for development, the editable equivalent is `pip install -e ".[vllm]"`.

## Verify

```bash theme={null}
mill ls
```

If the TUI opens, your install is working.

## Environment variables

| Variable          | Default          | Description              |
| ----------------- | ---------------- | ------------------------ |
| `MILL_OUTPUT_DIR` | `./mill_results` | Default output directory |
| `MILL_CACHE_DIR`  | `~/.cache/mill`  | Config, SLURM jobs, logs |

These are overridden by the `--output_dir` and `--cache_dir` CLI flags.
