1

I tried to google this question, and I came across a million different links. Everyone describes different libraries and tools, but I felt there was too much unnecessary information online. It was as if anyone did a little python project created a youtube channel and tried to teach... so I wanted to ask the opinion of the community here with a hope to get a better answer.

Mainly, I would like to build a simple web-based tool that does a numerical analysis based on user input and puts results in table and figure format on the screen. What platform is best to do these below with python? Do you have any example you can share or direct me to? Please give me your insights on the subject matter. I already created the numerical analysis part of the python code using visual studio code.

Features of the tool would be:

  • Input arguments to be inputted in a table format with numeric values
  • A run button to execute the analysis
  • Show numerical results in a table format on the screen
  • Show 2D and 3D plots in results section
  • Results (tables and plots) should be printable into a pdf so a print button would be necessary
  • A menu bar where one can "save, saveas, open, ..." etc. One can save the input values into a "problem1.abc" file so it can be loaded later to directly execute.
  • A sign-in module at the beginning so only someone with authentication could use the app.
  • How does it work when multiple people wants to use the app? The webapp should be accessible to multiple people independently at the same time.

1 Answer 1

0

I would suggest taking a look at the Jupyter ecosystem where you can use JupyterLab as your user interface allowing you to mix markdown (for documentation) code, including external python files and graphs, etc. plus widgets for things like load data from file, etc.

This would give you a good & potentially sophisticated web interface complete with user interaction. Note that there is also a desktop client which is cross platform and very useful during development.

You can then move on to hosting a JupyterHub instance which can give you authentication and scalable resources especially if cloud hosted on a service such as AWS.

Note that by default the resulting page, including any tables and plots can be downloaded in a number of formats including pdf and even as slideshows using reveal.js. Exporting Pages

There are lots of examples of scientific & engineering notebooks available for inspiration such as https://github.com/weymouth/NumericalPython and https://github.com/jupyter/jupyter/wiki#a-gallery-of-interesting-jupyter-notebooks provides a nice list of examples.

You might also like to take a look at Kubernetes if your scale is expected to get large.

3
  • Thanks for the information. I will check those links you mentioned. I am having trouble finding an example of a web-based application with a user input table. Do you know, for example, if streamlit could have an editable-cell user input table?
    – Baja
    May 22, 2023 at 13:24
  • @Baja You could look at ipydatagrid or qgrid or even ipysheet. May 22, 2023 at 17:38
  • These (ipydatagrid, qgrid, and ipysheet) look great. Are these usable, for example, together with streamlit? @SteveBarnes
    – Baja
    May 23, 2023 at 18:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.