Mercury

Easily share notebooks
with non-technical users

Turn Python notebooks to web applications with open-source Mercury framework. Hide code and add interactive widgets. Non-technical users can tweak widgets and execute notebook with new parameters.

Turn notebook to web application with Mercury
Mercury multiple notebooks apps

Open Source Core

The core of Mercury is Open Source under AGPLv3. We provide Mercury Pro with additional features, dedicated support and friendly commercial license.

  • Try Mercury OSS for free
  • Get Mercury Pro for more features
  • Amazing support from Mercury creators

How does it work? 🤔

Step 1: Create a notebook

  • Create a Python notebook as usual 🖥️
  • Put variables for tweaking in a separate code cell

Create notebook

Step 2: Add YAML config

  • Add YAML config in the first RAW cell
  • Set app title and description
  • Add interactive widgets to notebook
  • Widget name should be the same as variable 📝
---
title: My app title 🚀
description: Data app with many calculations
params:
    variable:
        input: text 
        label: Please provide text
---

Create notebook

Step 3: Start Mercury

  • Start Mercury server locally
  • Simple command: mercury run notebook.ipynb
  • The web app is running at http://127.0.0.1/

Start Mercury with command line

Step 4: Web App is ready! 🚀

  • User can tweak widgets' parameters
  • Click Run   to execute the notebook with new values
  • Notebook is executed from the top to the bottom

Web App is ready!

Widgets as YAML

Text
variable_text:
    input: text 
    label: This is text label 
	value: some text
Text widget in Mercury
Select
variable_select:
    input: select 
    label: This is select label 
	value: Cześć
	choices: [Cześć, Hi, Hello]
Select widget in Mercury
Slider
variable_slider:
    input: slider 
    label: This is slider label 
    value: 5
    min: 0
    max: 10
Slider widget in Mercury
File
variable_file:
    input: file 
    label: This is file label 
File upload widget in Mercury
Numeric
variable_numeric:
    input: numeric 
    label: This is numeric label 
	value: 5.5
    min: 0.0
    max: 10.0
    step: 0.1
Numeric widget in Mercury
Checkbox
variable_checkbox:
    input: checkbox 
    label: This is checkbox label 
    value: True
Checkbox widget in Mercury
📚 Check documentation
Mercury multiple notebooks apps

Serve multiple notebooks

You can host unlimited number of notebooks apps

  • Share as many applications as you need
  • Use built-in application gallery

Show or hide code 👀

You can serve a notebook with code for technical users.

For non-programmers you can hide the code to not scare them ;)

It is as easy as setting one parameter show-code in the YAML

Mercury multiple notebooks apps
Mercury multiple notebooks apps
Mercury multiple notebooks apps

⬇️ Export notebook as PDF or HTML

  • User can tweak parameters and execute the notebook
  • The resulting notebook can be downloaded as PDF or HTML file 💾

Mercury multiple notebooks apps

🔑 Authentication

  • You can set who can see your notebooks
  • Control notebook access with share parameter in YAML
  • Create users in Admin Panel
  • Secure the connection with SSL

Share notebook with selected users 👧👦

title: Secret app 
description: My app with secret 
share: alice, bob
params:
    # widgets code ...

Share notebook with authenticated users only 🔒

title: Secret app 
description: My app with secret 
share: private
params:
    # widgets code ...

Embed interactive notebooks

You can embed your interactive notebooks on any website.

Below is embedded application made from notebook

with calculator build vs buy for Mercury commercial license.

Read embedding docs
Mercury multiple notebooks apps

Easy to deploy

Mercury web framework can be easily deployed in production

  • Deploy to production by copying notebooks and requirements.txt to the server
  • Deploy with mercury run or docker-compose
  • HTTPS support with certificates from Let's Encrypt

Mercury demo

Check the demo

Demo at https://mercury.mljar.com

  • No need to register
  • Demo running several notebooks-apps
  • Running on small VPS (2GB RAM and 2 vCPUs)

Latest articles from our blog

💌 Join our newsletter 💌


Subscribe to our newsletter to receive product updates

Subscribe