40
Jupyter Notebooks Adám Brudzewsky

Jupyter Notebooks - Dyalog · 2 Jupyter Notebooks github.com/Dyalog/dyalog-jupyter-kernel/wiki Example notebook using Python global density of metal bands

  • Upload
    others

  • View
    40

  • Download
    0

Embed Size (px)

Citation preview

Jupyter Notebooks

Adám Brudzewsky

1

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

What are notebooks?

A notebook combines the functionality of

a word processor — handles formatted text

a shell or kernel — executes statements in a programming language and includes output inline

a rendering engine — renders HTML in addition to plain text

2

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Example notebookusing Python

global density of metal bands

3

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Example notebookusing Python

global density of metal bands

4

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Example notebookusing Dyalog APL

health care expenditure vs GDP per capita

5

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Example notebookusing Dyalog APL

health care expenditure vs GDP per capita

6

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Notebook benefitsA single document that combines explanations with executable code and its output — an ideal way to provide:

reproducible research results

documentation of processes

instructions

tutorials and training materials of all shapes and sizes

A digital learning environment for computational thinking

7

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

What is Jupyter notebook?

First notebook: Mathematica 1.0 in '88Jupyter notebook is a part ofProject Jupyter, a nonprofit to

develop open-source software,standards, and services forinteractive computing across dozens of programming languages

beginning with Julia, Python, R, and now over 70 languages, including Dyalog APL

8

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

What is Jupyter notebook?

First notebook: Mathematica 1.0 in '88Jupyter notebook is a part ofProject Jupyter, a nonprofit to

develop open-source software,standards, and services forinteractive computing across dozens of programming languages

beginning with Julia, Python, R, and now over 70 languages, including Dyalog APL

ONE OF THE MOST SIGNIFICANT ADVANCES

IN THE SCIENTIFIC COMPUTING ARENA

UNIVERSITY CORPORATION FOR ATMOSPHERIC

RESEARCH

9

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Ways to use Jupyter notebooks

On your own PC after installing a Jupyter notebook server

With an online notebook server like cocalc.com

Save notebook with output and use a notebook viewer

Export to HTML, PDF, LATEX, etc.

10

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Local notebook server — Python

11

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

12

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

notebook serverlocalhost:8888

13

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

notebook serverlocalhost:8888

Jupyter kernelfor Python

14

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

interpreterPython

notebook serverlocalhost:8888

Jupyter kernelfor Python

15

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

interpreterPython

notebook serverlocalhost:8888

Jupyter kernelfor Python

web browser

16

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

interpreterPython

notebook serverlocalhost:8888

Jupyter kernelfor Python

web browser

17

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

interpreterPython

notebook serverlocalhost:8888

Jupyter kernelfor Python

web browser

18

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

interpreterPython

notebook serverlocalhost:8888

Jupyter kernelfor Python

web browser

19

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — Python

interpreterPython

notebook serverlocalhost:8888

Jupyter kernelfor Python

web browser

20

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — APL

notebook serverlocalhost:8888

21

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

AnacondaPython platform

Local notebook server — APL

notebook serverlocalhost:8888

Jupyter kernelfor Dyalog APL

22

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

interpreterDyalog APL

AnacondaPython platform

Local notebook server — APL

notebook serverlocalhost:8888

Jupyter kernelfor Dyalog APL

23

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

interpreterDyalog APL

AnacondaPython platform

Local notebook server — APL

notebook serverlocalhost:8888web browser

Jupyter kernelfor Dyalog APL

24

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

interpreterDyalog APL

AnacondaPython platform

Local notebook server — APL

notebook serverlocalhost:8888web browser

Jupyter kernelfor Dyalog APL

25

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

interpreterDyalog APL

AnacondaPython platform

Local notebook server — APL

notebook serverlocalhost:8888web browser

Jupyter kernelfor Dyalog APL

26

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Setting up local notebook server

Install Dyalog

Install Dyalog's Jupyter kernel

Install Anaconda

Launch Jupyter notebook server

27

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Setting up local notebook server

Install Dyalog

Install Dyalog's Jupyter kernel

Install Anaconda

Launch Jupyter notebook server

installation instructions

github.com/Dyalog/dyalog-jupyter-kernel/wiki

29

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Installing JupyterOpening a notebookModifying content

github.com/Dyalog/dyalog-jupyter-kernel/wiki

30

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Online notebook servers

There are online services for various programming languages

31

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Online notebook servers

TryAPL's lessons are now Jupyter notebooks

32

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Online notebook servers

and you can up-load your own Jupyter notebooksas well

33

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Online notebook servers

Benefit: nothing to install

you may need to sign up for an account

To protect servers, host may place restrictions

or run in a sandbox with limited connectivity

Notebooks can execute any code

all code is run on the host serversame privileges as local execution

34

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Static notebook viewersNotebooks are stored as .ipynb files

.ipynb files are in JSON formateach code cell may include output from the last execution

You can share an .ipynb fileanyone with a local notebook server can view it… but of course cannot execute anything new

Many online systems have viewersGitHub's file previewerProject Jupyter's nbviewer.jupyter.org

35

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Exported notebooks

Notebooks can be exported to many standard formats

for example HTML, PDF, and LATEX

Some formats require 3rd party plug-ins

Exported notebooks are static

that is expressions cannot be re-executed

37

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Creating a new notebook documentRunning our own notebook under TryAPLGenerating rich output

38

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Ways to use notebooks — recap

Installing a Jupyter notebook server on your PC

Use an online notebook server like cocalc.com

Store the notebook with output, then open in a notebook viewer

Export to HTML, PDF, LATEX, …

39

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Ask questions now!

Wiki github.com/Dyalog/dyalog-jupyter-kernel/wikiEmail [email protected] and [email protected]

Thank youTechnology Partnership (tp.rs): prototype APL kernelWill Robertson (intern): kernel work and many notebooksGil Athoraya (of Optima Systems): syntax colouring

40

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Last day of Dyalog '18… Let's stay in touch!

dyalog.com Community

Chat Room

chat.stackexchange.com/rooms/52405

Search: "apl orchard"[email protected]

41

Jupyter Notebooks

github.com/Dyalog/dyalog-jupyter-kernel/wiki

Last day of Dyalog '18… Let's stay in touch!

dyalog.com Community

Chat Room

chat.stackexchange.com/rooms/52405

Search: "apl orchard"[email protected]