Metadata-Version: 2.1
Name: dexsuite
Version: 0.1.4
Summary: DexSuite: a robotics simulation suite built on Genesis.
License: UNKNOWN
Platform: UNKNOWN
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: torch
Requires-Dist: genesis-world ==0.3.3
Requires-Dist: pynput
Requires-Dist: pyyaml
Requires-Dist: cattrs
Requires-Dist: gymnasium
Requires-Dist: numpy
Provides-Extra: datasets
Requires-Dist: h5py ; extra == 'datasets'
Provides-Extra: devices
Requires-Dist: openvr ; extra == 'devices'
Requires-Dist: websockets ; extra == 'devices'
Requires-Dist: hidapi ; (platform_system != "Linux") and extra == 'devices'
Requires-Dist: evdev ; (platform_system == "Linux") and extra == 'devices'
Provides-Extra: manus
Requires-Dist: websockets ; extra == 'manus'
Provides-Extra: spacemouse
Requires-Dist: hidapi ; (platform_system != "Linux") and extra == 'spacemouse'
Requires-Dist: evdev ; (platform_system == "Linux") and extra == 'spacemouse'
Provides-Extra: vive
Requires-Dist: openvr ; extra == 'vive'

# DexSuite: A Modular Framework for Dexterous Manipulation

**DexSuite** is a powerful, modular, and easy-to-use robot learning framework designed for complex robotic dexterous manipulation tasks.

[![PyPI - Version](https://img.shields.io/pypi/v/dexsuite)](https://pypi.org/project/dexsuite/)
[![GitHub Issues](https://img.shields.io/github/issues/anashoussaini/Dexsuite)](https://github.com/anashoussaini/Dexsuite/issues)
[![GitHub Discussions](https://img.shields.io/github/discussions/anashoussaini/Dexsuite)](https://github.com/anashoussaini/Dexsuite/discussions)


![DexSuite Banner](docs/images/concept.png)


## Key Features

* **Modular Robot API**: Easily define and swap manipulators, grippers, and controllers to create custom robot configurations for your research.
* **Bimanual & Single-Arm Support**: Built from the ground up to support both single-arm and challenging bimanual coordination tasks.
* **Diverse & Challenging Task Suite**: An expanding collection of benchmarks, from foundational skills like `stack` and `reach` to complex, long-horizon challenges such as `pick_and_place_pan` and `fold_shirt`.
* **Massively Parallel Environments**: Featuring highly-efficient, GPU-accelerated environments for rapid, large-scale reinforcement learning and policy training.
* **Flexible Teleoperation**: Built-in support for multiple teleoperation devices, allowing for intuitive human-in-the-loop control and data collection for imitation learning.
* **High-Fidelity Simulation**: Powered by **Genesis**, enabling realistic physics and interactions for robust sim-to-real transfer.


![DexSuite Banner](docs/images/overview.png)


## Quick Installation

Get started with DexSuite by installing the latest version from PyPI.

```bash
pip install dexsuite
```

For the latest development version, clone this repository and install it in editable mode:

```bash
git clone https://github.com/dexsuiteorg/dexsuite.git
cd dexsuite
pip install -e .
```

-----

## Getting Started

Creating and interacting with a DexSuite environment is simple. Here’s a quick example of how to load the `stack` task with a Franka robot.

```python
import dexsuite as ds
import gymnasium as gym

env = ds.make(
    "stack",
    manipulator="franka",
    gripper="robotiq",
    render_mode="human" # Use "rgb_array" for headless rendering
)

# Standard Gymnasium API loop
obs, info = env.reset()
for _ in range(1000):
    action = env.action_space.sample()  # Your agent's action here
    obs, reward, terminated, truncated, info = env.step(action)

    if terminated or truncated:
        obs, info = env.reset()

env.close()
```

-----

## Resources & Documentation

* **Official Website**: [dexsuiteorg.github.io](https://dexsuiteorg.github.io)
* **Full Documentation**: [dexsuite.readthedocs.io](https://dexsuite.readthedocs.io)
* **Report an Issue**: Found a bug or have a feature request? Open an [issue](https://github.com/dexsuiteorg/dexsuite/issues).

## Contributing

We welcome contributions from the community\! If you'd like to contribute, please fork the repository and submit a pull request. Check out our `CONTRIBUTING.md` file for more details on how to get started.
