Skip to main content

No project description provided

Project description

xgpu

xgpu is an aggressively typed, red-squiggle-free Python binding of wgpu-native, autogenerated from the upstream C headers.

Not 'production ready'.

Install

Wheels are built for Mac (x86 only), Windows, and Linux for Python 3.7+:

pip install xgpu

Motivation

Why another webgpu/wgpu_native binding when wgpu-py already exists and is semi-mature?

  • Typing: xgpu takes full advantage of Python type annotations, enabling quality of life features like IDE autocomplete for enum values
  • Up to date: xgpu is 99% autogenerated from the headers, and aims to always be in sync with the latest wgpu-native release
  • Performance: xgpu is substantially faster than wgpu

Conventions/Philosophy

xgpu is a mostly 1-to-1 binding of webgpu.h (+wgpu.h from wgpu-native).

General name conventions

xgpu largely tries to maintain the names from webgpu.h rather than localizing them into Python's conventions.

  • Names keep their formatting from webgpu.h but lose WGPU prefixes: WGPUTextureSampleType -> TextureSampleType
  • Fields: WGPUAdapterProperties.vendorName -> AdapterProperties.vendorName
  • Member functions: wgpuDeviceHasFeature -> Device.hasFeature
  • Enum values: WGPUTextureUsage_CopySrc -> TextureUsage.CopySrc
    • Names invalid in Python are prefixed with "_": WGPUBufferUsage_None -> BufferUsage._None, WGPUTextureDimension_2D -> TextureDimension._2D

Struct constructors

webgpu.h requires constructing various structs, for example WGPUExtent3D. These can be created in two ways:

# Recommended: create explicit initialized struct (note lowercase name)
extents = xgpu.extent3D(width = 100, height = 100, depthOrArrayLayers = 1)

# Alternative: create 0-initialized struct and then mutate values
extents = xgpu.Extent3D()
extents.width = 100
extents.height = 100
extents.depthOrArrayLayers = 1

Member functions

As a C API, webgpu.h follows typical C convention for member functions, which is to define them like:

uint32_t wgpuTextureGetHeight(WGPUTexture texture)

In xgpu these become genuine member functions, e.g.,

class Texture:
    def getHeight(self) -> int

Array arguments / fields

Some webgpu.h functions and structs take arrays using the convention of passing first the array item count, and then the array pointer, e.g.,

void wgpuQueueSubmit(WGPUQueue queue, size_t commandCount, WGPUCommandBuffer const * commands)

typedef struct WGPUPipelineLayoutDescriptor {
    // ...
    size_t bindGroupLayoutCount;
    WGPUBindGroupLayout const * bindGroupLayouts;
} WGPUPipelineLayoutDescriptor;

These are translated to take lists:

class Queue:
  def submit(self, commands: List[CommandBuffer]])

def pipelineLayoutDescriptor(*, bindGroupLayouts: List["BindGroupLayout"])

Enums and Flags

Enums are translated into IntEnums:

mode = xgpu.AddressMode.MirrorRepeat
print(int(mode))  # 2
print(mode.name)  # "MirrorRepeat"

mode = xgpu.AddressMode(2)
print(mode.name)  # "ClampToEdge"

Some enums are meant to be ORed together into bitflags. These can be combined in the natural way:

usage = xgpu.BufferUsage.MapRead | xgpu.BufferUsage.CopyDst
print(usage) # prints: 9

This works because IntEnums inherit all the int methods include bitwise operations; however, this discards the type information. A slightly more annoying but type-safer way is:

usage = xgpu.BufferUsage.MapRead.asflag() | xgpu.BufferUsage.CopyDst
print(usage) # prints: BufferUsage.MapRead | BufferUsage.CopyDst

You can also create typed flags from bare ints:

usage = xgpu.BufferUsageFlags(0b1001)
print(usage) # prints: BufferUsage.MapRead | BufferUsage.CopyDst

You can test for a particular flag with the python in operator:

has_map_read = xgpu.BufferUsage.MapRead in mybuffer.getUsage()

Callbacks

Callbacks must be explicitly wrapped in the appropriate callback type:

def my_adapter_cb(status: xgpu.RequestAdapterStatus, gotten: xgpu.Adapter, msg: str):
    print(f"Got adapter with msg:'{msg}', status: {status.name}")

cb = xgpu.RequestAdapterCallback(my_adapter_cb)

Chained structs

The webgpu.h structure chaining convention is represented by ChainedStruct, whose constructor takes a list of Chainable and automatically creates the linked chain.

shader_source = """..."""
shader = device.createShaderModule(
    nextInChain=xgpu.ChainedStruct(
      [xgpu.shaderModuleWGSLDescriptor(code=shader_source)]
    ),
    hints=[],
)

Byte buffers, void pointers

xgpu has two translations for void *: VoidPtr represents a pointer to opaque data (e.g., a window handle) while DataPtr represents a pointer to a sized data structure (e.g., texture data you want to upload).

For example,

# Note use of VoidPtr.NULL and VoidPtr.raw_cast
surf_desc = xgpu.surfaceDescriptorFromWindowsHWND(
    hinstance=xgpu.VoidPtr.NULL,
    hwnd=xgpu.VoidPtr.raw_cast(self.window_handle),
)

# DataPtr.wrap can wrap anything supporting the 'buffer' interface
bytedata = bytearray(100)
wrapped = xgpu.DataPtr.wrap(bytedata)

queue.writeBuffer(
  buffer=some_buffer, 
  bufferOffset=0,
  data=wrapped
)

# This includes numpy arrays
my_array = np.ones(100, dtype=np.float32)
wrapped = xgpu.DataPtr.wrap(my_array)

Codegen/Local Build

You will need bun to run the codegen. Deno might work but just go ahead and install bun. You will also need to have ruff and cffi installed in python (pip install ruff cffi).

Then:

python codegen/fetch_wgpu_bins.py
bun codegen/generate.ts
cd xgpu
python _build_ext.py
cd ..
pip install .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

xgpu-0.7.2-pp310-pypy310_pp73-win_amd64.whl (2.7 MB view details)

Uploaded PyPyWindows x86-64

xgpu-0.7.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

xgpu-0.7.2-pp39-pypy39_pp73-win_amd64.whl (2.7 MB view details)

Uploaded PyPyWindows x86-64

xgpu-0.7.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

xgpu-0.7.2-pp38-pypy38_pp73-win_amd64.whl (2.7 MB view details)

Uploaded PyPyWindows x86-64

xgpu-0.7.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

xgpu-0.7.2-pp37-pypy37_pp73-win_amd64.whl (2.7 MB view details)

Uploaded PyPyWindows x86-64

xgpu-0.7.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

xgpu-0.7.2-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

xgpu-0.7.2-cp312-cp312-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

