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, see the installation guide. For tested configurations and Newton's versioning and deprecation policies, see the compatibility guide.
Quickstart
pip install "newton[examples]"
python -m newton.examples
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 run the examples from a source checkout with uv, use
uv run --extra examples -m newton.examples instead of the
python -m newton.examples commands below.
Basic Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_pendulum.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_urdf.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_viewer.py)
python -m newton.examples basic_pendulum
python -m newton.examples basic_urdf
python -m newton.examples basic_viewer
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_shapes.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_joints.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_conveyor.py)
python -m newton.examples basic_shapes
python -m newton.examples basic_joints
python -m newton.examples basic_conveyor
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_heightfield.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_recording.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_replay_viewer.py)
python -m newton.examples basic_heightfield
python -m newton.examples recording
python -m newton.examples replay_viewer
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_plotting.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_dzhanibekov.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_conveyor_forces.py)
python -m newton.examples basic_plotting
python -m newton.examples basic_dzhanibekov
python -m newton.examples basic_conveyor_forces
[](https://github.com/newton-physics/newton/blob/main/newton/examples/basic/example_basic_mimic_joint.py)
python -m newton.examples basic_mimic_joint
Robot Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_cartpole.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_g1.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_h1.py)
python -m newton.examples robot_cartpole
python -m newton.examples robot_g1
python -m newton.examples robot_h1
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_anymal_d.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_anymal_c_walk.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_policy.py)
python -m newton.examples robot_anymal_d
python -m newton.examples robot_anymal_c_walk
python -m newton.examples robot_policy
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_ur10.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_panda_hydro.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_allegro_hand.py)
python -m newton.examples robot_ur10
python -m newton.examples robot_panda_hydro
python -m newton.examples robot_allegro_hand
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_omniwheel.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/robot/example_robot_asroballet.py)
python -m newton.examples robot_omniwheel
python -m newton.examples robot_asroballet
Controller Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/controllers/example_controller_joint_impedance_heterogeneous.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/controllers/example_controller_operational_space_hybrid_force_motion.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/controllers/example_controller_differential_ik.py)
python -m newton.examples controller_joint_impedance_heterogeneous
python -m newton.examples controller_operational_space_hybrid_force_motion
python -m newton.examples controller_differential_ik
Cable Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cable/example_cable_twist.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cable/example_cable_y_junction.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cable/example_cable_bundle_hysteresis.py)
python -m newton.examples cable_twist
python -m newton.examples cable_y_junction
python -m newton.examples cable_bundle_hysteresis
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cable/example_cable_pile.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cable/example_cable_cross_slide_table.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cable/example_cable_plectoneme.py)
python -m newton.examples cable_pile
python -m newton.examples cable_cross_slide_table
python -m newton.examples cable_plectoneme
Cloth Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_bending.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_hanging.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_style3d.py)
python -m newton.examples cloth_bending
python -m newton.examples cloth_hanging
python -m newton.examples cloth_style3d
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_h1.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_twist.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_franka.py)
python -m newton.examples cloth_h1
python -m newton.examples cloth_twist
python -m newton.examples cloth_franka
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_rollers.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/cloth/example_cloth_poker_cards.py)
python -m newton.examples cloth_rollers
python -m newton.examples cloth_poker_cards
Inverse Kinematics Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/ik/example_ik_franka.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/ik/example_ik_h1.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/ik/example_ik_custom.py)
python -m newton.examples ik_franka
python -m newton.examples ik_h1
python -m newton.examples ik_custom
[](https://github.com/newton-physics/newton/blob/main/newton/examples/ik/example_ik_cube_stacking.py)
python -m newton.examples ik_cube_stacking
MPM Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_granular.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_anymal.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_twoway_coupling.py)
python -m newton.examples mpm_granular
python -m newton.examples mpm_granular --from-usd
python -m newton.examples mpm_anymal
python -m newton.examples mpm_twoway_coupling
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_grain_rendering.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_multi_material.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_viscous.py)
python -m newton.examples mpm_grain_rendering
python -m newton.examples mpm_multi_material
python -m newton.examples mpm_viscous
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_beam_twist.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_snow_ball.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/mpm/example_mpm_water_dam_break.py)
python -m newton.examples mpm_beam_twist
python -m newton.examples mpm_snow_ball
python -m newton.examples mpm_water_dam_break
Sensor Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/sensors/example_sensor_contact.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/sensors/example_sensor_camera.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/sensors/example_sensor_imu.py)
python -m newton.examples sensor_contact
python -m newton.examples sensor_camera
python -m newton.examples sensor_imu
Selection Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/selection/example_selection_cartpole.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/selection/example_selection_materials.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/selection/example_selection_articulations.py)
python -m newton.examples selection_cartpole
python -m newton.examples selection_materials
python -m newton.examples selection_articulations
[](https://github.com/newton-physics/newton/blob/main/newton/examples/selection/example_selection_multiple.py)
python -m newton.examples selection_multiple
DiffSim Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/diffsim/example_diffsim_ball.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/diffsim/example_diffsim_cloth.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/diffsim/example_diffsim_drone.py)
python -m newton.examples diffsim_ball
python -m newton.examples diffsim_cloth
python -m newton.examples diffsim_drone
[](https://github.com/newton-physics/newton/blob/main/newton/examples/diffsim/example_diffsim_spring_cage.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/diffsim/example_diffsim_soft_body.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/diffsim/example_diffsim_bear.py)
python -m newton.examples diffsim_spring_cage
python -m newton.examples diffsim_soft_body
python -m newton.examples diffsim_bear
Multi-Physics Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/multiphysics/example_softbody_gift.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/multiphysics/example_softbody_dropping_to_cloth.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/multiphysics/example_rigid_soft_contact.py)
python -m newton.examples softbody_gift
python -m newton.examples softbody_dropping_to_cloth
python -m newton.examples rigid_soft_contact
[](https://github.com/newton-physics/newton/blob/main/newton/examples/multiphysics/example_franka_cable_ik_pick_place.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/multiphysics/example_mujoco_franka_vbd_cable_admm_solver.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/multiphysics/example_vbd_dat_rigid_soft.py)
python -m newton.examples franka_cable_ik_pick_place
python -m newton.examples mujoco_franka_vbd_cable_admm_solver
python -m newton.examples vbd_dat_rigid_soft
Contacts Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_nut_bolt_hydro.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_nut_bolt_sdf.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_brick_stacking.py)
python -m newton.examples nut_bolt_hydro
python -m newton.examples nut_bolt_sdf
python -m newton.examples brick_stacking
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_pyramid.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_contacts_rj45_plug.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_newton_cradle.py)
python -m newton.examples pyramid
python -m newton.examples contacts_rj45_plug
python -m newton.examples newton_cradle
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_balance_bird.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/contacts/example_domino_spiral.py)
python -m newton.examples balance_bird
python -m newton.examples domino_spiral
Softbody Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/softbody/example_softbody_hanging.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/softbody/example_softbody_franka.py)
python -m newton.examples softbody_hanging
python -m newton.examples softbody_franka
Kamino Examples
[](https://github.com/newton-physics/newton/blob/main/newton/examples/kamino/example_kamino_basic_dr_testmech.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/kamino/example_kamino_basic_fourbar.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/kamino/example_kamino_basic_heterogeneous.py)
python -m newton.examples kamino_basic_dr_testmech
python -m newton.examples kamino_basic_fourbar
python -m newton.examples kamino_basic_heterogeneous
[](https://github.com/newton-physics/newton/blob/main/newton/examples/kamino/example_kamino_robot_anymal_d.py)
[](https://github.com/newton-physics/newton/blob/main/newton/examples/kamino/example_kamino_robot_dr_legs.py)
python -m newton.examples kamino_robot_anymal_d
python -m newton.examples kamino_robot_dr_legs
Example Options
All examples share a common set of command-line options. The most commonly used ones are:
| Argument | Description | Default |
|---|---|---|
--viewer |
Viewer to use: gl, usd, rtx, rerun, viser, or null. |
gl |
--device |
Compute device to use, e.g., cpu, cuda:0. |
None (default Warp device) |
--num-frames |
Total number of frames to simulate. | 100 |
--output-path |
Path to the output USD file (used by the usd viewer). |
output.usd |
For the complete, always-current list of options — plus any arguments a specific example adds — run:
python -m newton.examples --help
Example Usage
# List available examples
python -m newton.examples --list
# Run with the USD viewer and save to my_output.usd
python -m newton.examples basic_viewer --viewer usd --output-path my_output.usd
# Run on a selected device
python -m newton.examples basic_urdf --device cuda:0
# Combine options
python -m newton.examples basic_viewer --viewer gl --num-frames 500 --device cpu
Contributing and Development
See CONTRIBUTING.md for ways to contribute and the pull-request process. The governance contribution guidelines cover legal requirements, project roles, and approval authority. Use the development guide for environment setup and development workflows. Code and public API changes must follow the source code guidelines; reviewers may use the suggested review guidelines.
Support and Community Discussion
For questions, please consult the Newton documentation first before creating a discussion in the main repository.
Code of Conduct
By participating in this community, you agree to abide by the Linux Foundation Code of Conduct.
Project Governance, Legal, and Members
Please see the newton-governance repository for more information about project governance.