Jupyter Notebooks: Internals and Extension

Pravendra Singh (~pravj)





Being one of the most used collaboration tools used by software engineers and data scientists, "Jupyter Notebooks" are transforming the way "data science" is happening in the industry.

Started as a smart Python interpreter, the Jupyter project has grown into a common platform that supports the development of data science and scientific computing tools across multiple programming languages.

This talk is aimed at understanding the technical internals of Jupyter project.


  • A brief introduction to Jupyter
    • How is it different from IPython
  • Component architecture
    • Kernel
    • Frontend
  • Communication protocol used between a frontend and kernel
  • How does a kernel work
  • Magic commands
    • How to create one
  • Let's create a Jupyter frontend
    • Wait! What if you can use Slack as a Jupyter notebook?
  • Jupyter, Interactive computing, and possibilities

What will you learn

  • Process that powers an interactive Jupyter session
    • Do you know how does the tab-completion work?
  • Extending the capabilities offered by Jupyter ecosystem for a custom use-case
    • We will learn how to create magic commands and frontend
  • Black magic


  • Basic understanding of Python, comfortable with functions/classes
  • Experience working with Jupyter/IPython notebooks (Optional)
  • Interested in knowing how stuff works

Content URLs:


enter image description here

Speaker Info:

Speaker Links:

Id: 757
Section: Data science
Type: Talks
Target Audience: Beginner
Last Updated: