Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
Running in Production - Mito Is a JupyterLab Extension to Make Python Data Analysis Easy

Mito Is a JupyterLab Extension to Make Python Data Analysis Easy

Running in Production

05/03/21 • 67 min

plus icon
bookmark
Share icon

In this episode of Running in Production, Nate Rush goes over building a JupyterLab extension with Python. It runs locally in a Jupyter Notebook but they also host JupyterHub instances on a Kubernetes cluster running in EKS. It’s been running in production since late 2020.

Nate talks about building a cross platform Python installer, building and publishing a JupyterLab extension, leveraging Pandas, building the front-end with React / Typescript, hosting a version of their product on a Kubernetes cluster, the value in automating the hard stuff and more.

Topics Include

  • 1:15 – What is a Jupyter Notebook and how do JupyterLab extensions work?
  • 3:35 – 2 developers are currently building it
  • 6:50 – You can run it in an offline notebook or through their hosted service
  • 8:48 – Handling local installations across Windows, macOS and Linux
  • 15:58 – How users launch their Jupyter Notebook locally with this extension
  • 17:16 – How do you create a JupyterLab extension?
  • 21:10 – The back-end is built upon Pandas
  • 23:31 – How do front-end assets make their way into the extension?
  • 28:50 – Webpack is being used to bundle up the front-end assets
  • 29:36 – Using GitHub Actions to handle the deploy process for the JupyterLab extension
  • 35:20 – Front-end packages to help build a spreadsheet driven UI
  • 37:37 – Discovering front-end performance issues and errors through logging
  • 45:12 – Hosting JupyterHub instances on Kubernetes with EKS on AWS
  • 47:32 – The hosted version is free, but it’s on its way to being phased out
  • 51:57 – The workflow for deploying the Kubernetes set up and running 3-10 worker nodes
  • 54:56 – Backups of the Kubernetes cluster are handled with Velero
  • 56:13 – Route53 is hosting their DNS records
  • 57:29 – Best tips? They really love Typescript and also automate as much as possible
  • 1:00:58 – Don’t hesitate to ask for help and focus on what your users want
  • 1:06:34 – Check out https://trymito.io

Links

📄 References ⚙️ Tech Stack 🛠 Libraries Used

Support the Show

This episode does not have a sponsor and this podcast is a labor of love. If you want to support the show, the best way to do it is to purchase one of my courses or suggest one to a friend.

  • Dive into Docker is a video course that takes you from not knowing what Docker is to being able to confidently use Docker and Docker Compose for your own apps. Long gone are the days of "but it works on my machine!". A bunch of follow along labs are included.
  • Build a SAAS App with Flask is a video course where we build a real world SAAS app that accepts payments, has a custom admin, includes high test coverage and goes over how to implement and apply 50+ common web app features. There's over 20+ hours of video.

05/03/21 • 67 min

plus icon
bookmark
Share icon

Generate a badge

Get a badge for your website that links back to this episode

Select type & size
Open dropdown icon
share badge image

<a href="https://goodpods.com/podcasts/running-in-production-124382/mito-is-a-jupyterlab-extension-to-make-python-data-analysis-easy-13471202"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to mito is a jupyterlab extension to make python data analysis easy on goodpods" style="width: 225px" /> </a>

Copy