Mercury

Build & share web apps
from Python notebooks

Mercury is the easiest way to turn your Python notebooks
into interactive web applications and publish to the cloud

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

⬇️ Download executed notebook

  • User can tweak parameters and execute the notebook
  • The resulting notebook can be downloaded as single 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

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.

  • You can use Mercury OSS for free
  • It is easy to self-host on VPS
  • Check Mercury Pro for more features

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)

Coming soon features

We are working on

  • Download executed notebook as PDF
  • More widgets (text field, file upload) Done!
  • Authentication Done!
  • Users permissions Done!
  • Scheduling
  • Email notifications

If you have feature request please contact us.

Mercury demo

Stay in touch 📨


If you would like to be notified about our products please subscribe to the newsletter.

Subscribe to newsletter