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

# Quickstart

> Install vpod and start your first sandbox.

## CLI

### Install

<CodeGroup>
  ```bash macOS / Linux theme={null}
  curl -fsSL https://install.vpod.sh | sh
  ```

  ```powershell Windows (PowerShell) theme={null}
  irm https://install.vpod.sh | iex
  ```

  ```bash Cargo theme={null}
  cargo install vpod
  ```
</CodeGroup>

### Start a shell

```bash theme={null}
# Pull a snapshot
vpod pull alpine:latest

# Start an interactive shell
vpod
```

This opens an isolated Linux shell running inside WebAssembly. See the [CLI reference](/cli/reference) for all commands and options.

## Python SDK

### Install

```bash theme={null}
pip install vpod
```

### Run your first sandbox

```python theme={null}
from vpod import Sandbox

# Run a command
sandbox = Sandbox.create()
result = sandbox.commands.run("whoami")
print(result.stdout)  # root
sandbox.close()
```

<Info>
  The first call to `Sandbox.create()` downloads the default snapshot (`alpine`) and caches it locally if not already present.
</Info>

### Persistent sessions

State is preserved across calls within the same sandbox:

```python theme={null}
# Shell session — env vars persist
with Sandbox.create() as sandbox:
    sandbox.commands.run("export API_KEY=secret")
    result = sandbox.commands.run("echo $API_KEY")
    print(result.stdout)  # secret

# Python REPL — variables persist
with Sandbox.create() as sandbox:
    sandbox.code.run("import requests")
    sandbox.code.run("data = [1, 2, 3]")
    result = sandbox.code.run("print(sum(data))")
    print(result.text)  # 6
```

## Next steps

<CardGroup cols={2}>
  <Card title="Sandbox API" icon="cube" href="/sdk/sandbox">
    Full reference for the Sandbox class and its parameters.
  </Card>

  <Card title="Snapshots" icon="camera" href="/sdk/snapshots">
    Available snapshots and the snapshot API.
  </Card>

  <Card title="Suspend & resume" icon="pause" href="/sdk/suspend-resume">
    Pause a sandbox to disk and pick it up later.
  </Card>

  <Card title="CLI reference" icon="terminal" href="/cli/reference">
    All CLI commands and options.
  </Card>
</CardGroup>
