NewsLab
Apr 28 19:10 UTC

PyWry: Cross-Platform Rendering Engine in Python (deeleeramone.github.io)

24 points|by filipovic||10 comments|Read full story on deeleeramone.github.io

Comments (10)

10 shown
  1. 1. nycdatasci||context
    Interesting project. The examples page needs screenshots.
  2. 2. simonw||context
    One-liner with uv to try this out:

      uv run --with pywry python <<'EOF'
      app = PyWry()
      
      def on_button_click(data, event_type, label):
          """Called when the button is clicked."""
          app.emit("pywry:set-content", {"id": "greeting", "text": "Button was clicked!"}, label)
      
      html = """
      <div style="padding: 20px; text-align: center;">
          <h1 id="greeting">Click the button below</h1>
          <button onclick="window.pywry.emit('app:button-click', {time: Date.now()})">
              Click me!
          </button>
      </div>
      """
      
      app.show(
          html,
          callbacks={"app:button-click": on_button_click},
      )
      app.block()
      EOF
    
    Looks promising. Here's a screenshot: https://gist.github.com/simonw/092386c894d3a0deb2572f3155552...
  3. 3. swiftcoder||context
    Maybe I'm an old fart, but "rendering engine" used to mean 3D graphics. This is actually a cross-platform UI toolkit? Or rather a web toolkit than can be deployed to desktop via Tauri?
  4. 4. tuvix||context
    You’re not alone I was assuming it was 3D graphics as well. Disappointed to see, according to other comments, it’s a wrapper around python bindings to Tauri
  5. 5. simonw||context
    I had a poke around in the wheel and it looks like a lot of the heavy lifting is done by this 30.8MB binary file:

    pywry/_vendor/pytauri_wheel/ext_mod.cpython-310-darwin.so

    Looks like that's vendored from this project: https://github.com/pytauri/pytauri

  6. 6. rirze||context
    This feels like a Rube-Goldberg kind of integration. I would love to know if there's an actual use for this opinionated stack, because I would've never guessed it.
  7. 7. firebot||context
    Site is rendered extremely poorly on Firefox Mobile.
  8. 8. wisemanwillhear||context
    Interesting, I've been using Flet for my projects lately, and I've been very happy for desktop environments. Never tried it on web and phone platforms, but Flet has similar run-everywhere marketing which originally drew me in. Anyone know how PyWry differs from Flet?
  9. 9. JBorrow||context
    This cross platform rendering engine’s website doesn’t render well at all on Safari on the iPhone.
  10. 10. jmague||context
    This cross platform rendering engine’s website doesn’t render well at all on Chrome on Android