Skip to main content

smolvladataset

Simple, reliable loader for SmolVLA robotics datasets with built‑in train/val/test splits and caching.

This library accompanies the SmolVLA paper to help the community inspect how the training dataset is composed, rebuild it from source repositories, and customize the composition or split policy. It can either download a precompiled bundle from the Hugging Face Hub or rebuild locally from a CSV list of dataset repositories.

Features

  • Reproducible train/val/test splits (deterministic seed)
  • LeRobot‑compatible splits (LeRobotDataset interface)
  • Automatic download and local caching (Hugging Face Hub)
  • Optional precompiled dataset for fast startup
  • Efficient Parquet storage with light schema normalization

Installation

pip install smolvladataset
# or using uv
uv add smolvladataset

Requirements

  • Python 3.11+
  • Core deps: pandas, pyarrow, huggingface-hub, lerobot, datasets

Quick Start

from smolvladataset import SmolVLADataset

# Returns (train, val, test) as LeRobot‑compatible datasets
train, val, test = SmolVLADataset()
print(len(train), len(val), len(test))

# Access a row (dict of columns)
sample = train[0]

API

  • SmolVLADataset(csv_list=None, *, force_download=False, force_build=False, split_config=None)

    • Loads a precompiled bundle (default) or builds from a CSV of source repos and returns a tuple (train, val, test).
    • csv_list: Path to CSV whose first column lists HF dataset repo IDs (e.g. org/name). If omitted, a packaged default is used.
    • force_download: With a custom csv_list, rebuild from sources even if cached; otherwise re‑download the precompiled bundle.
    • force_build: Only when csv_list is omitted: build from the default list instead of downloading the precompiled bundle.
    • split_config: Optional SplitConfig(train=..., val=..., test=..., seed=...).
  • SplitConfig(train=0.8, val=0.1, test=0.1, seed=<int>)

    • Proportions must sum to 1.0. The seed controls deterministic shuffling.
    • If no split_config is provided, the default configuration matches the splits published on Hugging Face.

Advanced Usage

Custom Dataset List

# Use a CSV file with Hugging Face dataset repo IDs (a packaged default is used if omitted)
train, val, test = SmolVLADataset(csv_list="path/to/datasets.csv")

Custom Split Configuration

from smolvladataset import SmolVLADataset, SplitConfig

config = SplitConfig(train=0.7, val=0.15, test=0.15, seed=123)
train, val, test = SmolVLADataset(split_config=config)

Force Rebuild or Re‑download

# With a custom CSV, forces rebuild from sources
train, val, test = SmolVLADataset(csv_list="data/datasets.csv", force_download=True)

# With the default list, re‑download the precompiled bundle
train, val, test = SmolVLADataset(force_download=True)

# Build from default list instead of using the precompiled bundle
train, val, test = SmolVLADataset(force_build=True)

Cache Directory

Artifacts are cached under ~/.cache/smolvladataset/<hash>/ by default, where <hash> depends on the dataset list.

Dataset List Format

The library expects a CSV file whose first column contains Hugging Face dataset repository IDs:

dataset_repo_id
org/dataset-1
org/dataset-2

Lines beginning with # are ignored.

Cache Layout

  • merged.parquet — Combined dataset from all sources (includes a dataset column)
  • stats.parquet — Basic per‑source statistics
  • train.parquet, validation.parquet, test.parquet — Split files (optional, for HF viewer convenience)

See LICENSE for details.

Metadata

Release files for smolvladataset 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smolvladataset 0.1.1
File Size Uploaded
smolvladataset-0.1.1.tar.gz 18.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smolvladataset 0.1.1
File Interpreter ABI Platform
smolvladataset-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 35.8 kB

Release files / smolvladataset-0.1.1.tar.gz

Download URL smolvladataset-0.1.1.tar.gz
Size 18.0 kB
Tags Source
SHA-256 checksum
How to use checksums
858a4d6ddadd22d13908d3f33f242cf4a07d3d0f2875251b9bd5dd93ef733e99
BLAKE2b-256 checksum
How to use checksums
7b03f14a4c2a7049c6b919ca9a092ce5e13b08f1617301fcc91506d85b627f13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Release files / smolvladataset-0.1.1-py3-none-any.whl

Download URL smolvladataset-0.1.1-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d73fdfa3e98781a1b2e1eec7b3d4cc980980b7a8c142c0aabe02053bc28fc44
BLAKE2b-256 checksum
How to use checksums
cd5bb7c7f654563f5377ee88f9859649e9d1b18ec007db9ec48139ba5d4c508d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page