
Newton
Newton is a GPU-accelerated physics simulation engine built upon NVIDIA Warp, specifically targeting roboticists and simulation researchers.
Newton extends and generalizes Warp's (deprecated) warp.sim module, and integrates
MuJoCo Warp as its primary backend. Newton emphasizes GPU-based computation, OpenUSD support, differentiability, and user-defined extensibility, facilitating rapid iteration and scalable robotics simulation.
Newton is a Linux Foundation project that is community-built and maintained. Code is licensed under Apache-2.0. Documentation is licensed under CC-BY-4.0. Additional and third-party license texts are available in newton/licenses.
Newton was initiated by Disney Research, Google DeepMind, and NVIDIA.
Requirements
- Python 3.10+
- OS: Linux (x86-64, aarch64), Windows (x86-64), or macOS (CPU only)
- GPU: NVIDIA GPU (Maxwell or newer), driver 545 or newer (CUDA 12). No local CUDA Toolkit installation required. macOS runs on CPU.
For detailed system requirements and tested configurations, see the installation guide.
Quickstart
pip install "newton[examples]"
python -m newton.examples basic_pendulum
To install from source with uv, see the installation guide.
Examples
Before running the examples below, install Newton with the examples extra:
pip install "newton[examples]"
If you installed from source with uv, substitute uv run for python in the commands below.
<table>
<tr>
<td colspan="3"><h3>Basic Examples</h3></td>
</tr>
<tr>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_pendulum.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_pendulum.jpg" alt="Pendulum">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_urdf.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_urdf.jpg" alt="URDF">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_viewer.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_viewer.jpg" alt="Viewer">
</a>
</td>
</tr>
<tr>
<td align="center" width="33%">
<code>python -m newton.examples basic_pendulum</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples basic_urdf</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples basic_viewer</code>
</td>
</tr>
<tr>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_shapes.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_shapes.jpg" alt="Shapes">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_joints.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_joints.jpg" alt="Joints">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_conveyor.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_conveyor.jpg" alt="Conveyor">
</a>
</td>
</tr>
<tr>
<td align="center" width="33%">
<code>python -m newton.examples basic_shapes</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples basic_joints</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples basic_conveyor</code>
</td>
</tr>
<tr>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_heightfield.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_heightfield.jpg" alt="Heightfield">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_recording.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_recording.jpg" alt="Recording">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_replay_viewer.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_replay_viewer.jpg" alt="Replay Viewer">
</a>
</td>
</tr>
<tr>
<td align="center" width="33%">
<code>python -m newton.examples basic_heightfield</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples recording</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples replay_viewer</code>
</td>
</tr>
<tr>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_plotting.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_basic_plotting.jpg" alt="Plotting">
</a>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="center" width="33%">
<code>python -m newton.examples basic_plotting</code>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="3"><h3>Robot Examples</h3></td>
</tr>
<tr>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_cartpole.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_robot_cartpole.jpg" alt="Cartpole">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_g1.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_robot_g1.jpg" alt="G1">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_h1.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_robot_h1.jpg" alt="H1">
</a>
</td>
</tr>
<tr>
<td align="center" width="33%">
<code>python -m newton.examples robot_cartpole</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples robot_g1</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples robot_h1</code>
</td>
</tr>
<tr>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_anymal_d.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_robot_anymal_d.jpg" alt="Anymal D">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_anymal_c_walk.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_robot_anymal_c_walk.jpg" alt="Anymal C Walk">
</a>
</td>
<td></td>
</tr>
<tr>
<td align="center" width="33%">
<code>python -m newton.examples robot_anymal_d</code>
</td>
<td align="center" width="33%">
<code>python -m newton.examples robot_anymal_c_walk</code>
</td>
</tr>
<tr>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_policy.py">
<img width="320" src="https://raw.githubusercontent.com/newton-physics/newton/main/docs/images/examples/example_robot_policy.jpg" alt="Policy">
</a>
</td>
<td align="center" width="33%">
<a href="https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_ur10.py">
<img width="3