Metadata-Version: 2.5
Name: srb
Version: 0.1.0
Summary: Robot Learning Beyond Earth
Project-URL: Repository, https://github.com/AndrejOrsula/space_robotics_bench
Project-URL: Documentation, https://AndrejOrsula.github.io/space_robotics_bench
Author-email: Andrej Orsula <orsula.andrej@gmail.com>
Maintainer-email: Andrej Orsula <orsula.andrej@gmail.com>
License: MIT OR Apache-2.0
License-File: LICENSE-APACHE
License-File: LICENSE-MIT
Keywords: benchmark,robotics,simulation,space
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Rust
Requires-Python: ==3.12.*
Requires-Dist: fast-simplification<1.0,>=0.1
Requires-Dist: filelock<5.0,>=3.13
Requires-Dist: gymnasium~=1.2
Requires-Dist: imageio>=2.30
Requires-Dist: jinja2>=3.1
Requires-Dist: numpy<3.0,>=1.26
Requires-Dist: orjson~=3.10
Requires-Dist: oxidasim==0.1.0
Requires-Dist: pillow<12.0,>=10.0
Requires-Dist: psutil<8.0,>=5.9
Requires-Dist: pydantic~=2.0
Requires-Dist: pyproj<4.0,>=3.6
Requires-Dist: pyyaml~=6.0
Requires-Dist: rasterio<2.0,>=1.3
Requires-Dist: requests<3.0,>=2.31
Requires-Dist: rerun-sdk<1.0,>=0.20
Requires-Dist: scipy<2.0,>=1.10
Requires-Dist: setproctitle<2,>=1.3
Requires-Dist: simforge[assets]==0.4.0
Requires-Dist: trimesh<6.0,>=4.0
Requires-Dist: usd-core<27.0,>=24.0
Provides-Extra: algo
Requires-Dist: jax<0.5.1,~=0.4; extra == 'algo'
Requires-Dist: pandas; extra == 'algo'
Requires-Dist: rl-zoo3~=2.9; extra == 'algo'
Requires-Dist: rsl-rl-lib==5.5.1; extra == 'algo'
Requires-Dist: sb3-contrib~=2.9; extra == 'algo'
Requires-Dist: sbx-rl~=0.28; extra == 'algo'
Requires-Dist: skrl~=2.1; extra == 'algo'
Requires-Dist: stable-baselines3~=2.9; extra == 'algo'
Requires-Dist: tensordict==0.14.2; extra == 'algo'
Requires-Dist: tensorflow<2.21; extra == 'algo'
Requires-Dist: termcolor; extra == 'algo'
Requires-Dist: tf-keras~=2.0; extra == 'algo'
Requires-Dist: torch==2.12.0; extra == 'algo'
Requires-Dist: torchrl==0.14.0; extra == 'algo'
Provides-Extra: all
Requires-Dist: argcomplete~=3.0; extra == 'all'
Requires-Dist: h5py<4.0,>=3.10; extra == 'all'
Requires-Dist: huggingface-hub<2.0,>=0.23.4; extra == 'all'
Requires-Dist: hydra-core~=1.0; extra == 'all'
Requires-Dist: hypothesis>=6.0; extra == 'all'
Requires-Dist: jax<0.5.1,~=0.4; extra == 'all'
Requires-Dist: logfire<6,>=4; extra == 'all'
Requires-Dist: matplotlib~=3.10; extra == 'all'
Requires-Dist: moviepy<3.0,>=2.0; extra == 'all'
Requires-Dist: mypy<3,>=1; extra == 'all'
Requires-Dist: numcodecs; extra == 'all'
Requires-Dist: omegaconf~=2.0; extra == 'all'
Requires-Dist: optuna<5,>=4.6; extra == 'all'
Requires-Dist: pandas; extra == 'all'
Requires-Dist: pandas<3.0,>=2.0; extra == 'all'
Requires-Dist: ptpython~=3.0; extra == 'all'
Requires-Dist: pyarrow<30.0,>=15.0; extra == 'all'
Requires-Dist: pyspacemouse~=1.0; extra == 'all'
Requires-Dist: pytest-order~=1.0; extra == 'all'
Requires-Dist: pytest-sugar~=1.0; extra == 'all'
Requires-Dist: pytest~=9.0; extra == 'all'
Requires-Dist: requests-mock~=1.12; extra == 'all'
Requires-Dist: rich<16,>=14; extra == 'all'
Requires-Dist: rl-zoo3~=2.9; extra == 'all'
Requires-Dist: rsl-rl-lib==5.5.1; extra == 'all'
Requires-Dist: ruff==0.16.10; extra == 'all'
Requires-Dist: sb3-contrib~=2.9; extra == 'all'
Requires-Dist: sbx-rl~=0.28; extra == 'all'
Requires-Dist: seaborn~=0.13; extra == 'all'
Requires-Dist: skrl~=2.1; extra == 'all'
Requires-Dist: spiceypy<9,>=6; extra == 'all'
Requires-Dist: stable-baselines3~=2.9; extra == 'all'
Requires-Dist: tensorboard~=2.0; extra == 'all'
Requires-Dist: tensordict==0.14.2; extra == 'all'
Requires-Dist: tensorflow<2.21; extra == 'all'
Requires-Dist: termcolor; extra == 'all'
Requires-Dist: tf-keras~=2.0; extra == 'all'
Requires-Dist: torch==2.12.0; extra == 'all'
Requires-Dist: torchrl==0.14.0; extra == 'all'
Requires-Dist: types-psutil~=7.0; extra == 'all'
Requires-Dist: types-pyyaml~=6.0; extra == 'all'
Requires-Dist: types-requests~=2.31; extra == 'all'
Requires-Dist: wandb==0.30.0; extra == 'all'
Requires-Dist: zarr<4,>=2.16; extra == 'all'
Provides-Extra: cli
Requires-Dist: argcomplete~=3.0; extra == 'cli'
Requires-Dist: hydra-core~=1.0; extra == 'cli'
Requires-Dist: moviepy<3.0,>=2.0; extra == 'cli'
Requires-Dist: omegaconf~=2.0; extra == 'cli'
Requires-Dist: ptpython~=3.0; extra == 'cli'
Requires-Dist: rich<16,>=14; extra == 'cli'
Provides-Extra: data
Requires-Dist: h5py<4.0,>=3.10; extra == 'data'
Requires-Dist: huggingface-hub<2.0,>=0.23.4; extra == 'data'
Requires-Dist: pandas<3.0,>=2.0; extra == 'data'
Requires-Dist: pyarrow<30.0,>=15.0; extra == 'data'
Provides-Extra: dev
Requires-Dist: hypothesis>=6.0; extra == 'dev'
Requires-Dist: logfire<6,>=4; extra == 'dev'
Requires-Dist: matplotlib~=3.10; extra == 'dev'
Requires-Dist: mypy<3,>=1; extra == 'dev'
Requires-Dist: pytest-order~=1.0; extra == 'dev'
Requires-Dist: pytest-sugar~=1.0; extra == 'dev'
Requires-Dist: pytest~=9.0; extra == 'dev'
Requires-Dist: requests-mock~=1.12; extra == 'dev'
Requires-Dist: rich<16,>=14; extra == 'dev'
Requires-Dist: ruff==0.16.10; extra == 'dev'
Requires-Dist: seaborn~=0.13; extra == 'dev'
Requires-Dist: torch==2.12.0; extra == 'dev'
Requires-Dist: types-psutil~=7.0; extra == 'dev'
Requires-Dist: types-pyyaml~=6.0; extra == 'dev'
Requires-Dist: types-requests~=2.31; extra == 'dev'
Provides-Extra: dreamer
Requires-Dist: jax<0.5.1,~=0.4; extra == 'dreamer'
Requires-Dist: tensorflow<2.21; extra == 'dreamer'
Provides-Extra: event-hdf5-blosc
Requires-Dist: hdf5plugin<8.0,>=4.4; extra == 'event-hdf5-blosc'
Provides-Extra: event-metavision
Requires-Dist: h5py<4.0,>=3.10; extra == 'event-metavision'
Provides-Extra: event-reconstruction
Requires-Dist: h5py<4.0,>=3.10; extra == 'event-reconstruction'
Requires-Dist: lpips<1.0,>=0.1.4; extra == 'event-reconstruction'
Requires-Dist: opencv-python-headless<6.0,>=4.8; extra == 'event-reconstruction'
Requires-Dist: scipy<2.0,>=1.10; extra == 'event-reconstruction'
Requires-Dist: torch; extra == 'event-reconstruction'
Provides-Extra: event-ros
Requires-Dist: h5py<4.0,>=3.10; extra == 'event-ros'
Provides-Extra: event-v2ce
Requires-Dist: einops<1.0,>=0.6; extra == 'event-v2ce'
Requires-Dist: h5py<4.0,>=3.10; extra == 'event-v2ce'
Requires-Dist: opencv-python-headless<6.0,>=4.8; extra == 'event-v2ce'
Requires-Dist: torch; extra == 'event-v2ce'
Provides-Extra: event-v2e
Requires-Dist: h5py<4.0,>=3.10; extra == 'event-v2e'
Provides-Extra: hw
Requires-Dist: pyspacemouse~=1.0; extra == 'hw'
Provides-Extra: lint
Requires-Dist: ruff==0.16.10; extra == 'lint'
Provides-Extra: logging
Requires-Dist: tensorboard~=2.0; extra == 'logging'
Requires-Dist: wandb==0.30.0; extra == 'logging'
Provides-Extra: onnx
Requires-Dist: onnx<2.0,>=1.16; extra == 'onnx'
Provides-Extra: plots
Requires-Dist: matplotlib~=3.10; extra == 'plots'
Requires-Dist: seaborn~=0.13; extra == 'plots'
Requires-Dist: torch==2.12.0; extra == 'plots'
Provides-Extra: repl
Requires-Dist: ptpython~=3.0; extra == 'repl'
Provides-Extra: rich
Requires-Dist: rich<16,>=14; extra == 'rich'
Provides-Extra: robomimic
Provides-Extra: rsl-rl
Requires-Dist: rsl-rl-lib==5.5.1; extra == 'rsl-rl'
Provides-Extra: sb3
Requires-Dist: rl-zoo3~=2.9; extra == 'sb3'
Requires-Dist: sb3-contrib~=2.9; extra == 'sb3'
Requires-Dist: stable-baselines3~=2.9; extra == 'sb3'
Provides-Extra: sbx
Requires-Dist: sbx-rl~=0.28; extra == 'sbx'
Requires-Dist: tf-keras~=2.0; extra == 'sbx'
Provides-Extra: skrl
Requires-Dist: skrl~=2.1; extra == 'skrl'
Provides-Extra: spacemouse
Requires-Dist: pyspacemouse~=1.0; extra == 'spacemouse'
Provides-Extra: spice
Requires-Dist: numcodecs; extra == 'spice'
Requires-Dist: spiceypy<9,>=6; extra == 'spice'
Requires-Dist: zarr<4,>=2.16; extra == 'spice'
Provides-Extra: tdmpc2
Requires-Dist: pandas; extra == 'tdmpc2'
Requires-Dist: tensordict==0.14.2; extra == 'tdmpc2'
Requires-Dist: termcolor; extra == 'tdmpc2'
Requires-Dist: torch==2.12.0; extra == 'tdmpc2'
Requires-Dist: torchrl==0.14.0; extra == 'tdmpc2'
Provides-Extra: tensorboard
Requires-Dist: tensorboard~=2.0; extra == 'tensorboard'
Provides-Extra: terrain-extras
Requires-Dist: imageio[freeimage]>=2.30; extra == 'terrain-extras'
Requires-Dist: pdr<2.0,>=1.0; extra == 'terrain-extras'
Requires-Dist: rtree<2.0,>=1.3; extra == 'terrain-extras'
Provides-Extra: test
Requires-Dist: hypothesis>=6.0; extra == 'test'
Requires-Dist: pytest-order~=1.0; extra == 'test'
Requires-Dist: pytest-sugar~=1.0; extra == 'test'
Requires-Dist: pytest~=9.0; extra == 'test'
Requires-Dist: requests-mock~=1.12; extra == 'test'
Provides-Extra: tracing
Requires-Dist: logfire<6,>=4; extra == 'tracing'
Requires-Dist: rich<16,>=14; extra == 'tracing'
Provides-Extra: tune
Requires-Dist: optuna<5,>=4.6; extra == 'tune'
Provides-Extra: tune-rdb
Requires-Dist: optuna<5,>=4.6; extra == 'tune-rdb'
Requires-Dist: psycopg2-binary<3,>=2.9; extra == 'tune-rdb'
Provides-Extra: typing
Requires-Dist: mypy<3,>=1; extra == 'typing'
Requires-Dist: types-psutil~=7.0; extra == 'typing'
Requires-Dist: types-pyyaml~=6.0; extra == 'typing'
Requires-Dist: types-requests~=2.31; extra == 'typing'
Provides-Extra: wandb
Requires-Dist: wandb==0.30.0; extra == 'wandb'
Description-Content-Type: text/markdown

