Installation¶
We also support install SIMPLE using nix. The supported contract is:
check host prerequisites
enter the Nix dev shell
import
simpleas a Python library inside that shell
Supported Host Shape¶
The intended baseline is:
Linux
NVIDIA drivers already installed on the host
Ubuntu-style NVIDIA driver layouts or NixOS
/run/opengl-driver/...enough free disk for the CUDA closure and local caches
Install Steps¶
Clone the repo and initialize submodules:
git clone git@github.com:songlin/SIMPLE.git
cd SIMPLE
git submodule update --init --recursive
Install Nix if needed:
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --daemon
Run the host prerequisite check:
./scripts/nix/prereq-check.sh
Enter the dev shell:
nix --extra-experimental-features "nix-command flakes" develop
Check the install:
python -c "import simple; print(simple.__version__)"
Preferred Usage: Import The Library¶
Prefer using SIMPLE as a Python library from inside the dev shell:
import gymnasium as gym
import simple.envs as _
env = gym.make("simple/FrankaTabletopGrasp-v0", sim_mode="isaac", headless=True)
obs, info = env.reset()
obs, reward, terminated, truncated, info = env.step(env.action_space.sample())
env.close()
CLI commands such as eval and datagen are supported, but they are thin convenience wrappers. If another codebase integrates SIMPLE, it should usually import simple directly instead of launching subprocesses.
If you need to invoke nix directly from an uncertain shell, prefer:
env -u LD_LIBRARY_PATH nix --extra-experimental-features "nix-command flakes" develop
Build The Docs¶
make live
Then open http://127.0.0.1:8005 to read the documentation.
Optional Resource Downloads¶
Many scripts download extra data automatically when needed. If you want to pre-download the shared resources and data, run:
./scripts/download_data.sh
The structure of the data folder should look like:
data
├── assets
│ ├── graspnet
│ └── ...
├── robots
│ ├── robot_1
│ └── ...
├── scenes
└── vMaterials
└── ...
Optional Bootstrap Entry Points¶
Use these only when you need to run parts of the install explicitly:
./scripts/nix/bootstrap-python.sh
./scripts/nix/bootstrap-gpu.sh
./scripts/nix/bootstrap.sh