Metadata-Version: 2.4
Name: warp-lang
Version: 1.13.0.dev20260413
Summary: A Python framework for high-performance simulation and graphics programming
Author-email: NVIDIA Corporation <warp-python@nvidia.com>
License: Apache-2.0
Project-URL: Homepage, https://developer.nvidia.com/warp-python
Project-URL: Documentation, https://nvidia.github.io/warp
Project-URL: Repository, https://github.com/NVIDIA/warp
Project-URL: Issues, https://github.com/NVIDIA/warp/issues
Project-URL: Changelog, https://github.com/NVIDIA/warp/blob/main/CHANGELOG.md
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Environment :: GPU :: NVIDIA CUDA
Classifier: Environment :: GPU :: NVIDIA CUDA :: 12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
License-File: licenses/Gaia-LICENSE.txt
License-File: licenses/appdirs-LICENSE.txt
License-File: licenses/asset_pixel_jpg-LICENSE.txt
License-File: licenses/cubql-LICENSE.txt
License-File: licenses/cuda-LICENSE.txt
License-File: licenses/dlpack-LICENSE.txt
License-File: licenses/fp16-LICENSE.txt
License-File: licenses/libmathdx-LICENSE.txt
License-File: licenses/llvm-LICENSE.txt
License-File: licenses/moller-LICENSE.txt
License-File: licenses/nanovdb-LICENSE.txt
License-File: licenses/nvrtc-LICENSE.txt
License-File: licenses/svd-LICENSE.txt
License-File: licenses/unittest_parallel-LICENSE.txt
License-File: licenses/usd-LICENSE.txt
License-File: licenses/windingnumber-LICENSE.txt
Requires-Dist: numpy
Provides-Extra: docs
Requires-Dist: nvidia-sphinx-theme; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: pre-commit; extra == "docs"
Requires-Dist: myst_parser; extra == "docs"
Provides-Extra: benchmark
Requires-Dist: usd-core>=25.5; (platform_machine != "aarch64" and python_version < "3.14") and extra == "benchmark"
Requires-Dist: usd-exchange>=2.2; (python_version >= "3.10" and python_version < "3.13" and platform_machine == "aarch64") and extra == "benchmark"
Provides-Extra: examples
Requires-Dist: blosc>=1.11.1; extra == "examples"
Requires-Dist: matplotlib>=3.7.5; extra == "examples"
Requires-Dist: pillow>=10.4.0; extra == "examples"
Requires-Dist: psutil>=7.1.0; extra == "examples"
Requires-Dist: pyglet>=2.1.9; extra == "examples"
Requires-Dist: usd-core>=25.5; (platform_machine != "aarch64" and python_version < "3.14") and extra == "examples"
Requires-Dist: usd-exchange>=2.2; (python_version >= "3.10" and python_version < "3.13" and platform_machine == "aarch64") and extra == "examples"
Provides-Extra: torch-cu12
Requires-Dist: warp-lang[examples]; extra == "torch-cu12"
Requires-Dist: torch>=2.7.0; extra == "torch-cu12"
Provides-Extra: dev
Requires-Dist: warp-lang[examples]; extra == "dev"
Requires-Dist: warp-lang[docs]; extra == "dev"
Requires-Dist: nvtx; extra == "dev"
Requires-Dist: coverage[toml]; extra == "dev"
Dynamic: license-file

