Hi everyone, I would like to share with you something I have been working on for the last few months.
I have been building a pyscript-based reactive web framework.
(GitHub - bassio/basis · GitHub)
Now, I am not a programmer by profession and I do this in my free time, but I think I am onto something.
The work is very early and highly experimental, and is definitely not production-grade. I was initially intending to keep it as a private repo for much much longer, but I thought I would get input from the community.
LTK ( GitHub - pyscript/ltk: Write browser apps entirely in Python · GitHub ) showed me that such a project is possible, but I did find it fell short from something I would like to use or commit to.
My suspicion is that frameworks going down the route of having their own DSL (even if they are in python), will never be as popular as the current popular javascript-frameworks, or even htmx for that matter.
My theory is, if the python community wants to build a python-in-the-browser framework that becomes popular, it has to use web based standards and syntax as much as possible, and that is html, css, and web components.Basis is my attempt at designing such a system. I see my solution to the problem is more elegant than HTMX, and it could only be enabled by pyscript.
In basis, interactivity and reactivity is left to python/pyscript but component templates and styling should remain as much as possible in html/css form.
I have built up a fair number of features so that it could compete in parity to large established frameworks such as Vue or Solid, including for example server side rendering (SSR), making it fully isomorphic python on server and browser, thanks to pyscript.
Thank you for your work on pyscript, a great product!
NB I have also posted this to pyscript’s discord and uploaded a demo screencast there
All feedback welcome.
Cheers