warp-lang
A Python framework for high-performance simulation and graphics programming
Decision gist · record as of 2026-08-14
Yes, if you need GPU-accelerated simulation or geometry processing in Python and want to avoid writing native CUDA. The framework is production-stable, actively maintained, has no known vulnerabilities, and integrates well with ML frameworks. Install friction is moderate due to platform-specific wheels and CUDA requirements, but pre-built wheels eliminate compilation overhead. Not suitable if you lack GPU hardware or need CPU-only performance without GPU fallback.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Python 3.10 or newer required; GPU support requires CUDA-capable NVIDIA GPU (minimum GeForce GTX 9xx) and compatible driver.
- Medium install friction due to platform-specific wheels (macOS ARM64, Linux x86-64 and aarch64, Windows x64) and CUDA driver requirements for GPU support.
- Actively maintained with recent releases; no compilation needed for pre-built wheels.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-08-03 (11 days) · last repo commit 2026-08-14 · 6,999 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 981,443 downloads/mo, #4,587 on PyPI
Alternatives
Verify before relying
pip install warp-lang
import warp as wp
import numpy as np
@wp.kernel
def example(arr: wp.array):
i = wp.tid()
arr[i] = arr[i] * 2.0
data = wp.array(np.array([1.0, 2.0, 3.0]))
wp.launch(example, dim=3, inputs=[data])
print(data.numpy())- Performance characteristics and speedup factors compared to pure NumPy or native CUDA for typical workloads.
- Memory overhead of JIT compilation and kernel caching during runtime.
- Compatibility with specific PyTorch, JAX, and Paddle versions beyond basic integration claims.
What it is and what it does
Warp is a Python framework that takes regular Python functions decorated with @wp.kernel and JIT-compiles them to efficient GPU or CPU code. It bridges the gap between Python's ease of use and the performance demands of simulation, robotics, and machine learning by letting you write kernels in Python syntax while executing them at near-native speed on NVIDIA GPUs or CPUs. The framework includes built-in primitives for physics, geometry, and differentiable operations, and kernels can be integrated into PyTorch, JAX, and Paddle pipelines for end-to-end learning.
Warp handles the complexity of CUDA kernel generation, memory management, and differentiation automatically. You write Python functions, Warp compiles them, and you launch them with wp.launch() specifying the number of threads. It supports both CPU and GPU execution, making it suitable for prototyping on CPU and scaling to GPU without code changes. The framework is production-ready and actively maintained, with support for modern Python versions.
Use it for
- Simulate large-scale particle systems by writing physics kernels in Python and running them on GPU.
- Build differentiable physics simulators for inverse problems and machine learning by composing Warp kernels with PyTorch or JAX.
- Accelerate geometry processing tasks without writing native CUDA code.
- Prototype CPU-based simulations and deploy them to GPU with minimal code changes.
- Implement robotics control loops and spatial computations that require both performance and ease of iteration.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need GPU-accelerated simulation or geometry processing in Python and want to avoid writing native CUDA.
The framework is production-stable, actively maintained, has no known vulnerabilities, and integrates well with ML frameworks. Install friction is moderate due to platform-specific wheels and CUDA requirements, but pre-built wheels eliminate compilation overhead. Not suitable if you lack GPU hardware or need CPU-only performance without GPU fallback.
Install
warp-lang on PyPI
Before you install
Medium install friction due to platform-specific wheels (macOS ARM64, Linux x86-64 and aarch64, Windows x64) and CUDA driver requirements for GPU support. Actively maintained with recent releases; no compilation needed for pre-built wheels.
Python 3.10 or newer required; GPU support requires CUDA-capable NVIDIA GPU (minimum GeForce GTX 9xx) and compatible driver.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install warp-lang
import warp as wp
import numpy as np
@wp.kernel
def example(arr: wp.array):
i = wp.tid()
arr[i] = arr[i] * 2.0
data = wp.array(np.array([1.0, 2.0, 3.0]))
wp.launch(example, dim=3, inputs=[data])
print(data.numpy())
Verify before relying
- Performance characteristics and speedup factors compared to pure NumPy or native CUDA for typical workloads.
- Memory overhead of JIT compilation and kernel caching during runtime.
- Compatibility with specific PyTorch, JAX, and Paddle versions beyond basic integration claims.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 981,443 / month, #4,587 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: GPU :: NVIDIA CUDAEnvironment :: GPU :: NVIDIA CUDA :: 12Intended Audience :: DevelopersIntended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering |
Evidence: warp_lang-1.16.0-py3-none-macosx_11_0_arm64.whl; warp_lang-1.16.0-py3-none-manylinux_2_28_x86_64.whl; warp_lang-1.16.0-py3-none-manylinux_2_34_aarch64.whl; warp_lang-1.16.0-py3-none-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “robotics and geometry processing”
- warp-langWarp is a Python framework that JIT-compiles regular Python functions…
- coal-libraryCoal provides collision detection, distance computation, and contact…
- cmeel-urdfdomParses URDF (U-Robot Description Format) XML files into Python data…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also mujoco-warp · newton · nvalchemi-toolkit-ops · quadrants · cuda-python · mjlab · nvidia-nvjitlink-cu12 · newton-actuators · nvidia-cuda-nvrtc · simpy