Book Image

Jupyter Cookbook

By : Dan Toomey
Book Image

Jupyter Cookbook

By: Dan Toomey

Overview of this book

Jupyter has garnered a strong interest in the data science community of late, as it makes common data processing and analysis tasks much simpler. This book is for data science professionals who want to master various tasks related to Jupyter to create efficient, easy-to-share, scientific applications. The book starts with recipes on installing and running the Jupyter Notebook system on various platforms and configuring the various packages that can be used with it. You will then see how you can implement different programming languages and frameworks, such as Python, R, Julia, JavaScript, Scala, and Spark on your Jupyter Notebook. This book contains intuitive recipes on building interactive widgets to manipulate and visualize data in real time, sharing your code, creating a multi-user environment, and organizing your notebook. You will then get hands-on experience with Jupyter Labs, microservices, and deploying them on the web. By the end of this book, you will have taken your knowledge of Jupyter to the next level to perform all key tasks associated with it.
Table of Contents (17 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

The Jupyter trust model


Jupyter has specific parts of the application that are trusted or not:

  • Untrusted HTML is always sanitized
  • Untrusted JavaScript is never executed
  • HTML and JavaScript in Markdown cells are never trusted
  • Outputs generated by the user are trusted
  • Any other HTML or JavaScript (in Markdown cells or output generated by others) is never trusted

Sanitized, untrusted coding is crippled by not allowing access to resources, such as accessing the internet. This can be a problem as many applications would naturally store JavaScript and/or actionable CSS in cells that are not visible to the user but would be crippled as part of the trust model.

Jupyter develops trust for an application by comparing digital signatures. When a Notebook is stored, a digital signature is made using the contents of the Notebook and a secret. The digital signature is stored on a disk accessible by the server. Then, whenever a Notebook is accessed, the signature is regenerated and compared to the stored value...