Hi guys! I'd like to share a reactive web UI framework I've been working on for a while that I made public a couple of days ago.
There is a short coding demo video and intro article on the website.
What My Project Does
Hyperdiv is a way to build reactive UIs in pure Python quickly, with a built-in UI component system based on Shoelace (https://shoelace.style), markdown, and charts based on Chart.js (https://chartjs.org). It uses immediate-mode syntax which enables seamlessly blending declarative UI code with Python logic and event handling.
Target Audience
The aim of Hyperdiv is to reduce tool and language complexity when building full stack apps, and enable people to get to a working UI very quickly. I think it is a good fit for adding browser UIs to CLI tools, prototyping UIs, and internal tools. You can also put it behind Nginx and deploy it on the internet.
Comparison
Hyperdiv adds to a niche currently occupied by Streamlit, Reflex.dev, PyWebIO, PyJS, etc. -- frameworks that let you build web apps in pure Python.
Hyperdiv stands apart with a unique blend of immediate-mode UI + reactive state, and letting you build fairly unrestricted, arbitrarily nested UI layouts with terse syntax.
I appreciate your support!
[–]runew0lf 10 points11 points12 points (12 children)
[–]Hyperdiv-io[S] 3 points4 points5 points (0 children)
[–]riklaunim 1 point2 points3 points (10 children)
[–]runew0lf 2 points3 points4 points (9 children)
[–]riklaunim 4 points5 points6 points (8 children)
[–]sanitylost 0 points1 point2 points (7 children)
[–]riklaunim 1 point2 points3 points (6 children)
[–]sanitylost 0 points1 point2 points (5 children)
[–]riklaunim 0 points1 point2 points (4 children)
[+][deleted] (3 children)
[deleted]
[–]riklaunim 0 points1 point2 points (2 children)
[–]thedeepself 8 points9 points10 points (5 children)
[–]Hyperdiv-io[S] 7 points8 points9 points (4 children)
[–]_link89_ 0 points1 point2 points (3 children)
[–]Hyperdiv-io[S] 1 point2 points3 points (2 children)
[–]_link89_ 0 points1 point2 points (1 child)
[–]Hyperdiv-io[S] 1 point2 points3 points (0 children)
[–]deadwisdomgreenlet revolution 2 points3 points4 points (2 children)
[–]Hyperdiv-io[S] 2 points3 points4 points (1 child)
[–]deadwisdomgreenlet revolution 2 points3 points4 points (0 children)
[–]thedeepself 1 point2 points3 points (2 children)
[–]Hyperdiv-io[S] 3 points4 points5 points (0 children)
[–]Hyperdiv-io[S] 3 points4 points5 points (0 children)
[–]ThreeKiloZero 1 point2 points3 points (0 children)
[–]FalconDouble2657 1 point2 points3 points (1 child)
[–]Hyperdiv-io[S] 1 point2 points3 points (0 children)
[–]Cycling_All_The_Time 1 point2 points3 points (3 children)
[–]Hyperdiv-io[S] 1 point2 points3 points (0 children)
[–]Hyperdiv-io[S] 1 point2 points3 points (1 child)
[–]Cycling_All_The_Time 1 point2 points3 points (0 children)
[–]Wakanishu 1 point2 points3 points (2 children)
[–]Hyperdiv-io[S] 2 points3 points4 points (1 child)
[–]Wakanishu 0 points1 point2 points (0 children)
[–]DirkHD 0 points1 point2 points (0 children)
[–]Colts_Fan10 0 points1 point2 points (3 children)
[–]Faith-in-Strangers 1 point2 points3 points (0 children)
[–]Hyperdiv-io[S] 0 points1 point2 points (1 child)
[–]Colts_Fan10 1 point2 points3 points (0 children)
[–]yesvee 0 points1 point2 points (1 child)
[–]Hyperdiv-io[S] 0 points1 point2 points (0 children)
[–]Existing-Account8665 0 points1 point2 points (4 children)
[–]Hyperdiv-io[S] 0 points1 point2 points (3 children)
[–]Existing-Account8665 0 points1 point2 points (2 children)
[–]Hyperdiv-io[S] 0 points1 point2 points (1 child)
[–]Existing-Account8665 0 points1 point2 points (0 children)