# Import a dataset from Hugging Face

> Bring a LeRobot dataset from the Hugging Face Hub onto this hub in one command, and read its episodes.

Prompt for your AI: Read https://mousemouse.ai/docs/import-from-hugging-face.md first. Import a LeRobot dataset from Hugging Face onto the hub for me, and tell me what the plan says before you confirm it. Ask me before anything that costs money or moves a robot.

A LeRobot dataset on the [Hugging Face Hub](https://huggingface.co/datasets?other=LeRobot)
comes onto this hub in one command. The command runs on your computer: the
files go from Hugging Face to your machine, then to the hub. Once it lands, the
dataset's Episodes tab plays each episode against its per-joint charts.

You need the `lucen` CLI and a key with the `write` scope. [Train on your own
machine](/docs/train-on-your-machine#start-a-runner) has the install and sign-in
lines.

## 1 · Get the command

Open [Upload a dataset](/datasets/new). Under **Or import from Hugging Face**,
type the dataset's id as it appears on Hugging Face, such as `lerobot/pusht`.
Add `@` and a branch, tag or commit to import a revision. The card writes the
command for you to copy.

## 2 · Run it

```bash
lucen datasets import hf://lerobot/pusht
```

It reads the dataset's description on Hugging Face first. Then it prints a plan:
the revision, the episodes, the cameras, the size and the licence. Answer `y` to
import it.

**You'll see:**

```
Import hf://lerobot/pusht @ 7628202a2180 (main) → you/pusht (private)
  LeRobotDataset v3.0 · 206 episodes · 25,650 frames · 10 fps · 1 camera (observation.image) · robot_type unknown
  8 file(s), 7.7 MB on the Hub · licence mit · README.md: the dataset's own
  Files go from Hugging Face to /Users/you/.cache/lucen/hf/lerobot/pusht/7628202a2180972f291ba1bc6723834921e72c19, then to the hub; bytes the hub already holds are not uploaded again.
Import it? [Y/n]: y
Created and imported hf://lerobot/pusht → you/pusht (private): 8 file(s), 8 uploaded (7.7 MB)
  LeRobotDataset v3.0 · 206 episodes · 25,650 frames · 10 fps · 1 camera (observation.image) · robot_type unknown; the hub reads its episodes.
  description set to the provenance.
https://mousemouse.ai/you/pusht?tab=episodes
```

The files reach your machine through Hugging Face's own client, so an
interrupted download resumes where it stopped. Bytes the hub already holds are
not uploaded again: run it twice and the second run uploads nothing. The new
repo is private, and its description records where it came from.

<details>
<summary>Options, a private dataset, a script</summary>

- `--to you/other-name` picks the repo, and `--revision` a branch or commit.
- `--public` publishes it once the hub has read its episodes back.
- `--yes` skips the question in a script, and `--json` prints the plan and the
  result as one object.
- A dataset that needs access on Hugging Face opens with your `HF_TOKEN`.
- Nothing runs on the hub itself. The import is your computer's job.

</details>

## 3 · Check it landed

```bash
lucen datasets ls --owner you
```

```
repo       kind     visibility  updated     description
you/pusht  dataset  private     2026-10-09  Imported from https://huggingface.co/datasets/ler…
```

Open the link the import printed. The **Episodes** tab lists the dataset's
episodes, each with its video and joint charts.

## What it refuses

The hub reads LeRobotDataset v2.0, v2.1 and v3.0. Anything else is refused
before a byte moves, with the reason. [Dataset format](/docs/dataset-format)
lists what the hub reads and what it leaves out.
