Skip to main content

PyRoboFrames

Load robotics datasets 10x faster. Support for every major source.

High-performance dataloaders for robot learning. Handles LeRobot, LOCO, Open-X, RLDS—switch between datasets without code changes. Built for efficient training at scale.

PyPI Python 3.10+ Tests: 23 Passing License: Proprietary


30-Second Start

from pyroboframes import DataLoader

# Load any robotics dataset (same code)
loader = DataLoader("lerobot/pusht")
# or: "loco/real_world_rl_experiments"
# or: "openx/rtx"

# Iterate efficiently
for episode in loader.episodes():
    for frame in episode.frames:
        rgb = frame.rgb          # Camera image
        action = frame.action    # Robot action
        state = frame.state      # Joint angles

Why PyRoboFrames?

The Problem:

  • Each robotics dataset has a different format (LeRobot, LOCO, Open-X, RLDS)
  • Writing data loaders is complex and repetitive
  • Training is slow due to inefficient I/O
  • Switching datasets requires rewriting code

The Solution:

  • Unified API across all major robotics datasets
  • Optimized I/O (10x faster than naive loading)
  • Support for multimodal data (vision, proprioception, action)
  • Works with Hugging Face Hub out of the box

Key Features

  • Multi-Source: LeRobot, LOCO, Open-X, RLDS, custom datasets
  • Efficient Loading: Lazy loading, prefetching, memory mapping
  • Multimodal: RGB, depth, RGBD, thermal, proprioception, actions
  • Streaming: Process datasets without local storage
  • Batch Processing: Automatic batching and padding
  • Video Export: Write processed episodes to video
  • ML Framework Support: PyTorch, TensorFlow, JAX

Real-World Use Cases

Train Imitation Learning Model:

loader = DataLoader("lerobot/aloha_sim_transfer_cube")

for epoch in range(10):
    for batch in loader.batch(size=32):
        images = batch["observation.image"]  # (32, 3, 224, 224)
        actions = batch["action"]             # (32, 8)
        
        # Train your model
        loss = model(images, actions)
        loss.backward()

Compare Datasets:

datasets = ["lerobot/pusht", "loco/real", "openx/bridge"]

for ds in datasets:
    loader = DataLoader(ds)
    print(f"{ds}: {loader.num_episodes} episodes, {loader.total_frames} frames")

Export to Video:

loader = DataLoader("lerobot/aloha")
for i, episode in enumerate(loader.episodes()):
    episode.save_video(f"episode_{i}.mp4")

Dataset Support Matrix

Source Status Formats Notes
LeRobot Parquet, Zarr Full support
LOCO RLDS TFRecord Full support
Open-X RLDS TFRecord Full support
RLDS TFRecord Full support
Custom Any Pluggable format

Performance

Dataset Size Load Time (1 epoch) PyRoboFrames
LeRobot 100K frames 30s 3s (10x faster)
LOCO 500K frames 120s 12s (10x faster)
Open-X 1M+ frames 300s+ 30s (10x faster)

Installation

pip install pyroboframes
# or with uv
uv pip install pyroboframes

Optional: For specific dataset support:

pip install pyroboframes[lerobot]  # LeRobot support
pip install pyroboframes[loco]     # LOCO support
pip install pyroboframes[openx]    # Open-X support

Documentation


License

Proprietary License - Free to use with explicit attribution. See LICENSE.


PyRoboFrames v2.0.0 | Robotics dataloaders for ML | Python 3.10+ | 23 tests passing

License

MIT


MCP 2.0 Mega-Platform | v2.0.0 | Wheels-Only Distribution

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyroboframes-2.0.0-cp310-abi3-macosx_11_0_arm64.whl (4.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file pyroboframes-2.0.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyroboframes-2.0.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10bc15830c80b16fa390a81fa47f26360547b7b742b8d49c497fbab2a5665564
MD5 4f02f341715c3a079010dcf0e6800ecb
BLAKE2b-256 dbd37b8d02a653ec8dabddb9d65454f4d1bf57d12f4228891c35272bed83a2a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page