[HN Gopher] Show HN: Mercury - Convert Jupyter notebooks to web ...
       ___________________________________________________________________
        
       Show HN: Mercury - Convert Jupyter notebooks to web apps
        
       Author here. Mercury is the simplest way to serve your notebooks as
       web apps. The simplicity of the framework is very important to us.
       Mercury has some useful features to make sharing easier:  - you can
       show or hide your code,  - your users can easily export executed
       notebook to PDF/HTML,  - there is built-in authentication,  - you
       can produce files in the notebook and make them downloadable,  -
       you can share multiple notebooks.  We also care about deployment
       simplicity. That's why we created a shared hosting service called
       Mercury Cloud. You can deploy notebook by uploading a file. Below
       clickable links:  The GitHub repository
       https://github.com/mljar/mercury  Documentation
       https://RunMercury.com/docs/  Mercury Cloud
       https://cloud.runmercury.com
        
       Author : pplonski86
       Score  : 113 points
       Date   : 2023-06-02 13:01 UTC (10 hours ago)
        
 (HTM) web link (runmercury.com)
 (TXT) w3m dump (runmercury.com)
        
       | joewhale wrote:
       | Really cool stuff. I run demos for clients with the data my
       | company sells and this will be great for quick customized
       | demos/use cases.
        
       | rorads wrote:
       | Looks good! I'll certainly give it a try.
       | 
       | Just FYI, the layout in the "deployment" box near the bottom of
       | the splash page is very shrunken on iPhone - so narrow that
       | there's basically one character width.
        
         | pplonski86 wrote:
         | Thank you! I've fixed deployment box.
        
       | queens_ridge wrote:
       | Interesting. I wonder how it compares to Voila. What I like about
       | Voila is that you can use ipywidgets natively and then render
       | Jupyter Notebooks directly to a web-app. Maybe this will be a
       | decent competitor.
        
         | pplonski86 wrote:
         | Main differences to Voila:
         | 
         | - Mercury has no callbacks - we automatically re-execute cells
         | below updated widget,
         | 
         | - Mercury has no layout widgets, all input widgets are always
         | in the left sidebar and output content appear in the same order
         | as in notebook.
         | 
         | Thanks to above decisions you don't need to rewrite your
         | notebook to fit UI framework paradigms.
        
           | queens_ridge wrote:
           | That's great to hear. Voila is easy to use but I've always
           | found difficulty make the UI look clean. Thanks!
        
         | yboris wrote:
         | Quick link: https://github.com/voila-dashboards/voila
         | 
         | Humbly recommend when you share a product, you include a link
         | to it ;)
         | 
         | https://voila.readthedocs.io/en/stable/
        
         | sireat wrote:
         | Mercury certainly seems worthy of keeping an eye out.
         | 
         | Voila is the obvious competitor to this. There are also
         | different oranges and apples such as Dash, Streamlit, Panel:
         | https://anaconda.cloud/dashboardlandscape - obviously Anaconda
         | is a bit biased here.
         | 
         | I suppose the biggest limitation to Mercury is the limited
         | number of widgets. Good for quick demos.
         | 
         | Also deployment is a bit unclear at the moment - I wonder how
         | easy it is to keep Mercury deployed in a separate Docker
         | container - that is I do not want to keep random ports open on
         | my notebook server.
         | 
         | Then again probably deployment/hosting is how Mercury expects
         | to make some money.
        
           | pplonski86 wrote:
           | Mercury is for quick demos. It is not a full web framework.
           | The simplicity of the framework is very important for us.
           | 
           | We hope to extend widgets offering in the near future.
           | 
           | You are right. We are working on Mercury Cloud service where
           | you can just upload notebook to deploy it. We have free and
           | paid plans. But you can also self-host Mercury with docker-
           | compose.
        
         | maartenbreddels wrote:
         | Co-creator of Voila here. Voila is rather un-opinionated about
         | what you can run in it. While it offers excellent support for
         | ipywidgets, it's certainly not confined to that. One downside
         | of Voila is that it can be resource-intensive, as it creates a
         | new kernel/process for each page view or browser tab.
         | 
         | Mercury, in my view, seems really interesting for quick demos
         | and reports. It's somewhat akin to Streamlit, making it ideal
         | for notebook authors.
         | 
         | On the other end of the spectrum (and pardon my shameless plug
         | here), there's Solara (https://github.com/widgetti/solara/).
         | Solara is a fully-fledged web framework for Python,
         | specifically designed to handle app sizes that surpass what
         | Streamlit and Dash can manage. It's worth noting that Solara
         | can render ipywidgets, using a pure Python React-like
         | framework. This can be particularly useful after the
         | exploration phase, when you're looking to transition a project
         | from the notebook into production.
        
       | andylynch wrote:
       | Definitely going to try this out. Looks like an interesting
       | complement to Shiny for Python.
        
         | yboris wrote:
         | Quick link: https://github.com/rstudio/py-shiny/
         | 
         | Humbly recommend you share a link to a product when you share
         | it ;)
         | 
         | https://shiny.posit.co/py/
        
       | ris58h wrote:
       | Off-topic: there are some CSS issue on the site in Firefox for
       | Android.
       | 
       | I wish developers care more about non chrome users.
        
         | pplonski86 wrote:
         | That was my first website in Next.js framework ... sorry! I've
         | used nextra.site for creating docs.
        
       | wtatum wrote:
       | Not (necessarily) relevant to this solution, but I've recently
       | come across a use case where it would be valuable to allow third-
       | party (semi-trusted) individuals to sandbox/build/test some data
       | processing/transformation pipelines in Jupyter and then
       | "operationalize" that into ongoing ETL in my main webapp/API once
       | they're finished. Not the same use case as Mercury but still in
       | the bucket of hoisting a notebook into a more
       | repeatable/operationalizable runtime. Does anyone have experience
       | with something like that?
        
         | sambucini wrote:
         | I'm using Papermill to operationalize Notebooks
         | (https://github.com/nteract/papermill), it e.g. also has
         | airflow support. I'm really happy with papermill for automatic
         | notebook execution, in my field it's nice that we can go very
         | quickly from analysis to operations -- while having super
         | transparent "logging" in the executed notebooks.
        
       | [deleted]
        
       | kolibril13 wrote:
       | Thanks for sharing, I'll give it a try! The last few weeks I've
       | used a similar framework called solara to convert my Jupyter
       | notebooks into web apps https://github.com/widgetti/solara
        
       | layer8 wrote:
       | I don't think your cookie popup is ePrivacy-compliant (no opt-out
       | for non-essential cookies).
        
       | nerpderp82 wrote:
       | Can someone give a survey of all the Jupyter -> WebApp
       | frameworks?
       | 
       | The other thing, I'd _really_ like is being able to have multiple
       | simultaneous editors of a single notebook so we can all jam on it
       | on at the same time ala Google Docs.
        
         | dr_kiszonka wrote:
         | RE: "the other thing", you can do multiplayer for free in
         | VSCode using Live Share or pay for a DeepNote account. (I am
         | sure there are more ways to do it.)
        
         | pplonski86 wrote:
         | It is possible. Please take a look at Jupyter Real Time
         | Collaboration
         | https://jupyterlab.readthedocs.io/en/stable/user/rtc.html
        
         | hackernewds wrote:
         | Ahhhh poor form promoting competitions instead of a ShowHN no?
        
       | sambucini wrote:
       | I find this super interesting!! while having a quick look, I got
       | the impression, that Mercury runs 1 web service for 1 notebook
       | right? For me it would be very helpful to something like a
       | dashboard with 1 webservice supporting n notebooks.
        
         | pplonski86 wrote:
         | You can publish multiple notebooks on 1 web service. There is
         | no limit. We provide default view where all notebooks are
         | displayed as cards with clickable title. Please check example
         | in the documentation https://runmercury.com/docs/multiple-
         | notebooks/.
        
           | sambucini wrote:
           | excellent -- thanks a lot!
        
       | souvic wrote:
       | Wow! It's so cool! How is it better than streamlit though? Just
       | because of the better integration with Jupyter notebook?
        
         | pplonski86 wrote:
         | Mercury was created for Jupyter Notebook. You don't need to
         | rewrite your notebook to Python script to use web framework
         | (Stremlit).
        
       ___________________________________________________________________
       (page generated 2023-06-02 23:02 UTC)