ctypeslib based python bindings to the Dawn WebGPU engine with a focus on the compute pipeline. Besides the autogenerated bindings, a small utils
interface (similar to wgpu-py) is provided to make it easier to run compute.
- Install from PyPI
pip install dawn-python
- Import utils, and webgpu
from pydawn import utils, webgpu
if __name__ == "__main__":
# Creating an adapter
adapter = utils.request_adapter_sync(power_preference=webgpu.WGPUPowerPreference_HighPerformance)
# Creating a device with a list of required features
dev = utils.request_device_sync(adapter, [webgpu.WGPUFeatureName_ShaderF16, webgpu.WGPUFeatureName_TimestampQuery])
For more details see examples/query_set.py
- Build dawn or use the pre-built lib in the repo
pip install ctypeslib2
clang2py -l libwebgpu_dawn.dylib webgpu.h --nm nm_patch.py -o webgpu.py
python3 examples/simple_compute.py
- MacOS
- Ubuntu
- Windows
BSD 3-Clause, please see LICENSE