HackerTrans
TopNewTrendsCommentsPastAskShowJobs

pstomi

no profile record

Submissions

Show HN: Full Python GUI apps in the browser – no JavaScript, no server

github.com
29 points·by pstomi·2 miesiące temu·16 comments

comments

pstomi
·2 miesiące temu·discuss
Thanks!

Yes I do have access to webgl. I added some examples to explain this:

For example look at:

https://imgui-bundle.pages.dev/playground/?demo=webgl_textur...

There are two more examples: look at the WebGL examples in the combo-box at the top-right of the page.

Enjoy! If you end up using it, please try to keep me informed :-)
pstomi
·2 miesiące temu·discuss
Yes, back to 1999!
pstomi
·2 miesiące temu·discuss
This is a genuine question, and I will be honest: I do not really dislike JS. I even worked on large typescript projects and appreciated it.

What I do not like is the strange mix of technologies you have to cope with in order to work with Python on the web: your project is often a mix of python / html / css / react / js / node.

Many very nice frameworks try to abstract this and present you only the python side; but they rely on this stack internally. Once you want to reach complex use cases (such as a refresh at reasonable rate), you will have to "open the engine" and enter into this mix.
pstomi
·2 miesiące temu·discuss
Absolutely. This shines when you actually want to display complex / animated / streaming data in larger applications; or if you want to create educative or training material on several pages (i.e apps here).

As an example, I once built an online stock/ticker app with it: smooth real-time updates in a nice plot. It would have been more complex with DOM based widgets (and probably less fun).
pstomi
·2 miesiące temu·discuss
Thanks! I don't like javascript either, and I certainly dislike CSS :-)

Yes, the initial download of pyodide is about 5 MB. After that it is another 5MB for the bundle wheel.

But there is some hope: Based on test I just did, I see I did not setup headers so that the wheel and pyodide are cached in a browser (or in its fs): this could reduce reload times by a sizable factor.

Once loaded you can run at 60 FPS (or even 120 FPS depending on the browser's vsync).

As you can see in the playground: you can then switch from app to app instantly once pyodide is loaded and running. It almost feels like going from a page to another. You can see that when using the combobox to select example at the top right in the playground.
pstomi
·2 miesiące temu·discuss
Thanks for the question! I should have said almost no JavaScript:

There is a minimal amount of JavaScript just to download and run pyodide and then it is only Python: see example at

https://imgui-bundle.pages.dev/playground/?demo=p_35_minimal...
pstomi
·3 miesiące temu·discuss
Algolia docsearch would host an AI view of the doc, on its own website with its own stack, no?

It resembles deepwiki (which I used on several of my projects, see for example https://deepwiki.com/pthom/imgui_bundle).

If algolia is close to deepwiki as I suspect, that does not replace the original doc site: it needs to index an existing doc site before. So adding (even a simple) search to this site would be worth it imho.
pstomi
·3 miesiące temu·discuss
It render extremely fast on my side (firefox, macOS). Which UI stack are you using? Is it egui?
pstomi
·3 miesiące temu·discuss
By reading your initial script,I see that there was absolutely no parallelisation in the initial build.

Was it a choice because you wanted to compare only single core performances?
pstomi
·3 miesiące temu·discuss
I looked at your doc book (https://sycamore.dev/book/guide). I suppose it uses sycamore itself. Do you plan to add a search to it?

(if the "search implementation" is readable enough, it may perhaps also serve as teaching material :-)