My team is currently developing a fairly quick clustering job using Pandas for business analysts. We're planning on hosting a local server where the end user can input a few parameters to be used during the routine execution, which will access an internal database and then return a CSV file.
A Jupyter server would be ideal for us, but the problem is that we can't have the user being able to edit the underlying code - all he needs to do is supply the parameters and start job execution. Converting it to HMTL, I think, turns everything static and means we can't delived updated data on demand.
Plan B is just making a small django app but I'm wondering if there's a way to accomplish what I need with Jupyter itself, or else if there's any better alternative for similar use cases? We don't even plan to display any widgets, just provide the user with the raw data output.
thanks in advance
It is almost impossible to enable good code versioning Due to the fact that jupyter notebooks are stored as big JSON files merging two notebooks is virtually impossible. This is bad because we cannot apply tools for software teams like a good git workflow will pull requests and reviews.
Disadvantages of Jupyter Notebook It is very hard to test long asynchronous tasks. Less Security. It runs cell out of order. In Jupyter notebook, there is no IDE integration, no linting, and no code-style correction.
The notebook file can have its write permissions unset:
$ chmod -w notebook.ipynb
The notebook is still interactive, but the notebook file will not change.
There is also an notebook extension, Freeze which allows to lock (allow execution but not edit cell contents) or freeze (disables editing and execution) individual code cells or markdown blocks. This is important as order of execution for code cells matters while running notebook. This presentation at JupyterCon has more details on it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With