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+ (3.10 support is deprecated; removal planned for Newton 1.9; use 3.11+)
- OS: Linux (x86-64, aarch64), Windows (x86-64), or macOS (CPU only)
- GPU: This release is tested with Warp 1.19, whose standard wheel requires an NVIDIA Turing GPU (compute capability 7.5+) and driver R580+ for CUDA acceleration.
On an R545–R579 driver or an older supported GPU, install with
warp-lang==1.17.0(see the installation guide). No local CUDA Toolkit is 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.
Community Projects
Explore community solvers, integrations, and applications through the newton-physics topic on GitHub.
To share your own project, add the newton-physics topic to your public repository's About section. See GitHub's guide to repository topics for instructions.
Projects opt in by adding the topic; inclusion does not imply endorsement or support by the Newton maintainers. External solvers and extensions are maintained separately from Newton. Check each project's documentation for maturity, compatibility, and support.
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.
Every example keeps its general description and success criteria beside its implementation. Inspect the resulting specification without running the example:
python -m newton.examples --describe robot_omniwheel
Basic Examples |
||
|
|
|
|
python -m newton.examples basic_pendulum
|
python -m newton.examples basic_urdf
|
python -m newton.examples basic_viewer
|
|
|
|
|
python -m newton.examples basic_shapes
|
python -m newton.examples basic_joints
|
python -m newton.examples basic_conveyor
|
|
|
|
|
python -m newton.examples basic_heightfield
|
python -m newton.examples recording
|
python -m newton.examples replay_viewer
|
|
|
|
|
python -m newton.examples basic_plotting
|
python -m newton.examples basic_dzhanibekov
|
python -m newton.examples basic_conveyor_forces
|
|
|
||
python -m newton.examples basic_mimic_joint
|
||
Robot Examples |
||
|
|
|
|
python -m newton.examples robot_cartpole
|
python -m newton.examples robot_g1
|
python -m newton.examples robot_h1
|
|
|
|
|
python -m newton.examples robot_anymal_d
|
python -m newton.examples robot_anymal_c_walk
|
python -m newton.examples robot_policy
|
|
|
|
|
python -m newton.examples robot_ur10
|
python -m newton.examples robot_panda_hydro
|
python -m newton.examples robot_allegro_hand
|
|
|
|
|
python -m newton.examples robot_omniwheel
|
python -m newton.examples robot_asroballet
|
|
Controller Examples |
||
|
|
|
|
| Run joint impedance heterogeneous | Run operational space hybrid force/motion |
python -m newton.examples controller_differential_ik
|
Cable Examples |
||
|
|
|
|
python -m newton.examples cable_twist
|
python -m newton.examples cable_y_junction
|
python -m newton.examples cable_bundle_hysteresis
|
|
|
|
|
python -m newton.examples cable_pile
|
python -m newton.examples cable_cross_slide_table
|
python -m newton.examples cable_plectoneme
|
|
|
||
python -m newton.examples cable_initial_rest_pose
|
||
Tendon Examples |
||
|
|
|
|
python -m newton.examples tendon_pulley
|
python -m newton.examples tendon_pinhole
|
python -m newton.examples tendon_capstan_friction
|
|
|
|
|
python -m newton.examples tendon_mujoco_switch
|
python -m newton.examples tendon_3d_routing
|
|
Cloth Examples |
||
|
|
|
|
python -m newton.examples cloth_bending
|
python -m newton.examples cloth_hanging
|
python -m newton.examples cloth_style3d
|
|
|
|
|
python -m newton.examples cloth_h1
|
python -m newton.examples cloth_twist
|
python -m newton.examples cloth_franka
|
|
|
|
|
python -m newton.examples cloth_rollers
|
python -m newton.examples cloth_poker_cards
|
|
Inverse Kinematics Examples |
||
|
|
|
|
python -m newton.examples ik_franka
|
python -m newton.examples ik_h1
|
python -m newton.examples ik_custom
|
|
|
||
python -m newton.examples ik_cube_stacking
|
||
MPM Examples |
||
|
|
|
|
python -m newton.examples mpm_granularpython -m newton.examples mpm_granular --from-usd
|
python -m newton.examples mpm_anymal
|
python -m newton.examples mpm_twoway_coupling
|
|
|
|
|
python -m newton.examples mpm_grain_rendering
|
python -m newton.examples mpm_multi_material
|
python -m newton.examples mpm_viscous
|
|
|
|
|
python -m newton.examples mpm_beam_twist
|
python -m newton.examples mpm_snow_ball
|
python -m newton.examples mpm_water_dam_break
|
|
|
||
python -m newton.examples mpm_pinch_carry
|
||
Sensor Examples |
||
|
|
|
|
python -m newton.examples sensor_contact
|
python -m newton.examples sensor_camera
|
python -m newton.examples sensor_imu
|
Selection Examples |
||
|
|
|
|
python -m newton.examples selection_cartpole
|
python -m newton.examples selection_materials
|
python -m newton.examples selection_articulations
|
|
|
||
python -m newton.examples selection_multiple
|
||
DiffSim Examples |
||
|
|
|
|
python -m newton.examples diffsim_ball
|
python -m newton.examples diffsim_cloth
|
python -m newton.examples diffsim_drone
|
|
|
|
|
python -m newton.examples diffsim_spring_cage
|
python -m newton.examples diffsim_soft_body
|
python -m newton.examples diffsim_bear
|
Multi-Physics Examples |
||
|
|
|
|
python -m newton.examples softbody_gift
|
python -m newton.examples softbody_dropping_to_cloth
|
python -m newton.examples rigid_soft_contact
|
|
|
|
|
python -m newton.examples franka_cable_ik_pick_place
|
Run MuJoCo Franka VBD cable ADMM |
python -m newton.examples vbd_dat_rigid_soft
|
Contacts Examples |
||
|
|
|
|
python -m newton.examples nut_bolt_hydro
|
python -m newton.examples nut_bolt_sdf
|
python -m newton.examples brick_stacking
|
|
|
|
|
python -m newton.examples pyramid
|
python -m newton.examples contacts_rj45_plug
|
python -m newton.examples newton_cradle
|
|
|
|
|
python -m newton.examples balance_bird
|
python -m newton.examples domino_spiral
|
python -m newton.examples adaptive_collision
|
Softbody Examples |
||
|
|
|
|
python -m newton.examples softbody_hanging
|
python -m newton.examples softbody_franka
|
|
Kamino Examples |
||
|
|
|
|
python -m newton.examples kamino_basic_dr_testmech
|
python -m newton.examples kamino_basic_fourbar
|
python -m newton.examples kamino_basic_heterogeneous
|
|
|
|
|
python -m newton.examples kamino_robot_anymal_d
|
python -m newton.examples kamino_robot_dr_legs
|
python -m newton.examples kamino_earworm_flowers
|
Steel Examples |
||
|
|
|
|
python -m newton.examples steel_sleeping
|
python -m newton.examples steel_determinism_arms
|
|
Surface Gripper Examples |
||
|
|
||
python -m newton.examples surface_gripper
|
||
MuJoCo Examples |
||
|
|
||
python -m newton.examples mujoco_sleeping
|
||
Joint impedance heterogeneous
Show command
python -m newton.examples controller_joint_impedance_heterogeneous
Operational space hybrid force and motion
Show command
python -m newton.examples controller_operational_space_hybrid_force_motion
MuJoCo Franka VBD cable ADMM
Show command
python -m newton.examples mujoco_franka_vbd_cable_admm_solver
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
Research using Newton
See PUBLICATIONS.md for research using Newton, inclusion criteria, and instructions for adding your publication.
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.
Metadata
Release files for newton 1.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| newton-1.8.0-py3-none-any.whl | Python 3 | none | any | Details for newton-1.8.0-py3-none-any.whl |
Release files / newton-1.8.0-py3-none-any.whl
| Download URL | newton-1.8.0-py3-none-any.whl |
|---|---|
| Size | 8.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f17435c1a8bc6451acd5306ce00e296e7c6931eb8b9d9d61e44e876b2cd9caa2
|
|
BLAKE2b-256 checksum How to use checksums |
0fc9699c3df965c558e28a786906ba00bb24c182880fa2b5e21e78627ef0008e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Nov 11, 2026.
Transparency logSecurity for newton 1.8.0
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.
Full provenance
1 file in this release has been uploaded with provenance metadata.
Attestation for newton-1.8.0-py3-none-any.whl
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 Nov 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.