Metadata-Version: 2.4
Name: sparkmind
Version: 1.0.0rc1
Summary: Unified Robot Skill Learning Framework
Author: Synria Robotics
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/Synria-Robotics/SparkMind
Project-URL: Repository, https://github.com/Synria-Robotics/SparkMind
Project-URL: Issues, https://github.com/Synria-Robotics/SparkMind/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <3.14,>=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: accelerate<2.0.0,>=1.10.0
Requires-Dist: av<16.0.0,>=15.0.0
Requires-Dist: datasets<5.0.0,>=4.0.0
Requires-Dist: deepdiff<9.0.0,>=7.0.1
Requires-Dist: diffusers<0.36.0,>=0.27.2
Requires-Dist: draccus==0.10.0
Requires-Dist: einops<0.9.0,>=0.8.0
Requires-Dist: gymnasium<2.0.0,>=1.1.1
Requires-Dist: h5py>=3.1.0
Requires-Dist: huggingface-hub<2.0.0,>=1.0.0
Requires-Dist: hydra-core>=1.3.0
Requires-Dist: imageio[ffmpeg]<3.0.0,>=2.34.0
Requires-Dist: jsonlines<5.0.0,>=4.0.0
Requires-Dist: matplotlib>=3.3.0
Requires-Dist: numpy<2.3.0,>=2.0.0
Requires-Dist: num2words<1.0.0,>=0.5.14
Requires-Dist: opencv-python-headless<4.14.0,>=4.9.0
Requires-Dist: omegaconf>=2.3.0
Requires-Dist: packaging<26.0,>=24.2
Requires-Dist: pyserial>=3.5
Requires-Dist: requests>=2.31.0
Requires-Dist: rerun-sdk<0.27.0,>=0.24.0
Requires-Dist: PyYAML>=6.0.0
Requires-Dist: safetensors<1.0.0,>=0.4.3
Requires-Dist: scipy>=1.10.0
Requires-Dist: shutup>=0.2.0
Requires-Dist: tensorboard>=2.0.0
Requires-Dist: termcolor<4.0.0,>=2.4.0
Requires-Dist: torch<2.11.0,>=2.2.1
Requires-Dist: torchvision<0.26.0,>=0.21.0
Requires-Dist: lerobot[smolvla]==0.5.1
Requires-Dist: transformers==5.3.0
Requires-Dist: tqdm>=4.66.0
Requires-Dist: wandb<0.25.0,>=0.24.0
Provides-Extra: aloha
Requires-Dist: gym-aloha<0.2.0,>=0.1.2; extra == "aloha"
Requires-Dist: scipy<2.0.0,>=1.14.0; extra == "aloha"
Provides-Extra: pusht
Requires-Dist: gym-pusht<0.2.0,>=0.1.5; extra == "pusht"
Requires-Dist: pymunk<7.0.0,>=6.6.0; extra == "pusht"
Provides-Extra: libero
Requires-Dist: hf-libero<0.2.0,>=0.1.3; sys_platform == "linux" and extra == "libero"
Requires-Dist: scipy<2.0.0,>=1.14.0; extra == "libero"
Provides-Extra: metaworld
Requires-Dist: metaworld==3.0.0; extra == "metaworld"
Requires-Dist: scipy<2.0.0,>=1.14.0; extra == "metaworld"
Provides-Extra: envs
Requires-Dist: gym-aloha<0.2.0,>=0.1.2; extra == "envs"
Requires-Dist: gym-pusht<0.2.0,>=0.1.5; extra == "envs"
Requires-Dist: pymunk<7.0.0,>=6.6.0; extra == "envs"
Requires-Dist: hf-libero<0.2.0,>=0.1.3; sys_platform == "linux" and extra == "envs"
Requires-Dist: metaworld==3.0.0; extra == "envs"
Provides-Extra: dev
Requires-Dist: pytest>=8.1.0; extra == "dev"
Requires-Dist: pre-commit<5.0.0,>=3.7.0; extra == "dev"
Requires-Dist: debugpy<1.9.0,>=1.8.1; extra == "dev"
Requires-Dist: mypy>=1.19.1; extra == "dev"
Provides-Extra: xvla
Requires-Dist: lerobot[xvla]==0.5.1; extra == "xvla"
Provides-Extra: pi
Requires-Dist: lerobot[pi]==0.5.1; extra == "pi"
Requires-Dist: sentencepiece>=0.1.99; extra == "pi"
Requires-Dist: tiktoken>=0.6.0; extra == "pi"
Provides-Extra: groot
Requires-Dist: lerobot[groot]==0.5.1; extra == "groot"
Requires-Dist: peft<1.0.0,>=0.18.0; extra == "groot"
Requires-Dist: dm-tree<1.0.0,>=0.1.8; extra == "groot"
Requires-Dist: timm<1.1.0,>=1.0.0; extra == "groot"
Requires-Dist: Pillow<13.0.0,>=10.0.0; extra == "groot"
Requires-Dist: ninja<2.0.0,>=1.11.1; extra == "groot"
Requires-Dist: flash-attn<3.0.0,>=2.5.9; sys_platform != "darwin" and extra == "groot"
Provides-Extra: wallx
Requires-Dist: lerobot[wallx]==0.5.1; extra == "wallx"
Requires-Dist: peft<1.0.0,>=0.18.0; extra == "wallx"
Requires-Dist: scipy<2.0.0,>=1.14.0; extra == "wallx"
Requires-Dist: torchdiffeq<0.3.0,>=0.2.4; extra == "wallx"
Requires-Dist: qwen-vl-utils<0.1.0,>=0.0.11; extra == "wallx"
Provides-Extra: vla-policies
Requires-Dist: lerobot[pi,wallx,xvla]==0.5.1; extra == "vla-policies"
Requires-Dist: scipy<2.0.0,>=1.14.0; extra == "vla-policies"
Requires-Dist: sentencepiece>=0.1.99; extra == "vla-policies"
Requires-Dist: tiktoken>=0.6.0; extra == "vla-policies"
Requires-Dist: peft<1.0.0,>=0.18.0; extra == "vla-policies"
Requires-Dist: torchdiffeq<0.3.0,>=0.2.4; extra == "vla-policies"
Requires-Dist: qwen-vl-utils<0.1.0,>=0.0.11; extra == "vla-policies"
Provides-Extra: all
Requires-Dist: gym-aloha<0.2.0,>=0.1.2; extra == "all"
Requires-Dist: gym-pusht<0.2.0,>=0.1.5; extra == "all"
Requires-Dist: pymunk<7.0.0,>=6.6.0; extra == "all"
Requires-Dist: hf-libero<0.2.0,>=0.1.3; sys_platform == "linux" and extra == "all"
Requires-Dist: metaworld==3.0.0; extra == "all"
Requires-Dist: pytest>=8.1.0; extra == "all"
Requires-Dist: pre-commit<5.0.0,>=3.7.0; extra == "all"
Requires-Dist: debugpy<1.9.0,>=1.8.1; extra == "all"
Requires-Dist: mypy>=1.19.1; extra == "all"
Requires-Dist: lerobot[pi,wallx,xvla]==0.5.1; extra == "all"
Requires-Dist: scipy<2.0.0,>=1.14.0; extra == "all"
Requires-Dist: sentencepiece>=0.1.99; extra == "all"
Requires-Dist: tiktoken>=0.6.0; extra == "all"
Requires-Dist: peft<1.0.0,>=0.18.0; extra == "all"
Requires-Dist: torchdiffeq<0.3.0,>=0.2.4; extra == "all"
Requires-Dist: qwen-vl-utils<0.1.0,>=0.0.11; extra == "all"
Dynamic: license-file

