Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Background Share and view Jupyter notebook › Widely used in the AI field › JSON Format file › Extension is .ipynb › Persisted in Amazon S3 › How to share?

Slide 3

Slide 3 text

Why not using JupyterLab/Hub? › Too heavy › Too many trivial functions › Inconsistent UI style › Not easy to integrate

Slide 4

Slide 4 text

Do NOT Reinvent the Wheel! Why not using Open Source? › Commuter (https://github.com/nteract/commuter) › Nbviewer (https://github.com/jupyter/nbviewer) › …

Slide 5

Slide 5 text

Why not Commuter? › Heavy › Can not add context path › Difficult to customize › …

Slide 6

Slide 6 text

Why not Nbviewer? › Not meet our requirements › Difficult to customize › …

Slide 7

Slide 7 text

Do it ourselves! Technology selection › Python › Nbconvert (https://github.com/jupyter/nbconvert) › Flask (https://github.com/pallets/flask) › Boto3 (https://github.com/boto/boto3) › …

Slide 8

Slide 8 text

Jupyter notebook viewer was born! › Two weeks › Two people

Slide 9

Slide 9 text

Introduction How to use it?

Slide 10

Slide 10 text

Introduction › Set context path Integration is very easy › Passing AccessKey, SecretKey, BucketName through http request headers › Etag + LastModified Performance is good

Slide 11

Slide 11 text

Introduction Rich features › s3 and local disk two kinds of storage › Render ipynb, image and markdown › Interactively hide/show codes of Notebook › Display and allow to configure Toc of Notebook

Slide 12

Slide 12 text

Introduction

Slide 13

Slide 13 text

Why release to open source? All the components we use are open source › Flask › Nbconvert › jupyter_latex_envs › Boto3 › Markdown2 › Jquery › Requirejs › Toc2 › Bootstrap We want to contribute to the open source community

Slide 14

Slide 14 text

About naming All rejected by the trademark review team › judy › jupyternb-viewer › nbviewer › shuttle › nbkankan › …

Slide 15

Slide 15 text

Welcome to follow and use https://github.com/line/devday_2020_jupyter_nb_viewer

Slide 16

Slide 16 text

Thank you