UniSim
UniSim provides backend-neutral physics contracts and optional engine
adapters. The PyPI distribution is unisim-core; the Python import namespace
is unisim.
This repository is the extraction target for UniLab's unified physics backend.
The 1.0.x line contains the public contract, seven production backend
adapters, a deterministic fake backend, a lightweight conformance helper, and
benchmark API/result-schema reservations. It does not run benchmark workloads
or include engine SDKs in the base install.
Development
make sync # locked environment plus the MuJoCo test extra
make check # Ruff + pytest
make package # source distribution and wheel for local inspection
The TestPyPI and automated production release procedure is documented in
docs/release.md.
Engine adapters are optional extras and are loaded lazily. The MuJoCo adapter
is available as unisim.MuJoCoBackend after installing the mujoco extra (or
through unisim.create_backend("mujoco", scene=...)). Each adapter must
document its supported Python/platform/runtime matrix and pass the conformance
helper before it is published.
Motrix is available through unisim.MotrixBackend after installing the
motrix extra. Drake, MJWarp and Genesis use the same lazy optional boundary;
IsaacGym and IsaacSim are external-worker adapters because their vendor SDKs
are not redistributable PyPI dependencies. All seven identities are exposed by
the factory and fail closed with actionable diagnostics when their runtime is
absent. Every adapter exposes the same state/control/reset contract;
engine-native model and data objects remain private.
External worker roots can be configured with UNISIM_ISAACGYM_HOME,
UNISIM_ISAACGYM_PYTHON, UNISIM_ISAACSIM_HOME, and
UNISIM_ISAACSIM_PYTHON. The package also accepts the former UNILAB_*
spellings as a migration fallback.
Relationship to UniLab
UniLab retains Hydra configuration, task/env/manager lifecycle, robot assets, RL training, checkpoint, and sim2sim ownership. UniSim must not import UniLab. The final state has one implementation owned by this repository; UniLab only assembles task-owned scene/configuration inputs.
Release files for unisim-core 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unisim_core-1.0.0.tar.gz | 187.8 kB | Details |
Release files / unisim_core-1.0.0.tar.gz
| Download URL | unisim_core-1.0.0.tar.gz |
|---|---|
| Size | 187.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
803dcfb6a8f024b7efa67d0f38e36bc684cd642d4ca977e89caa6249e551bd1f
|
|
BLAKE2b-256 checksum How to use checksums |
75f9a1ac688cf7f5ca6a05d40055ca52be4c564b4d103147ba2aaaebfd49679e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency log