Pygfx

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • wgpu-py

    WebGPU for Python

    Sorry, I'll try to be clearer. QRhi docs[1] say "The Qt Rendering Hardware Interface is an abstraction for hardware accelerated graphics APIs, such as, OpenGL, OpenGL ES, Direct3D, Metal, and Vulkan." And PySide6 includes a (python) wrapper for QRhi[2]. Meanwhile, pygfx builds on wgpu-py[3] which builds on wgpu[4] which is a "is a cross-platform, safe, pure-rust graphics API. It runs natively on Vulkan, Metal, D3D12, and OpenGL".

    So, from the standpoint of someone using PySide6, QRhi and pygfx seem to be alternative paths to the exact same underlying graphics APIs.

    Thus my question: How do they compare? How should I make an informed comparison between them?

    [1] https://doc.qt.io/qt-6/qrhi.html

    [2] https://doc.qt.io/qtforpython-6/PySide6/QtWidgets/QRhiWidget...

    [3] https://github.com/pygfx/wgpu-py/

    [4] https://github.com/gfx-rs/wgpu

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • VisPy

    Main repository for Vispy

  • xgpu

    WebGPU (webgpu.h) Python bindings

    https://pypi.org/search/?q=wgpu

    Looks like xgpu is where it's actually at.

    xgpu: https://github.com/pyrym/xgpu :

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

    wgpu-py has a conda-forge package: https://anaconda.org/conda-forge/wgpu-py

  • fastplotlib

    Next-gen fast plotting library running on WGPU using the pygfx rendering engine

    Apart from being based on wgpu, Pygfx also has a better design IMO. Korijn deserves the credit for this. It's inspired by ThreeJS, based on the idea to keep things modular.

    We deliberately don't try to create an API that allows you to write visualizations with as few lines as possible. We focus on a flexible generic API instead, even if it's sometimes a bit verbose.

    We leave it up to others to create higher level (domain specific) APIs. Fastplotlib is one example: https://github.com/fastplotlib/fastplotlib

  • wgpu

    A cross-platform, safe, pure-Rust graphics API.

    Sorry, I'll try to be clearer. QRhi docs[1] say "The Qt Rendering Hardware Interface is an abstraction for hardware accelerated graphics APIs, such as, OpenGL, OpenGL ES, Direct3D, Metal, and Vulkan." And PySide6 includes a (python) wrapper for QRhi[2]. Meanwhile, pygfx builds on wgpu-py[3] which builds on wgpu[4] which is a "is a cross-platform, safe, pure-rust graphics API. It runs natively on Vulkan, Metal, D3D12, and OpenGL".

    So, from the standpoint of someone using PySide6, QRhi and pygfx seem to be alternative paths to the exact same underlying graphics APIs.

    Thus my question: How do they compare? How should I make an informed comparison between them?

    [1] https://doc.qt.io/qt-6/qrhi.html

    [2] https://doc.qt.io/qtforpython-6/PySide6/QtWidgets/QRhiWidget...

    [3] https://github.com/pygfx/wgpu-py/

    [4] https://github.com/gfx-rs/wgpu

  • score

    ossia score, an interactive sequencer for the intermedia arts

    QRhi is pretty much the exact same goal than pygfx with a different implementation: https://github.com/qt/qtbase/tree/dev/src/gui/rhi

    I've been using it for 4-ish years now in https://ossia.io

    Pros:

  • Qt

    Qt Base (Core, Gui, Widgets, Network, ...)

    QRhi is pretty much the exact same goal than pygfx with a different implementation: https://github.com/qt/qtbase/tree/dev/src/gui/rhi

    I've been using it for 4-ish years now in https://ossia.io

    Pros:

  • Panda3D

    Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

    linky-linky: https://github.com/panda3d/panda3d#readme (BSD-3 clause, more or less, saying one cannot use CMU's name to promote your product)

  • colour-visuals

    WebGPU-based visuals for colour science applications

    Pygfx is awesome!

    For years, we have looked at something solid to be able to implement 3D colour science visualisation. We used Vispy, but encountered some issues when interacting with the scenegraph, then a quick stint with Three.js which required doing dirty things to pass Python data to Javascript, and finally, Pygfx is the one that enabled us to do what we wanted: https://github.com/colour-science/colour-visuals

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Is it a crazy idea to create a 3D operating system?

    5 projects | /r/osdev | 21 May 2023
  • Pygfx/wgpu-py: Next generation GPU API for Python

    1 project | news.ycombinator.com | 20 Feb 2024
  • I don't understand how the process of voxelization is supposed to work.

    1 project | /r/GraphicsProgramming | 29 May 2023
  • I'm working on techno audio-visuals using Ableton & Javascript

    1 project | /r/Techno | 5 May 2023
  • Chrome Ships WebGPU

    17 projects | news.ycombinator.com | 6 Apr 2023

Did you konow that Python is
the 1st most popular programming language
based on number of metions?