MCPcopy
hub / github.com/Genesis-Embodied-AI/genesis-world

github.com/Genesis-Embodied-AI/genesis-world @v1.2.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.2.0 ↗
6,124 symbols 22,410 edges 401 files 2,317 documented · 38%
README

Genesis World teaser

Genesis World

PyPI - Version PyPI Downloads Documentation GitHub Issues GitHub Discussions Discord

Genesis World is a simulation platform for physical AI developments. It combines a unified multi-physics engine, a photo-realistic renderer (Nyx), and a cross-platform compiler (Quadrants) behind a Pythonic simulation interface. Genesis World is designed to scale from a single laptop kernel to datacenter-grade GPUs, while remaining easy to read, extend, and embed in research code.

It was previously named Genesis and started as an academic project since Dec 2024, and its development is now officially supported by Genesis AI.

For more technical details, refer to our blog post.

Table of Contents

  1. What is Genesis World?
  2. Catalogue
  3. Quick Installation
  4. Docker
  5. Contribution
  6. Support
  7. License and Acknowledgments
  8. Citation

What is Genesis World?

Genesis World stack

Genesis World occupies the four layers inside the dashed box. Above sits whatever you build (robotics environments, ML pipelines, data generation, agentic simulation); below sits whatever compute backend you have.

  • Simulation Interface — the user-facing API: asset parsing (URDF, MJCF, OBJ, GLB, USD, …), entity accessors, controllers, sensors, parallel and heterogeneous environments, and a built-in GUI.
  • Physics — a unified multi-physics engine integrating Rigid, FEM, MPM, Particle (PBD / SPH), uipc, an explicit coupler, and SAP, all sharing one scene and one state.
  • Render — three rendering paths plug in as camera sensors: Nyx (our in-house renderer designed for robotics), Luisa (DSL ray tracer), and Pyrender (rasterizer).
  • CompilerQuadrants lowers Python kernel code to CUDA, AMD ROCm, Apple Metal, Vulkan, x86, and ARM64. It carries Genesis's autodiff, GPU graphs, and fastcache machinery.

Documentation

Catalogue

Three sections, mirroring the Genesis layers that ship runnable demos: Physics (solvers and multi-solver coupling), Rendering (in-repo camera setups plus the Nyx walkthroughs hosted in genesis-nyx), and Simulation Interface (sensors, GUI, controllers, parallel/heterogeneous envs, and tutorials). Most scripts run end-to-end after pip install -e ".[dev]"; demos that depend on optional backends (e.g. the IPC and Nyx examples) need the extras listed in Optional extras.

Physics

Rigid: franka cube Rigid: collision tower Rigid: contype
FEM: hard & soft constraint MPM: tutorial MPM: sand wheel
SPH: rigid SPH: + MPM PBD: liquid
PBD: cloth Stable Fluid: smoke IPC: robot cloth teleop
Coupler: cloth on rigid Coupler: rigid + MPM Coupler: cut dragon
Coupler: water wheel Coupler: flush cubes SAP: Franka grasp rigid cube

Rendering

Genesis exposes three rendering paths as camera sensors: built-in (Nyx / Luisa / Pyrender) and detailed Nyx walkthroughs hosted in genesis-nyx.

Follow entity Animated camera Nyx: hello
Nyx: attached camera Nyx: PBR materials Nyx: light types
Nyx: 3D Gaussian splat Nyx: object picking Nyx: multi-cam multi-env

Simulation Interface

Controlling a robot GUI: ImGui joint control Heterogeneous envs
Domain randomization Sensor: depth camera Sensor: IMU
Sensor: lidar Sensor: tactile sandbox Sensor: contact force
Sensor: surface distance Sensor: temperature grid GUI: debug drawing
GUI: mesh point picker GUI: mouse interaction Diff-IK controller
Batched IK Drone Advanced: worm

Quick Installation

Using pip

Install PyTorch first following the official instructions.

Then, install Genesis via PyPI:

pip install genesis-world  # Requires Python>=3.10,<3.14;

For the latest version to date, make sure that pip is up-to-date via pip install --upgrade pip, then run command:

pip install git+https://github.com/Genesis-Embodied-AI/genesis-world.git

Note that the package must still be updated manually to sync with main branch.

Users seeking to contribute are encouraged to install Genesis in editable mode. First, make sure that genesis-world has been uninstalle

Core symbols most depended-on inside this repo

add_entity
called by 942
genesis/engine/scene.py
assert_allclose
called by 788
tests/utils.py
V
called by 454
genesis/utils/array_class.py
step
called by 420
genesis/engine/scene.py
build
called by 350
genesis/engine/scene.py
get
called by 324
genesis/utils/mesh.py
append
called by 318
genesis/utils/mesh.py
append
called by 264
genesis/engine/states/cache.py

Shape

Method 3,708
Function 1,850
Class 556
Route 10

Languages

Python100%

Modules by API surface

genesis/engine/couplers/sap_coupler.py230 symbols
genesis/ext/urdfpy/urdf.py224 symbols
genesis/engine/entities/rigid_entity/rigid_entity.py190 symbols
tests/test_rigid_physics.py160 symbols
genesis/utils/geom.py129 symbols
genesis/engine/solvers/rigid/rigid_solver.py127 symbols
genesis/utils/array_class.py120 symbols
genesis/engine/entities/rigid_entity/rigid_geom.py106 symbols
genesis/engine/solvers/mpm_solver.py93 symbols
genesis/engine/solvers/rigid/constraint/solver.py91 symbols
genesis/engine/solvers/fem_solver.py86 symbols
genesis/engine/entities/rigid_entity/rigid_link.py77 symbols

Dependencies from manifests, versioned

DracoPy
OpenEXR
PyGEL3D
PyOpenGL3.1.4 · 1×
coacd
fast_simplification0.1.12 · 1×
freetype-py
frozendict
libigl2.6.2 · 1×
moviepy2.0.0 · 1×
mujoco3.2.5 · 1×
numba

For agents

$ claude mcp add genesis-world \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact