What this book covers
Chapter 1, Introduction to Jupyter, takes a first look at the Jupyter user interface, walks through installing Jupyter on Windows and Mac OS X, examines the basic operations of Jupyter Notebook available through the user interface for all engines, and gives an overview of the security features available and configuration options.
Chapter 2, Jupyter Python Scripting, walks through a simple Python notebook and the underlying structure. This chapter also shows an example of using pandas, graphics, and using random numbers in a Python script.
Chapter 3, Jupyter R Scripting, adds the ability to use R scripts in your Jupyter Notebook, adds an R library not included in the standard R installation, makes a Hello World script in R, and shows R data access against built-in libraries and some of the simpler graphics and statistics that are automatically generated. We use an R script to generate 3D graphics in a couple of different ways, perform a cluster analysis, and use one of the forecasting tools available in R.
Chapter 4, Jupyter Julia Scripting, adds the ability to use Julia scripts in your Jupyter Notebook, adds a Julia library not included in the standard Julia installation, and shows the basic features of Julia. We outline some of the limitations encountered with using Julia in Jupyter and display graphics using some of the graphics packages available, including Gadfly, Winston, Vega, and Pyplot. We show parallel processing in action, a small control flow example, and how to add unit testing to your Julia script.
Chapter 5, Jupyter JavaScript Coding, shows how to add JavaScript to a Jupyter Notebook, some of the limitations of using Javascript in Jupyter and examples of several packages that are exemplary of Node.js coding, including d3 for graphics, stats-analysis for statistics, built-in JSON handling, Canvas for creating graphics files and Plotly used for generating graphics with a third-party tool. You learn how multi-threaded applications can be developed using Node.js under Jupyter and use machine learning to develop a decision tree.
Chapter 6, Interactive Widgets, adds widgets to our Jupyter installation, uses interact and interactive widgets to produce a variety of user input controls. We explain the widgets package in depth to investigate the user controls available, properties available in the containers, and events that are available emitting from the controls. You will see how to build containers of controls.
Chapter 7 , Sharing and Converting Jupyter Notebooks, shares notebooks on a notebook server, adds a notebook to a web server, distributes at notebook using GitHub, and looks into converting our notebooks into different formats, such as HTML and PDF.
Chapter 8 , Multiuser Jupyter Notebooks, exposes a notebook so that multiple users can use a notebook at the same time, and shows an example of the multiuser error occurring. We will install a Jupyter server that overcomes the multiuser issue and use Docker to alleviate the issue as well.
Chapter 9, Jupyter Scala, installs Scala for Jupyter, uses Scala coding to access larger datasets, shows how Scala can manipulate arrays, and generates random numbers in Scala. There are examples of higher-order functions and pattern matching, uses case classes, and immutability in Scala. We build collections using Scala packages and show the use of Scala traits.
Chapter 10 , Jupyter and Big Data, uses Spark functionality via Python coding for Jupyter, installs the Spark additions to Jupyter on a Windows machine and a Mac machine, and displays an initial script that just reads lines from a text file. We also determine the word counts in that file, sort the results, use a script to estimate pi, evaluate web log files for anomalies, determine a set of prime numbers, and evaluate a text stream for some characteristics.