I had some time off last week so I built a little tool I've been planning on using for a while now.
Thought I'd just comment on my motivations for building this.
I bought a little chromebook tablet to take on holidays. I've been enjoying the experience of using a remote IDE to code on my personal server.
I thought it would be neat if I could quickly make myself GUIs for other utilities on my remote server that get rendered on my chromebook. Doing this like being able to run bash scripts remotely.
I start utility scripts with this tool and then just use ssh port forwarding to view it locally.
The fun bit is the application itself is then just written in python.
There are some similar alternatives[1] but I wanted to be able to write GUI elements like ImGUI so I decided to build my own tool in the end.
I just wrote it in python because that's what I've been using at work lately.
Another LiveView-like UI framework for Python: https://github.com/flet-dev/flet - created specifically for highly interactive real-time experiences. You build your UI from controls made of Flutter widgets and partial UI updates are passed to a browser via WebSockets.
Right? I know Google has a habbit of dropping great projects, but, somehow, I believe in the future of Flutter on web :) Using Canvas + Skia + WebAssembly for rendering UI in the browser could look like a "wrong" approach today, but, hey, Google created the most popular browser, so who knows. They talk about their vision in this video: https://youtu.be/kCnYRhkfWHY. Flutter is great for web apps, not for web sites where SEO is important. And Google is actively working on better accessibility support - Accessebility Object Model (starting at 10:00 in that video) which is eventually could to be a new standard.
Dear ImGUI also has python bindings [1] which I've had great success with in tuning computer vision algorithms interactively. It's a slightly different use case than your project here since it doesn't use a browser and only works locally.
Nice. I wonder.. if you could use pyscript [0] + some kind of js-based in-browser http server such as nohost [1] or WebRTC peer to peer.. could you run serve the GUI to other browsers just by opening it in the browser itself?
I had some time off last week so I built a little tool I've been planning on using for a while now.
Thought I'd just comment on my motivations for building this.
I bought a little chromebook tablet to take on holidays. I've been enjoying the experience of using a remote IDE to code on my personal server.
I thought it would be neat if I could quickly make myself GUIs for other utilities on my remote server that get rendered on my chromebook. Doing this like being able to run bash scripts remotely.
I start utility scripts with this tool and then just use ssh port forwarding to view it locally.
The fun bit is the application itself is then just written in python.
There are some similar alternatives[1] but I wanted to be able to write GUI elements like ImGUI so I decided to build my own tool in the end.
I just wrote it in python because that's what I've been using at work lately.
[1] https://github.com/dbohdan/liveviews#python