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.1b10.tar.gz (136.4 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.1b10-py3-none-any.whl (199.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unienv-0.0.1b10.tar.gz
  • Upload date:
  • Size: 136.4 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.1b10.tar.gz
Algorithm Hash digest
SHA256 ae564fd2bfeed41b40751132104c2874c7ab47d2d5894d03fead92e3c22e7801
MD5 b0e8ff8564ce4ab5ff56a2d408705445
BLAKE2b-256 4550d2b4541dd895eee7afedce68914613acb37edf5b945b027fe749fc000fb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for unienv-0.0.1b10.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.1b10-py3-none-any.whl.

File metadata

  • Download URL: unienv-0.0.1b10-py3-none-any.whl
  • Upload date:
  • Size: 199.6 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.1b10-py3-none-any.whl
Algorithm Hash digest
SHA256 dd00ba878b5fa7dee038fd51d508e09a46ec5ff2b3e2d4ce2a8d0ddc1d14230c
MD5 d6f0575c62bc489fa7486a5151f1c97e
BLAKE2b-256 b781efcd70bf5714524448559459a7f24720788647a4a9668207bea993b8f72d

See more details on using hashes here.

Provenance

The following attestation bundles were made for unienv-0.0.1b10-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