[![PyPI version](https://badge.fury.io/py/warp-lang.svg)](https://badge.fury.io/py/warp-lang)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/NVIDIA/warp?link=https%3A%2F%2Fgithub.com%2FNVIDIA%2Fwarp%2Fcommits%2Fmain)
[![Downloads](https://static.pepy.tech/badge/warp-lang/month)](https://pepy.tech/project/warp-lang)
[![codecov](https://codecov.io/github/NVIDIA/warp/graph/badge.svg?token=7O1KSM79FG)](https://codecov.io/github/NVIDIA/warp)
![GitHub - CI](https://github.com/NVIDIA/warp/actions/workflows/ci.yml/badge.svg)

# NVIDIA Warp

**[Documentation](https://nvidia.github.io/warp/)** | [Changelog](https://github.com/NVIDIA/warp/blob/main/CHANGELOG.md)

Warp is a Python framework for GPU-accelerated simulation, robotics, and machine learning. Warp takes
regular Python functions and JIT compiles them to efficient kernel code that can run on the CPU or GPU.

Warp comes with a rich set of primitives for physics simulation, robotics, geometry processing,
and more. Warp kernels are differentiable and can be used as part of machine-learning pipelines
with frameworks such as PyTorch, JAX and Paddle.

A selection of physical simulations computed with Warp

## Quick Start

Simulate one million particles under gravitational attraction, in 20 lines:

```python
import warp as wp
import numpy as np

num_particles = 1_000_000
dt = 0.01

@wp.kernel
def gravity_step(pos: wp.array[wp.vec3], vel: wp.array[wp.vec3]):
    i = wp.tid()
    position = pos[i]
    dist_sq = wp.length_sq(position) + 0.01  # softened distance
    acc = -1000.0 / dist_sq * wp.normalize(position)  # gravitational pull toward origin
    vel[i] = vel[i] + acc * dt
    pos[i] = pos[i] + vel[i] * dt

rng = np.random.default_rng(42)
positions = wp.array(rng.normal(size=(num_particles, 3)), dtype=wp.vec3)
velocities = wp.array(rng.normal(size=(num_particles, 3)), dtype=wp.vec3)

for _ in range(100):
    wp.launch(gravity_step, dim=num_particles, inputs=[positions, velocities])

print(positions.numpy())
```

## Installing

Python version 3.10 or newer is required. Warp can run on x86-64 and ARMv8 CPUs on Windows and Linux, and on Apple Silicon (ARMv8) on macOS.
GPU support requires a CUDA-capable NVIDIA GPU and driver (minimum GeForce GTX 9xx).

The easiest way to install Warp is from [PyPI](https://pypi.org/project/warp-lang/):

```text
pip install warp-lang
```

You can also use `pip install warp-lang[examples]` to install additional dependencies for running examples and USD-related features.

For nightly builds, conda, CUDA 13 builds, building from source, and CUDA driver requirements, see the
[Installation Guide](https://nvidia.github.io/warp/user_guide/installation.html).

## Tutorial Notebooks

The [NVIDIA Accelerated Computing Hub](https://github.com/NVIDIA/accelerated-computing-hub) contains the current,
actively maintained set of Warp tutorials:

| Notebook | Colab Link |
|----------|------------|
| [Introduction to NVIDIA Warp](https://github.com/NVIDIA/accelerated-computing-hub/blob/32fe3d5a448446fd52c14a6726e1b867cbfed2d9/Accelerated_Python_User_Guide/notebooks/Chapter_12_Intro_to_NVIDIA_Warp.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/accelerated-computing-hub/blob/32fe3d5a448446fd52c14a6726e1b867cbfed2d9/Accelerated_Python_User_Guide/notebooks/Chapter_12_Intro_to_NVIDIA_Warp.ipynb) |
| [GPU-Accelerated Ising Model Simulation in NVIDIA Warp](https://github.com/NVIDIA/accelerated-computing-hub/blob/32fe3d5a448446fd52c14a6726e1b867cbfed2d9/Accelerated_Python_User_Guide/notebooks/Chapter_12.1_IsingModel_In_Warp.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/accelerated-computing-hub/blob/32fe3d5a448446fd52c14a6726e1b867cbfed2d9/Accelerated_Python_User_Guide/notebooks/Chapter_12.1_IsingModel_In_Warp.ipynb) |

Additionally, several notebooks in the [notebooks](https://github.com/NVIDIA/warp/tree/main/notebooks) directory
provide additional examples and cover key Warp features:

| Notebook | Colab Link |
|----------|------------|
| [Warp Core Tutorial: Basics](https://github.com/NVIDIA/warp/blob/main/notebooks/core_01_basics.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/core_01_basics.ipynb) |
| [Warp Core Tutorial: Generics](https://github.com/NVIDIA/warp/blob/main/notebooks/core_02_generics.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/core_02_generics.ipynb) |
| [Warp Core Tutorial: Points](https://github.com/NVIDIA/warp/blob/main/notebooks/core_03_points.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/core_03_points.ipynb) |
| [Warp Core Tutorial: Meshes](https://github.com/NVIDIA/warp/blob/main/notebooks/core_04_meshes.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/core_04_meshes.ipynb) |
| [Warp Core Tutorial: Volumes](https://github.com/NVIDIA/warp/blob/main/notebooks/core_05_volumes.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/core_05_volumes.ipynb) |
| [Warp PyTorch Tutorial: Basics](https://github.com/NVIDIA/warp/blob/main/notebooks/pytorch_01_basics.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/pytorch_01_basics.ipynb) |
| [Warp PyTorch Tutorial: Custom Operators](https://github.com/NVIDIA/warp/blob/main/notebooks/pytorch_02_custom_operators.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NVIDIA/warp/blob/main/notebooks/pytorch_02_custom_operators.ipynb) |

## Running Examples

The [warp/examples](https://github.com/NVIDIA/warp/tree/main/warp/examples) directory contains examples
covering physics simulation, geometry processing, optimization, and tile-based GPU programming.
Before running examples, install the optional example dependencies using:

```text
pip install warp-lang[examples]
```

On Linux aarch64 systems (e.g., NVIDIA DGX Spark), the `[examples]` extra automatically installs
[`usd-exchange`](https://pypi.org/project/usd-exchange/) instead of `usd-core` as a drop-in replacement,
since `usd-core` wheels are not available for that platform.

Examples can be run from the command-line as follows:

```text
python -m warp.examples.<example_subdir>.<example>
```

Most examples can be run on either the CPU or a CUDA-capable device, but a handful require a CUDA-capable device. These are marked at the top of the example script. Some examples generate USD files containing time-sampled animations in the current working directory. These can be viewed in Pixar's UsdView, Blender, or any USD-compatible viewer.

To browse the example source code, you can open the directory where the files are located like this:

```text
python -m warp.examples.browse
```

### warp/examples/core

             dem
             fluid
             graph capture
             marching cubes

             mesh
             nvdb
             raycast
             raymarch

             sample mesh
             sph
             torch
             wave

             2-D incompressible turbulence in a periodic box

### warp/examples/fem

             diffusion 3d
             mixed elasticity
             apic fluid
             streamlines

             distortion energy
             taylor green
             kelvin helmholtz
             magnetostatics

             adaptive grid
             nonconforming contact
             darcy level-set optimization
             elastic shape optimization

### warp/examples/optim

             diffray
             fluid checkpoint
             particle repulsion
             navier-stokes perturbation

### warp/examples/tile

             mlp
             nbody
             mcgp

## Learn More

Please see the following resources for additional background on Warp:

* [Product Page](https://developer.nvidia.com/warp-python)
* [SIGGRAPH 2024 Course Slides](https://dl.acm.org/doi/10.1145/3664475.3664543)
* [GTC 2024 Presentation](https://www.nvidia.com/en-us/on-demand/session/gtc24-s63345/)
* [GTC 2022 Presentation](https://www.nvidia.com/en-us/on-demand/session/gtcspring22-s41599)
* [GTC 2021 Presentation](https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s31838)
* [SIGGRAPH Asia 2021 Differentiable Simulation Course](https://dl.acm.org/doi/abs/10.1145/3476117.3483433)

## Support

See the [FAQ](https://nvidia.github.io/warp/user_guide/faq.html) for common questions.

Problems, questions, and feature requests can be opened on [GitHub Issues](https://github.com/NVIDIA/warp/issues).

For inquiries not suited for GitHub Issues, please email <warp-python@nvidia.com>.

## Contributing

Contributions and pull requests from the community are welcome.
Please see the [Contribution Guide](https://nvidia.github.io/warp/user_guide/contribution_guide.html) for more
information on contributing to the development of Warp.

## License

Warp is provided under the Apache License, Version 2.0.
Please see [LICENSE.md](https://github.com/NVIDIA/warp/blob/main/LICENSE.md) for full license text.

This project will download and install additional third-party open source software projects.
Review the license terms of these open source projects before use.

## Publications & Citation

### Research Using Warp

Our [PUBLICATIONS.md](https://github.com/NVIDIA/warp/blob/main/PUBLICATIONS.md) file lists academic and research
publications that leverage the capabilities of Warp.
We encourage you to add your own published work using Warp to this list.

### Citing Warp

If you use Warp in your research, please use the "Cite this repository" button on the
[GitHub repository](https://github.com/NVIDIA/warp) page or refer to the
[CITATION.cff](https://github.com/NVIDIA/warp/blob/main/CITATION.cff) file for citation information.