![SparkMind logo](./imgs/logo.png)

# SparkMind

Unified robot skill learning on top of **Hydra**, **LeRobot**, and (for RL) **Isaac Gym / RofuncRL**-style stacks. Training scripts live under [`examples/`](examples/).

---

## Supported algorithms

<table>
<thead>
<tr>
<th align="left">Area</th>
<th align="left">Algorithm / model</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2" valign="top"><strong>IL</strong><br><small>imitation learning</small></td>
<td><a href="examples/learning_il/01a_demo_ACT.py"><strong>ACT</strong> (Action Chunking Transformer)</a></td>
</tr>
<tr>
<td><a href="examples/learning_il/02_demo_DP.py"><strong>Diffusion policy</strong></a></td>
</tr>
<tr>
<td rowspan="4" valign="top"><strong>RL</strong><br><small>reinforcement learning</small></td>
<td><a href="examples/learning_rl/01_demo_HumanoidAMP.py"><strong>Humanoid AMP</strong> (RofuncRL, Isaac Gym)</a></td>
</tr>
<tr>
<td><a href="examples/learning_rl/02a_demo_HumanoidHOTU.py"><strong>HOTU</strong> (skill transfer, RofuncRL)</a></td>
</tr>
<tr>
<td><a href="examples/learning_rl/02b_demo_HumanoidHOTU_ViewMotion.py">HOTU (view / motion)</a></td>
</tr>
<tr>
<td><a href="examples/learning_rl/03_demo_HumanGPT_RofuncRL.py"><strong>HumanGPT</strong> (humanoid imitation, RofuncRL)</a></td>
</tr>
<tr>
<td rowspan="6" valign="top"><strong>VLA</strong><br><small>vision–language–action</small></td>
<td><a href="examples/learning_vla/01_demo_SmolVLA.py"><strong>SmolVLA</strong></a></td>
</tr>
<tr>
<td><a href="examples/learning_vla/02_demo_XVLA.py"><strong>XVLA</strong></a></td>
</tr>
<tr>
<td><a href="examples/learning_vla/03_demo_PI0.py"><strong>π₀ (PI0)</strong></a></td>
</tr>
<tr>
<td><a href="examples/learning_vla/04_demo_PI05.py"><strong>π₀.₅ (PI05)</strong></a></td>
</tr>
<tr>
<td><a href="examples/learning_vla/05_demo_Groot.py"><strong>GR00T</strong></a></td>
</tr>
<tr>
<td><a href="examples/learning_vla/06_demo_WallX.py"><strong>Wall-X</strong></a></td>
</tr>
</tbody>
</table>

---

## Installation

**Requirements:** Python **3.12**, `pip`, and a clone of this repository.

```bash
cd /path/to/SparkMind
# pip install -e . 
pip install -e ".[all]" # install all extras
```

Optional simulation suites and VLA policy extras (e.g. `envs`, `pi`, `xvla`, `all`) are documented here:

**[docs/Installation.md](docs/Installation.md)**

Docker build and runtime usage for the current IL / VLA image is documented here:

**[docs/DOCKER_USAGE_ZH.md](docs/DOCKER_USAGE_ZH.md)**
