-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding web support #138
base: main
Are you sure you want to change the base?
Adding web support #138
Conversation
I'm going to take a look when have time! Looks interesting. Right now web support is a part of Flet app template which is not ideal. |
Just a thought - it would be great to use serious_python_web for both client-side runtime (Pyodide) and server-side (connecting to server Python via websockets), like see this page is adoptable for both scenarios: https://github.com/flet-dev/flet/blob/main/client/web/index.html I see you are dynamically injecting JS references, which I like, I'm just wondering if we can adopt the approach for server-side run too. |
Hello, first of all: Thanks for the amazing project, it allows me to use a lot of scientific python packages, that I would have to re-write in Dart otherwise :)
I hope that I did not overlook something, but it seems like there is no implementation for running the python app on the web platform yet. This PR solves that situation.
About my approach:
SeriousPython.run
on the browser does the following:pyodide.js
library from https://cdn.jsdelivr.net/pyodide/v0.27.2/full/pyodide.js to the html fileI used this synchronous command approach, because for me, it does not seem to be possible to use Flask inside of a browser environment.
I also know that my approach can definitely be improved, but I unfortunately do not have the time currently to do so. I still wanted to create the PR to get feedback on the general approach and to enable community efforts :)
Possible improvements:
.zip
file instead of the unpacked archive by usingunpack_archive
from python: https://pyodide.org/en/stable/usage/loading-custom-python-code.htmlI am grateful for receiving any feedback!