Metadata-Version: 2.5
Name: graspkit
Version: 0.1.0
Summary: GraspKit is an end-to-end toolkit for manipulation across robot grippers and dexterous hands.
Author-email: RoboKit Organization <jianglong.yeh@gmail.com>
License: MIT
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: beartype>=0.18
Requires-Dist: einops>=0.6
Requires-Dist: fpsample>=1.0.2
Requires-Dist: fsspec[s3]>=2023.1
Requires-Dist: gymnasium>=0.29.1
Requires-Dist: h5py>=3.11
Requires-Dist: huggingface-hub>=0.36
Requires-Dist: jaxtyping>=0.2.19
Requires-Dist: msgspec>=0.18
Requires-Dist: mujoco>=3.4
Requires-Dist: numpy>=1.24
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pytorch-kinematics>=0.7
Requires-Dist: robokit>=1.0.0rc1
Requires-Dist: tensorboard>=2.16
Requires-Dist: torch-geometric>=2.4
Requires-Dist: torch>=2.4
Requires-Dist: tyro>=0.9.24
Requires-Dist: universal-pathlib>=0.2
Requires-Dist: viser>=1.1
Requires-Dist: wandb>=0.17
Requires-Dist: warp-lang>=1.8
Requires-Dist: yourdfpy>=0.0.56
Provides-Extra: data-process
Requires-Dist: coacd>=1.0; extra == 'data-process'
Requires-Dist: fast-simplification>=0.1.7; extra == 'data-process'
Provides-Extra: maniskill
Requires-Dist: mani-skill==3.0.0b22; extra == 'maniskill'
Provides-Extra: rby1
Requires-Dist: open3d>=0.19; extra == 'rby1'
Requires-Dist: retargetingkit[rby1,realsense]>=0.1.0; extra == 'rby1'
Provides-Extra: sam2
Requires-Dist: sam-2>=1.0; extra == 'sam2'
Provides-Extra: spconv
Requires-Dist: spconv-cu126>=2.3.7; extra == 'spconv'
Provides-Extra: torchvision
Requires-Dist: torchvision>=0.19; extra == 'torchvision'
Provides-Extra: vega
Requires-Dist: open3d>=0.19; extra == 'vega'
Requires-Dist: pyzmq>=25; extra == 'vega'
Requires-Dist: retargetingkit[ability,dexmate,xarm]>=0.1.0; extra == 'vega'
Provides-Extra: xarm
Requires-Dist: open3d>=0.19; extra == 'xarm'
Requires-Dist: retargetingkit[ability,realsense,xarm]>=0.1.0; extra == 'xarm'
Description-Content-Type: text/markdown

<p align="center">
  <a href="https://openrobokit.com/graspkit/"><img src="https://raw.githubusercontent.com/openrobokit/graspkit/main/docs/assets/graspkit-banner.webp" alt="GraspKit" width="100%"></a>
</p>

<p align="center">
  <a href="https://github.com/openrobokit/graspkit/blob/main/pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%2B-blue" alt="Python 3.10+"></a>
  <a href="https://github.com/openrobokit/graspkit/actions/workflows/build.yaml"><img src="https://img.shields.io/badge/CI-GitHub_Actions-blue" alt="GitHub Actions"></a>
  <a href="https://github.com/openrobokit/graspkit/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
</p>

