Newton
July 3, 2026 · View on GitHub
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.
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.