Skip to main content

Unified robot environment framework supporting multiple tensor and simulation backends

Project description

UniEnv

Framework unifying robot environments and data APIs. UniEnv provides an universal interface for robot actors, sensors, environments, and data.

Tensor library cross-backend Support

UniEnv supports multiple tensor backends with zero-copy translation layers through the DLPack protocol, and allows you to use the same abstract compute backend interface to write custom data transformation layers, environment wrappers and other utilities. This is powered by the XBArray package.

Universal Robot Environment Interface

UniEnv supports diverse simulation environments and real robots, built on top of the abstract environment / world interface. This allows you to reuse code across different sim and real robots.

Universal Robot Data Interface

UniEnv provides a universal data interface for accessing robot data through the abstract BatchBase interface. We also provide a utility ReplayBuffer for saving data from various environments with diverse data format support, including hdf5, memory-mapped torch tensors, and others.

Installation

Install the package with pip

pip install unienv

You can install optional dependencies such as gymnasium (for Gymnasium-compatible environments), dev, or video by running

pip install unienv[gymnasium,video]

Local Developments

Development Environment Setup

To perform development on your local machine, you need to clone the repository and install the package in editable mode.

git clone https://github.com/UniEnvOrg/UniEnv
cd UniEnv
pip install numpy
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu # You can choose to either install cpu version or cuda version, up to you
pip install jax # same for jax
python -m pip install pytest
python -m pip install tensordict h5py opencv-python
pip install -e .[dev,gymnasium,video]

Before commiting

Make sure all unit tests pass and your added code compiles before commiting or making a PR. You can run the tests with

pytest

Cite

If you use UniEnv in your research, please cite it as follows:

@software{cao_unienv,
  author = {Cao, Yunhao AND Fang, Kuan},
  title = {{UniEnv: Unifying Robot Environments and Data APIs}},
  year = {2025},
  month = oct,
  url = {https://github.com/UniEnvOrg/UniEnv},
  license = {MIT}
}

Acknowledgements

The idea of this project is inspired by Gymnasium and its predecessor OpenAI Gym. This library is impossible without the great work of DataAPIs Consortium and their work on the Array API Standard. The zero-copy translation layers are powered by the DLPack project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unienv-0.0.1b11.tar.gz (155.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unienv-0.0.1b11-py3-none-any.whl (221.2 kB view details)

Uploaded Python 3

File details

Details for the file unienv-0.0.1b11.tar.gz.

File metadata

  • Download URL: unienv-0.0.1b11.tar.gz
  • Upload date:
  • Size: 155.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for unienv-0.0.1b11.tar.gz
Algorithm Hash digest
SHA256 c95cee4664ac87e2985004cca99bf04c77d9abbfcda9af908a55f6dcb32b11f9
MD5 43f671dd658d32fec6b1bd4e6106ee0e
BLAKE2b-256 eb3fa4f9fad1eed238911e610488bf54aaa0b173a25fb29d285567f99f37e215

See more details on using hashes here.

Provenance

The following attestation bundles were made for unienv-0.0.1b11.tar.gz:

Publisher: python-publish.yml on UniEnvOrg/UniEnv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unienv-0.0.1b11-py3-none-any.whl.

File metadata

  • Download URL: unienv-0.0.1b11-py3-none-any.whl
  • Upload date:
  • Size: 221.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for unienv-0.0.1b11-py3-none-any.whl
Algorithm Hash digest
SHA256 05bbd32ad6136a6ee1eb0b37c9feac19fe6050656f4dd352ac56d1d0dc22c4d6
MD5 2c9e4de463e2ca1864dc8aec72cc1db6
BLAKE2b-256 9545063f39018a10b4b5553c725720b5b5f6a902b0eddbe8bf4fdc022347262d

See more details on using hashes here.

Provenance

The following attestation bundles were made for unienv-0.0.1b11-py3-none-any.whl:

Publisher: python-publish.yml on UniEnvOrg/UniEnv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page