GraspKit is an end-to-end toolkit for manipulation across various robot embodiments, including grippers
and dexterous hands.
It synthesizes grasps, plans trajectories, trains policies, and deploys them
in simulation or on real robots; it is built on top of [RoboKit](https://openrobokit.com/robokit/).

## Quick links

- [Docs](https://github.com/openrobokit/graspkit/blob/main/docs/guide/overview.md)
- [Quickstart](https://github.com/openrobokit/graspkit/blob/main/docs/guide/quickstart.md)
- [Installation](https://github.com/openrobokit/graspkit/blob/main/docs/guide/installation.md)
- [Development](https://github.com/openrobokit/graspkit/blob/main/docs/dev.md)

## Installation

Requires Python 3.10–3.14 (the full pipeline with ManiSkill and spconv: 3.10–3.12):

```shell
uv add graspkit      # or: pip install graspkit
```

See [Installation](https://github.com/openrobokit/graspkit/blob/main/docs/guide/installation.md) for source installs, PyTorch options, and asset access.

## Features

<table width="100%">
  <tr>
    <td width="50%">
      <a href="https://github.com/openrobokit/graspkit/blob/main/docs/guide/grasp_optim.md"><img src="https://raw.githubusercontent.com/openrobokit/graspkit/main/docs/assets/features/grasp-optimization.webp" alt="1,024 dexterous grasps optimized in one GPU batch" width="100%"></a><br>
      <strong><a href="https://github.com/openrobokit/graspkit/blob/main/docs/guide/grasp_optim.md">Fast grasp optimization</a></strong>
    </td>
    <td width="50%">
      <a href="https://github.com/openrobokit/graspkit/blob/main/docs/guide/training.md"><img src="https://raw.githubusercontent.com/openrobokit/graspkit/main/docs/assets/features/policy-learning.webp" alt="Object point cloud mapped by a grasp generator to a hand grasp" width="100%"></a><br>
      <strong><a href="https://github.com/openrobokit/graspkit/blob/main/docs/guide/training.md">Policy learning</a></strong>
    </td>
  </tr>
  <tr>
    <td>
      <a href="https://github.com/openrobokit/graspkit/blob/main/docs/reference/robot_hands.md"><img src="https://raw.githubusercontent.com/openrobokit/graspkit/main/docs/assets/features/embodiments.webp" alt="Different arms with dexterous hands grasping the same object in simulation" width="100%"></a><br>
      <strong><a href="https://github.com/openrobokit/graspkit/blob/main/docs/reference/robot_hands.md">All arms, all hands</a></strong>
    </td>
    <td>
      <a href="https://github.com/openrobokit/graspkit/blob/main/docs/guide/real_deployment.md"><img src="https://raw.githubusercontent.com/openrobokit/graspkit/main/docs/assets/features/sim-to-real.webp" alt="Two real xArm robots with dexterous hands, diagonally split with their aligned simulation twin" width="100%"></a><br>
      <strong><a href="https://github.com/openrobokit/graspkit/blob/main/docs/guide/real_deployment.md">Real-world robustness</a></strong>
    </td>
  </tr>
</table>

Explore robot presets and optimized grasps in the [interactive gallery](https://github.com/openrobokit/graspkit/blob/main/docs/guide/quickstart.md#browse-grasps-in-the-gallery).

## How it works

For each scene, GraspKit optimizes and plans grasps on the GPU and renders the camera's point cloud.
A policy trained on these pairs maps point clouds to grasp trajectories, in simulation or on real robots.

| Stage | Role | Read more |
| --- | --- | --- |
| Grasp optimization | Generate grasps, plan motions, and optionally validate them in simulation. | [Grasp optimization](https://github.com/openrobokit/graspkit/blob/main/docs/guide/grasp_optim.md) |
| Rendering | Render point-cloud observations for the same scenes. | [Pipeline](https://github.com/openrobokit/graspkit/blob/main/docs/guide/pipeline.md) |
| Data processing | Join observations and grasps into policy training data. | [Pipeline](https://github.com/openrobokit/graspkit/blob/main/docs/guide/pipeline.md) |
| Training | Train a grasp policy on the processed data. | [Training](https://github.com/openrobokit/graspkit/blob/main/docs/guide/training.md) |
| Deployment | Run a trained policy in simulation or on a real robot. | [Sim](https://github.com/openrobokit/graspkit/blob/main/docs/guide/sim_deployment.md), [real](https://github.com/openrobokit/graspkit/blob/main/docs/guide/real_deployment.md) |

See the [core overview](https://github.com/openrobokit/graspkit/blob/main/docs/concepts/overview.md) for the full stage graph and artifacts.