xgpu-0.7.2-cp312-cp312-macosx_10_13_universal2.whl (3.9 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

xgpu-0.7.2-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

xgpu-0.7.2-cp311-cp311-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

xgpu-0.7.2-cp311-cp311-macosx_10_13_universal2.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 10.13+ universal2 (ARM64, x86-64)

xgpu-0.7.2-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

xgpu-0.7.2-cp310-cp310-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

xgpu-0.7.2-cp310-cp310-macosx_10_13_universal2.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 10.13+ universal2 (ARM64, x86-64)

xgpu-0.7.2-cp39-cp39-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.9Windows x86-64

xgpu-0.7.2-cp39-cp39-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

xgpu-0.7.2-cp39-cp39-macosx_10_13_universal2.whl (3.9 MB view details)

Uploaded CPython 3.9macOS 10.13+ universal2 (ARM64, x86-64)

xgpu-0.7.2-cp38-cp38-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.8Windows x86-64

xgpu-0.7.2-cp38-cp38-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

xgpu-0.7.2-cp38-cp38-macosx_10_13_universal2.whl (3.9 MB view details)

Uploaded CPython 3.8macOS 10.13+ universal2 (ARM64, x86-64)

xgpu-0.7.2-cp37-cp37m-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.7mWindows x86-64

xgpu-0.7.2-cp37-cp37m-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.28+ x86-64

File details

Details for the file xgpu-0.7.2-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d50c9fe1e0cdf9314ca5f0ce39f827b61662d783c7c86064fc31120dd8f730be
MD5 79b7ef584f4a5a9defc5e8e7050b27b6
BLAKE2b-256 1d7e92860d89beb72949bd182723e741907218ed7da63a54dad60f558f8f582c

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bb5b1ac6bd0089597ffe24853d09544ee63c3ff6991b027fb7d113d9742c19ac
MD5 2ec03c5d49fae66416849e9b812598e5
BLAKE2b-256 c744d0dc16d1873bc1e2e8baef1c32f4e692df8bc71371a79f047f424a45a638

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 796605cf62ea2ecdca727f1aede642061507ea15180cd2368675899516ba3a50
MD5 bfe68159a8c9d1662cddda1e1c0f461f
BLAKE2b-256 53edbdb54ab00e1b96cf3d08a8ee602efa05b4794d64897bd51f689f7145cefd

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e891abe6fd63c433b85d3b0b2070e49cac7be9f12456e968d01570b1513f7505
MD5 8be2a389ae7cd17c2e2a7fc2c517f724
BLAKE2b-256 c81c0719dde40f0bdb236761fbbbf7cccb547f3b042629ce163853051897150b

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 e9112de13cf87b2f3577f477b48557e452b3ae22d20c6ba5a8100bd021f6e5d0
MD5 a9875a8f2fa751fccdbe70073ebc1218
BLAKE2b-256 ec41bcde65ec8b542ca73a27262ea9ef30c971c06581499f1299b693f04920c9

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 39a360471aef9c276c3c83bc739a8ba182c8cb648bf4ed59d7e4a31edb567f6d
MD5 8a9a15fa3b523727f9c7dd119374ace5
BLAKE2b-256 d712b60b2338837f5c90907c3308037b432905905df9de9870cc48b65564c127

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 3b20d767e95c2ea731e53b43021a5057dcf62eb7ec1c226a86726b54461de5e6
MD5 ae9be8c554569ea86a74ec553128cac2
BLAKE2b-256 3cf3c0688fda04cb64e36530c4d9b69c02d92e2eb51aa926bde17c6fb08ff000

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a512793c1a599483d4f59de5a33a8372a92d94e631959fa5d9dc6bef55c0902
MD5 76545c5b0e165db9884c3571e5e94561
BLAKE2b-256 4a114c757fb60bc51d8c1f2032bf1c9a7d7345e7845cd128329e9634d9b3586e

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aedf8731cb64c2fdcc7269ddf61debcf63d6c3b01dfc48ae7f8425ab710c7ad4
MD5 220a539c546ecf512adb20afb10abb41
BLAKE2b-256 047b73289e0feafeedb3eee518a6f07c78439e526b9660ec3a30563ee6739624

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c2a368e5c1784b6495281f20dff12f0bcbc50dc4d94b928603f814714a539ce
MD5 3686857d2a34ba975660d5d549b96f52
BLAKE2b-256 0b84398bf72028fff13de70bf81ae032ed613465f8a50205080dbbf096b6d0df

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 304f8eac32cd312ed4f14c6d5591fe450068d1d28f76a94034f8203def689005
MD5 bd0a0a46a5310c2b7616bfd740dda3f9
BLAKE2b-256 28d1b5e772355590086b74d0b8b6d4781def7b6db2aba2a119bfbe56029edd29

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 77c1d371b43c1812d063a71dc1f4aaeb1a80a7f84ecb41af33cf6c85c3e34002
MD5 0875c5df1550996d7b064216cb83fb67
BLAKE2b-256 51c63cb151418c98152f201f28a2c56fb1f187c7258276945e0bc4935300b27a

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77abd29bf5494c96a325924b123af9b6b32ca933918199a8f0c445f7c7c98691
MD5 7876f253230e6e2ad8f7df98a9343da0
BLAKE2b-256 2b10fe08151546251aae417244a49fbfb0f29aa348544fdc613e695e1f909e53

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp311-cp311-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp311-cp311-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 499492e0ce675cf035d3b376fb9e5e42aa56955e5244e4b7926545e3fd976b5f
MD5 c55f2210e333483cc8d1b211e8c33ca2
BLAKE2b-256 126c564ded05060dd62caa1d0306f95d155b6647327b3f93cee939727d60d21b

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 214fd8904ce59687c473a9733d79a8c4f54635142e55a0fe4a0aa0418f897751
MD5 1147a305c0067305c2f5a54b53009b7d
BLAKE2b-256 2a4d0ca87e89993c723995ecf82ff7d8241298d8ccc2fdd9c848044114d5153e

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a05a17134fb78a37cf72b1995cd20d88da6ac8f65f81ed975cba524cb10ac02
MD5 3354166ee72d56f084c75d4157286d2c
BLAKE2b-256 92312ee88a84c14d8a2e764b3e3f914839cdbcfde4eb959b5d3da364f5ec7c43

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp310-cp310-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp310-cp310-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 63a4e5db9532aeeeb11bc3f510b7981278a9328b3c44b45bc0698ba3ca9eaffd
MD5 ff3ece82a436e3d5ee768dad5843ed15
BLAKE2b-256 636e14869843fbe95c34abec2f488fe25e2da8a6cb2667739b98c6d189097e31

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 985fe76b1305ca70c28f0f38a7bf53eae97ef558f5112242779d9d0e86128237
MD5 01d5364d15e243b0db5838d57d65af29
BLAKE2b-256 2873bfd9e40079fd32a431d1e1485a69a260c17fc49962af88900c16d05cac14

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b3ccdca978fe5e64afe90ee18899a070fe138139b0dbf3c89ad96df66530550
MD5 ff226b3efb0e98cd039122096896dd3d
BLAKE2b-256 4e0d77c88c701b0390a5c76068ef94d12e7e1d5d5c98a7e79418b58f1ce78103

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp39-cp39-macosx_10_13_universal2.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp39-cp39-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.9, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp39-cp39-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 8685f231662d85f68b838d01eb9a323cef2690fdc7184db7c4806fd916d991e0
MD5 57f1bb1a8a74400628ce2a27c4cc905b
BLAKE2b-256 af4f88656f2af035b2e5c4bb00295d15f24d824ff716d09ea912f89b207a87db

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 943ee54d39592705a6329640b79dc29e489d9e6750cb09801d18838e4b8bf6e5
MD5 0acba95301677408768e82faf1f12143
BLAKE2b-256 a3f7a5aadf07b29e955d5039a0fd3c5a41765f163b96da03a437ff2d794c9449

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4550dc5dc6d2f3210c5b8b9f931cf1ed5e6faa896876ba8e80c5381272523d2
MD5 e8be9f404a5feb158496434312465f85
BLAKE2b-256 a335b86e6eed6edd78ecbbe03928d3ac7f93f80da7c9d2f8ec9d089d100a9154

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp38-cp38-macosx_10_13_universal2.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp38-cp38-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.8, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp38-cp38-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 df9d1569da2f08e35f0a217b04a81c6f79b329534a231af530fd01aee022c95e
MD5 1f59cff66709e10873617da67db84e6c
BLAKE2b-256 9782d8d21ba7d9ca4d07ecd7315a7576e4bebd7f2d34eccd81e9039d3196dc67

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: xgpu-0.7.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for xgpu-0.7.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 26caeaae4985db9ba77c150d2da0a587a1f8cf427eefa210179ecf4d2d1f53c7
MD5 99901c9a5ac885571c77a660ed17a73e
BLAKE2b-256 160deb58f43fd87bf5185671485be415ee5a2ca0208d7d5821c46bcccd23c633

See more details on using hashes here.

File details

Details for the file xgpu-0.7.2-cp37-cp37m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xgpu-0.7.2-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a41c26343e3e1f0258840a78d63db9de3db783fa5cfb63730177beebcd7afdd
MD5 3b0334a24e3ac735318e091562598d28
BLAKE2b-256 06eb10bea34c241cecebbfad7bf9cb793fadc6eecee4026c95c74f4d3214b89f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page