My question is related to https://discourse.jupyter.org/t/how-to-transform-a-jupyter-notebook-into-a-webapp/758/13
I would like to make a jupyter web app so that:
I display a FileUpload widget
Choose and upload multiple files
Process the uploaded files
Display results like plots, data (as on a dashboard)
So far, I’m able to display the widget but all processing and plotting cells, that depend on the widget’s data are run before the files are chosen and loaded via the widget.
An way to achieve this?
I don’t know how fancy you are trying to make this or how soon you need it. I tried to make something similar with Voila and kept getting stuck making drag-n-drop multiple file upload work despite there being documented support for it now in the widgets library. I was just probably missing something I needed to activate or enable. The closest example I had come across is the ‘render-stl’ example at the Voila gallery. (That example is very close to what you seem to be trying to do as well.) Sadly, that is only a single file that gets uploaded, and I couldn’t figure out how to expand the allowed types of files. So I just used JupyterLab which supports drag and drop and made a notebook that opened by default and guided user through steps. The repo where you can also launch it from via MyBinder is here.
Looking forward to hearing what others have to say.
With Mercury you can easily deploy the notebook-app to any cloud. I’ve created step-by-step tutorials for Heroku and AWS EC2: Home · mljar/mercury Wiki · GitHub
Recently, I’ve added a file upload widget, so exactly what you needed. Here you have the example notebook with explanations how to transform notebook to web app with file upload widget File upload widget in Jupyter Notebook web app | MLJAR
If you have any further questions or need help, just let me know!