<h1 align="center">Space Robotics Bench</h1>

<p align="center">
  <a href="https://AndrejOrsula.github.io/space_robotics_bench"><img alt="" src="https://github.com/user-attachments/assets/049289be-0c99-497b-be37-c4975d924524" width="100%"></a>
</p>

[![Discord](https://img.shields.io/badge/Discord-invite-5865F2?logo=discord)](https://discord.gg/p9gZAPWa65)
[![Rust](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/rust.yml/badge.svg)](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/rust.yml)
[![Python](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/python.yml/badge.svg)](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/python.yml)
[![Docker](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/docker.yml/badge.svg)](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/docker.yml)
[![Docs](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/docs.yml/badge.svg)](https://github.com/AndrejOrsula/space_robotics_bench/actions/workflows/docs.yml)

**Space Robotics Bench (SRB)** provides parallel, procedurally generated and domain-randomized simulation environments and tasks built on [Isaac Sim](https://developer.nvidia.com/isaac/sim) and [Isaac Lab](https://isaac-sim.github.io/IsaacLab), with a Gymnasium API and ROS 2 (including Space ROS) interfaces.

## Documentation

Start with the [SRB documentation](https://AndrejOrsula.github.io/space_robotics_bench): [System Requirements](https://andrejorsula.github.io/space_robotics_bench/getting_started/requirements.html) → [Installation](https://andrejorsula.github.io/space_robotics_bench/getting_started/install.html) → [Basic Usage](https://andrejorsula.github.io/space_robotics_bench/getting_started/basic_usage.html)

<div align="right">
<a href="https://AndrejOrsula.github.io/space_robotics_bench"><img alt="Documentation" src="https://github.com/user-attachments/assets/c8663796-3ef1-4ff7-860b-cf8080d0a07a" width="96" height="96"></a>
</div>

## License

This project is dual-licensed under [MIT](https://github.com/AndrejOrsula/space_robotics_bench/blob/main/LICENSE-MIT) or [Apache 2.0](https://github.com/AndrejOrsula/space_robotics_bench/blob/main/LICENSE-APACHE).

Repository-contributor assets and assets generated by [SimForge](https://github.com/AndrejOrsula/simforge) pipelines are licensed under [CC0 1.0 Universal](https://github.com/AndrejOrsula/srb_assets/blob/main/LICENSE-CC0). See [attributions](https://andrejorsula.github.io/space_robotics_bench/misc/attributions.html) for third-party resources.

[![CC0 1.0 Universal](https://licensebuttons.net/l/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0)
