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

# Databricks Volume

> Set up the Databricks Unity Catalog volume resource in Python.

## Dependencies

```bash theme={null}
uv add 'mirage-ai[databricks]'
```

For credential setup, see the [Databricks Volume Setup](/home/setup/databricks)
guide.

## Configuration

### Databricks Apps or SDK-default auth

```python theme={null}
from mirage import Workspace, MountMode
from mirage.resource.databricks_volume import (
    DatabricksVolumeConfig,
    DatabricksVolumeResource,
)

config = DatabricksVolumeConfig(
    catalog="main",
    schema="default",
    volume="agent_files",
)
resource = DatabricksVolumeResource(config=config)
ws = Workspace({"/dbx/": resource}, mode=MountMode.READ)
```

### Explicit host and token

```python theme={null}
import os

config = DatabricksVolumeConfig(
    catalog="main",
    schema="default",
    volume="agent_files",
    host=os.environ["DATABRICKS_HOST"],
    token=os.environ["DATABRICKS_TOKEN"],
    root_path="/reports",
)
resource = DatabricksVolumeResource(config=config)
ws = Workspace({"/dbx/": resource}, mode=MountMode.READ)
```

### Profile-based auth

```python theme={null}
config = DatabricksVolumeConfig(
    catalog="main",
    schema="default",
    volume="agent_files",
    profile="DEV",
)
resource = DatabricksVolumeResource(config=config)
ws = Workspace({"/dbx/": resource}, mode=MountMode.READ)
```

## Config Reference

| Field       | Required | Default | Description                                              |
| ----------- | -------- | ------- | -------------------------------------------------------- |
| `catalog`   | Yes      |         | Unity Catalog catalog name.                              |
| `schema`    | Yes      |         | Unity Catalog schema name.                               |
| `volume`    | Yes      |         | Unity Catalog volume name.                               |
| `root_path` | No       | `/`     | Subdirectory inside the volume to expose.                |
| `host`      | No       |         | Databricks workspace host.                               |
| `token`     | No       |         | Databricks personal access token. Redacted in snapshots. |
| `profile`   | No       |         | Databricks SDK profile name.                             |
| `timeout`   | No       | `30`    | Request timeout in seconds.                              |

## Notes

* Supports both read and write mount modes (`MountMode.READ` / `MountMode.WRITE`).
* Auth falls through to the Databricks SDK defaults when `host`, `token`, and `profile` are omitted.
* `root_path` is normalized and cannot contain `..`.
