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·hace 2 meses·16 comments

comments

pstomi
·hace 2 meses·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
·hace 2 meses·discuss
Yes, back to 1999!
pstomi
·hace 2 meses·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
·hace 2 meses·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
·hace 2 meses·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
·hace 2 meses·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
·hace 3 meses·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
·hace 3 meses·discuss
It render extremely fast on my side (firefox, macOS). Which UI stack are you using? Is it egui?
pstomi
·hace 3 meses·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
·hace 3 meses·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 :-)