Skip to main content

A GPU-accelerated physics engine for robotics simulation

Project description

License GitHub commit activity codecov Push - AWS GPU

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 <example_name> instead of the python -m newton.examples <example_name> commands below.

Basic Examples

Pendulum URDF Viewer
python -m newton.examples basic_pendulum python -m newton.examples basic_urdf python -m newton.examples basic_viewer
Shapes Joints Conveyor
python -m newton.examples basic_shapes python -m newton.examples basic_joints python -m newton.examples basic_conveyor
Heightfield Recording Replay Viewer
python -m newton.examples basic_heightfield python -m newton.examples recording python -m newton.examples replay_viewer
Plotting
python -m newton.examples basic_plotting

Robot Examples

Cartpole G1 H1
python -m newton.examples robot_cartpole python -m newton.examples robot_g1 python -m newton.examples robot_h1
Anymal D Anymal C Walk Policy
python -m newton.examples robot_anymal_d python -m newton.examples robot_anymal_c_walk python -m newton.examples robot_policy
UR10 Panda Hydro Allegro Hand
python -m newton.examples robot_ur10 python -m newton.examples robot_panda_hydro python -m newton.examples robot_allegro_hand

Cable Examples

Cable Twist Cable Y-Junction Cable Bundle Hysteresis
python -m newton.examples cable_twist python -m newton.examples cable_y_junction python -m newton.examples cable_bundle_hysteresis
Cable Pile Cable Cross Slide Table
python -m newton.examples cable_pile python -m newton.examples cable_cross_slide_table

Cloth Examples

Cloth Bending Cloth Hanging Cloth Style3D
python -m newton.examples cloth_bending python -m newton.examples cloth_hanging python -m newton.examples cloth_style3d
Cloth H1 Cloth Twist Cloth Franka
python -m newton.examples cloth_h1 python -m newton.examples cloth_twist python -m newton.examples cloth_franka
Cloth Rollers Cloth Poker Cards
python -m newton.examples cloth_rollers python -m newton.examples cloth_poker_cards

Inverse Kinematics Examples

IK Franka IK H1 IK Custom
python -m newton.examples ik_franka python -m newton.examples ik_h1 python -m newton.examples ik_custom
IK Cube Stacking
python -m newton.examples ik_cube_stacking

MPM Examples

MPM Granular MPM Anymal MPM Two-Way Coupling
python -m newton.examples mpm_granular python -m newton.examples mpm_anymal python -m newton.examples mpm_twoway_coupling
MPM Grain Rendering MPM Multi Material MPM Viscous
python -m newton.examples mpm_grain_rendering python -m newton.examples mpm_multi_material python -m newton.examples mpm_viscous
MPM Beam Twist MPM Snow Ball
python -m newton.examples mpm_beam_twist python -m newton.examples mpm_snow_ball

Sensor Examples

Sensor Contact Sensor Tiled Camera Sensor IMU
python -m newton.examples sensor_contact python -m newton.examples sensor_tiled_camera python -m newton.examples sensor_imu

Selection Examples

Selection Cartpole Selection Materials Selection Articulations
python -m newton.examples selection_cartpole python -m newton.examples selection_materials python -m newton.examples selection_articulations
Selection Multiple
python -m newton.examples selection_multiple

DiffSim Examples

DiffSim Ball DiffSim Cloth DiffSim Drone
python -m newton.examples diffsim_ball python -m newton.examples diffsim_cloth python -m newton.examples diffsim_drone
DiffSim Spring Cage DiffSim Soft Body DiffSim Quadruped
python -m newton.examples diffsim_spring_cage python -m newton.examples diffsim_soft_body python -m newton.examples diffsim_bear

Multi-Physics Examples

Softbody Gift Softbody Dropping to Cloth Rigid Soft Contact
python -m newton.examples softbody_gift python -m newton.examples softbody_dropping_to_cloth python -m newton.examples rigid_soft_contact

Contacts Examples

Nut Bolt Hydro Nut Bolt SDF Brick Stacking
python -m newton.examples nut_bolt_hydro python -m newton.examples nut_bolt_sdf python -m newton.examples brick_stacking
Pyramid RJ45 Plug
python -m newton.examples pyramid python -m newton.examples contacts_rj45_plug

Softbody Examples

Softbody Hanging Softbody Franka
python -m newton.examples softbody_hanging python -m newton.examples softbody_franka

Kamino Examples

Kamino DR Testmech Kamino Fourbar Kamino Heterogeneous
python -m newton.examples kamino_basic_dr_testmech python -m newton.examples kamino_basic_fourbar python -m newton.examples kamino_basic_heterogeneous
Kamino Anymal D Kamino DR Legs
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 <example_name> --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 the contribution guidelines and the development guide for instructions on how to contribute to Newton.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

newton-1.3.0rc1-py3-none-any.whl (4.5 MB view details)

Uploaded Python 3

File details

Details for the file newton-1.3.0rc1-py3-none-any.whl.

File metadata

  • Download URL: newton-1.3.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for newton-1.3.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a89e1a26f415b08479d71bdd60e02d7e74d832129376731921bdc9dac32ac0e
MD5 5a1da5264fb61f78337f2e1bd8cdf8e0
BLAKE2b-256 a4c7da934b2fcb9b9816ea07fd367006a652d662ed88579c04c034e7e76cc767

See more details on using hashes here.

Provenance

The following attestation bundles were made for newton-1.3.0rc1-py3-none-any.whl:

Publisher: release.yml on newton-physics/newton

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