A beautiful, modern desktop application for managing LeRobot datasets on macOS, Linux, and Windows.
- Data Conversion - Convert datasets from OpenX, AgiBot-World, RoboMIND, LIBERO to LeRobot format
- Dataset Merging - Combine multiple LeRobot datasets with configurable parameters
- Version Conversion - Upgrade/downgrade between LeRobot versions (v1.6 ↔ v2.0 ↔ v2.1 ↔ v3.0)
- Job Management - Real-time job monitoring with logs and cancel support
The main dashboard with job statistics, quick actions, and real-time job monitoring.
Convert datasets from OpenX, AgiBot, RoboMIND, LIBERO to LeRobot format with configurable options.
Merge, filter, and sample datasets with customizable parameters.
Upgrade or downgrade between LeRobot versions (v1.6 ↔ v2.0 ↔ v2.1 ↔ v3.0).
Configure Python path, backend location, and Hugging Face integration.
- macOS (Apple Silicon or Intel), Linux (Ubuntu 20.04+), or Windows (10/11)
- Flutter 3.38+
- Python 3.10+ with virtual environment
- Xcode command line tools:
xcode-select --install - CocoaPods:
gem install cocoapods
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev- Visual Studio 2022 with "Desktop development with C++" workload
- Windows 10 SDK
# Clone with submodules
git clone --recursive <repo-url>
cd Any4LeRobotGUI
# Or if already cloned, initialize submodule:
git submodule update --init --recursive
# Setup Python virtual environment
python3 -m venv backend/.venv
# Activate virtual environment
# macOS/Linux:
source backend/.venv/bin/activate
# Windows (PowerShell):
# backend\.venv\Scripts\Activate.ps1
pip install numpy lerobot huggingface_hub tqdm pillow torch# Update backend to latest from any4lerobot repo
git submodule update --remote backend
git add backend
git commit -m "Update backend to latest"# macOS (may need: PATH=/opt/homebrew/opt/ruby/bin:$PATH)
flutter run -d macos
# Linux
flutter run -d linux
# Windows
flutter run -d windows.
├── lib/ # Flutter source code (2,829 lines)
│ ├── main.dart # App entry, theme, navigation
│ ├── services/
│ │ ├── settings_service.dart # Persistent settings & backend detection
│ │ └── process_manager.dart # Python subprocess execution
│ └── screens/
│ ├── home_screen.dart # Dashboard with job list
│ ├── data_conversion/ # OpenX, AgiBot, etc. conversion
│ ├── preprocessing/ # Merge, filter, sample datasets
│ ├── version_convert/ # LeRobot version conversion
│ └── settings/ # App configuration
├── backend/ # any4lerobot Python scripts (submodule)
│ ├── openx2lerobot/
│ ├── agibot2lerobot/
│ ├── robomind2lerobot/
│ ├── libero2lerobot/
│ ├── lerobot2rlds/
│ ├── dataset_merging/
│ └── ds_version_convert/
├── assets/ # App assets
│ └── icon.png # App icon source
├── macos/ # macOS platform files
├── linux/ # Linux platform files
├── windows/ # Windows platform files
└── .github/workflows/ # CI/CD pipelines
└── release.yml # Multi-platform build & release
On first launch:
- The app auto-detects the bundled
backend/directory - Settings can be customized in the Settings screen
- Python venv path is automatically used:
backend/.venv/bin/python
- Select conversion type (e.g., OpenX → LeRobot)
- Choose input/output directories
- Configure options (videos, push to hub)
- Click Start Conversion
- Go to Preprocessing → Merge
- Add multiple source datasets
- Set parameters (state/action dims, FPS)
- Click Start Merge
- Select version path (e.g., v2.1 → v3.0)
- Choose dataset directory
- Click Start Conversion
provider- State managementfile_picker- Directory selectionshared_preferences- Persistent settingsflutter_animate- UI animations
lerobot- Dataset formatnumpy,torch- Computationhuggingface_hub- Hub integrationtensorflow(optional) - For OpenX conversion
# If CocoaPods is broken due to Ruby version conflicts:
PATH=/opt/homebrew/opt/ruby/bin:$PATH pod install
PATH=/opt/homebrew/opt/ruby/bin:$PATH flutter run -d macos# Activate venv and install missing packages:
source backend/.venv/bin/activate
pip install <missing-package>MIT License - See LICENSE file for details.
- Backend: any4lerobot by Tavish9
- UI Framework: Flutter with Cupertino design




