## Jupyter Snippet NP ch01-code-listing

Jupyter Snippet NP ch01-code-listing

# Chapter 1: Computing with Python

Robert Johansson

Source code listings for Numerical Python - Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib (ISBN 978-1-484242-45-2).

## Interpreter

%%writefile hello.py
print("Hello from Python!")

Overwriting hello.py

!python hello.py

Hello from Python!

!python --version

Python 3.7.3


## Input and output caching

3 * 3

9

In[1]

'3 * 3'

Out[1]

9

In

['', '3 * 3', 'In[1]', 'Out[1]', 'In']

Out

{1: 9, 2: '3 * 3', 3: 9, 4: ['', '3 * 3', 'In[1]', 'Out[1]', 'In', 'Out']}

1+2

3

1+2;

x = 1

x = 2; x

2


## Documentation

import os

# try os.w<TAB>

import math

math.cos?

[0;31mDocstring:[0m
cos(x)

Return the cosine of x (measured in radians).
[0;31mType:[0m      builtin_function_or_method


## Interaction with System Shell

!touch file1.py file2.py file3.py

!ls file*

file1.py file2.py file3.py

files = !ls file*

len(files)

3

files

['file1.py', 'file2.py', 'file3.py']

file = "file1.py"

!ls -l $file  -rw-r--r-- 1 rob staff 0 May 6 12:30 file1.py  ## Running scripts from the IPython console %%writefile fib.py def fib(N): """ Return a list of the first N Fibonacci numbers. """ f0, f1 = 0, 1 f = [1] * N for n in range(1, N): f[n] = f0 + f1 f0, f1 = f1, f[n] return f print(fib(10))  Overwriting fib.py  !python fib.py  [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]  %run fib.py  [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]  fib(6)  [1, 1, 2, 3, 5, 8]  ## Debugger fib(1.0)  --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-25-da4664af34ee> in <module> ----> 1 fib(1.0) ~/Desktop/numerical-python-apress-revision/numerical-python-book-code/fib.py in fib(N) 5 """ 6 f0, f1 = 0, 1 ----> 7 f = [1] * N 8 for n in range(1, N): 9 f[n] = f0 + f1 TypeError: can't multiply sequence by non-int of type 'float'  %debug  > [0;32m/Users/rob/Desktop/numerical-python-apress-revision/numerical-python-book-code/fib.py[0m(7)[0;36mfib[0;34m()[0m [0;32m 5 [0;31m """ [0m[0;32m 6 [0;31m [0mf0[0m[0;34m,[0m [0mf1[0m [0;34m=[0m [0;36m0[0m[0;34m,[0m [0;36m1[0m[0;34m[0m[0;34m[0m[0m [0m[0;32m----> 7 [0;31m [0mf[0m [0;34m=[0m [0;34m[[0m[0;36m1[0m[0;34m][0m [0;34m*[0m [0mN[0m[0;34m[0m[0;34m[0m[0m [0m[0;32m 8 [0;31m [0;32mfor[0m [0mn[0m [0;32min[0m [0mrange[0m[0;34m([0m[0;36m1[0m[0;34m,[0m [0mN[0m[0;34m)[0m[0;34m:[0m[0;34m[0m[0;34m[0m[0m [0m[0;32m 9 [0;31m [0mf[0m[0;34m[[0m[0mn[0m[0;34m][0m [0;34m=[0m [0mf0[0m [0;34m+[0m [0mf1[0m[0;34m[0m[0;34m[0m[0m [0m ipdb> q  ## Timing and profiling code %timeit fib(100)  12.5 µs ± 712 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)  result = %time fib(100)  CPU times: user 21 µs, sys: 1 µs, total: 22 µs Wall time: 27.2 µs  len(result)  100  import numpy as np def random_walker_max_distance(M, N): """ Simulate N random walkers taking M steps, and return the largest distance from the starting point achieved by any of the random walkers. """ trajectories = [np.random.randn(M).cumsum() for _ in range(N)] return np.max(np.abs(trajectories))  %prun random_walker_max_distance(400, 10000)   20010 function calls in 0.353 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 10000 0.194 0.000 0.194 0.000 {method 'randn' of 'mtrand.RandomState' objects} 10000 0.069 0.000 0.069 0.000 {method 'cumsum' of 'numpy.ndarray' objects} 1 0.054 0.054 0.340 0.340 <ipython-input-30-a0ebffe020ed>:3(random_walker_max_distance) 1 0.019 0.019 0.282 0.282 <ipython-input-30-a0ebffe020ed>:8(<listcomp>) 1 0.013 0.013 0.353 0.353 <string>:1(<module>) 1 0.004 0.004 0.004 0.004 {method 'reduce' of 'numpy.ufunc' objects} 1 0.000 0.000 0.004 0.004 fromnumeric.py:69(_wrapreduction) 1 0.000 0.000 0.353 0.353 {built-in method builtins.exec} 1 0.000 0.000 0.004 0.004 fromnumeric.py:2397(amax) 1 0.000 0.000 0.000 0.000 fromnumeric.py:70(<dictcomp>) 1 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects} 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}  ## Jupyter notebook from IPython.display import display, Image, HTML, Math  Image(url='http://python.org/images/python-logo.gif')  import scipy, numpy, matplotlib modules = [numpy, matplotlib, scipy] row = "<tr> <td>%s</td> <td>%s</td> </tr>" rows = "\n".join([row % (module.__name__, module.__version__) for module in modules]) s = "<table> <tr><th>Library</th><th>Version</th> </tr> %s</table>" % rows  s  '<table> <tr><th>Library</th><th>Version</th> </tr> <tr> <td>numpy</td> <td>1.13.3</td> </tr>\n<tr> <td>matplotlib</td> <td>3.0.0</td> </tr>\n<tr> <td>scipy</td> <td>1.1.0</td> </tr></table>'  HTML(s)  class HTMLDisplayer(object): def __init__(self, code): self.code = code def _repr_html_(self): return self.code  HTMLDisplayer(s)  Math(r'\hat{H} = -\frac{1}{2}\epsilon \hat{\sigma}_z-\frac{1}{2}\delta \hat{\sigma}_x')  $$\hat{H} = -\frac{1}{2}\epsilon \hat{\sigma}_z-\frac{1}{2}\delta \hat{\sigma}_x$$ class QubitHamiltonian(object): def __init__(self, epsilon, delta): self.epsilon = epsilon self.delta = delta def _repr_latex_(self): return "$\hat{H} = -%.2f\hat{\sigma}_z-%.2f\hat{\sigma}_x$" % \ (self.epsilon/2, self.delta/2)  QubitHamiltonian(0.5, 0.25) $\hat{H} = -0.25\hat{\sigma}_z-0.12\hat{\sigma}_x$import matplotlib.pyplot as plt import numpy as np from scipy import stats def f(mu): X = stats.norm(loc=mu, scale=np.sqrt(mu)) N = stats.poisson(mu) x = np.linspace(0, X.ppf(0.999)) n = np.arange(0, x[-1]) fig, ax = plt.subplots() ax.plot(x, X.pdf(x), color='black', lw=2, label="Normal($\mu=%d, \sigma^2=%d)" % (mu, mu)) ax.bar(n, N.pmf(n), align='edge', label=r"Poisson(\lambda=%d\$)" % mu)
ax.set_ylim(0, X.pdf(x).max() * 1.25)
ax.legend(loc=2, ncol=2)
plt.close(fig)
return fig

from ipywidgets import interact
import ipywidgets as widgets

interact(f, mu=widgets.FloatSlider(min=1.0, max=20.0, step=1.0));


## Jupyter nbconvert

!ipython nbconvert --to html ch01-code-listing.ipynb

[TerminalIPythonApp] WARNING | Subcommand ipython nbconvert is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use jupyter nbconvert in the future
[NbConvertApp] Converting notebook ch01-code-listing.ipynb to html
[NbConvertApp] Writing 315769 bytes to ch01-code-listing.html

!ipython nbconvert --to pdf ch01-code-listing.ipynb

[TerminalIPythonApp] WARNING | Subcommand ipython nbconvert is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use jupyter nbconvert in the future
[NbConvertApp] Converting notebook ch01-code-listing.ipynb to pdf
[NbConvertApp] Support files will be in /images/py/ch01-code-listing_files/
[NbConvertApp] Making directory /images/py/ch01-code-listing_files
[NbConvertApp] Writing 42308 bytes to notebook.tex
[NbConvertApp] Building PDF
[NbConvertApp] Running xelatex 3 times: ['xelatex', 'notebook.tex']
[NbConvertApp] CRITICAL | xelatex failed: ['xelatex', 'notebook.tex']
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./notebook.tex
LaTeX2e <2018-04-01> patch level 2
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/size11.clo))
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/t1enc.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/lm/t1lmr.fd))
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/mathpazo.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-def/xetex.def)))
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/caption.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/caption3.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2018/texmf-dist/tex/generic/xkeyval/xkvutils.tex)))
(/usr/local/texlive/2018/texmf-dist/tex/latex/collectbox/collectbox.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/varwidth/varwidth.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-cfg/color.cfg))
(/usr/local/texlive/2018/texmf-dist/tex/latex/tools/enumerate.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/geometry/geometry.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifvtex.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/ifxetex/ifxetex.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the ?' option.
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/amssymb.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/amsfonts.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/textcomp.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/ts1enc.def))
(/usr/local/texlive/2018/texmf-dist/tex/latex/upquote/upquote.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/eurosym/eurosym.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/ucs/ucs.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/ucs/data/uni-global.def))
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/inputenc.sty

Package inputenc Warning: inputenc package ignored with utf8 based engines.

) (/usr/local/texlive/2018/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
Style option: fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix
<2008/02/07> (tvz))
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/grffile.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/etexcmds.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifluatex.sty))))
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/hyperref.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/auxhook.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/latexconfig/hyperref.cfg)
(/usr/local/texlive/2018/texmf-dist/tex/latex/url/url.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/hxetex.def
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/puenc.def)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/stringenc.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/tools/longtable.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/booktabs/booktabs.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/enumitem/enumitem.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/ulem/ulem.sty)
No file notebook.aux.
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/ts1cmr.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/t1ppl.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/ltcaption.sty)
*geometry* driver: auto-detecting
*geometry* detected driver: xetex
*geometry* verbose mode - [ preamble ] result:
* driver: xetex
* paper: <default>
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes:
* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt)
* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt)
* \paperwidth=614.295pt
* \paperheight=794.96999pt
* \textwidth=469.75502pt
* \textheight=650.43001pt
* \oddsidemargin=0.0pt
* \evensidemargin=0.0pt
* \topmargin=-37.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)

(/usr/local/texlive/2018/texmf-dist/tex/latex/ucs/ucsencs.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/nameref.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))

Package hyperref Warning: Rerun to get /PageLabels entry.

(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/ot1ppl.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/omlzplm.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/omszplm.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/omxzplm.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/ot1zplm.fd)

LaTeX Warning: No \author given.

(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/se-ascii-print.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/lm/t1lmtt.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/lm/ts1lmtt.fd) [1]
! Text line contains an invalid character.
l.431 ^^[
[0;31mDocstring:^^[[0m
?
! Emergency stop.
l.431 ^^[
[0;31mDocstring:^^[[0m
Output written on notebook.pdf (1 page).
Transcript written on notebook.log.

[NbConvertApp] PDF successfully created
[NbConvertApp] Writing 16831 bytes to ch01-code-listing.pdf

%%writefile custom_template.tplx
((*- extends 'article.tplx' -*))

((* block title *)) \title{Document title} ((* endblock title *))
((* block author *)) \author{Author's Name} ((* endblock author *))

Overwriting custom_template.tplx

!ipython nbconvert ch01-code-listing.ipynb --to pdf --template custom_template.tplx

[TerminalIPythonApp] WARNING | Subcommand ipython nbconvert is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use jupyter nbconvert in the future
[NbConvertApp] Converting notebook ch01-code-listing.ipynb to pdf
[NbConvertApp] Support files will be in /images/py/ch01-code-listing_files/
[NbConvertApp] Making directory /images/py/ch01-code-listing_files
[NbConvertApp] Writing 42331 bytes to notebook.tex
[NbConvertApp] Building PDF
[NbConvertApp] Running xelatex 3 times: ['xelatex', 'notebook.tex']
[NbConvertApp] CRITICAL | xelatex failed: ['xelatex', 'notebook.tex']
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./notebook.tex
LaTeX2e <2018-04-01> patch level 2
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/size11.clo))
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/t1enc.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/lm/t1lmr.fd))
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/mathpazo.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-def/xetex.def)))
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/caption.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/caption3.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2018/texmf-dist/tex/generic/xkeyval/xkvutils.tex)))
(/usr/local/texlive/2018/texmf-dist/tex/latex/collectbox/collectbox.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/varwidth/varwidth.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-cfg/color.cfg))
(/usr/local/texlive/2018/texmf-dist/tex/latex/tools/enumerate.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/geometry/geometry.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifvtex.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/ifxetex/ifxetex.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the ?' option.
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/amssymb.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/amsfonts.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/textcomp.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/ts1enc.def))
(/usr/local/texlive/2018/texmf-dist/tex/latex/upquote/upquote.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/eurosym/eurosym.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/ucs/ucs.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/ucs/data/uni-global.def))
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/inputenc.sty

Package inputenc Warning: inputenc package ignored with utf8 based engines.

) (/usr/local/texlive/2018/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
Style option: fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix
<2008/02/07> (tvz))
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/grffile.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/etexcmds.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifluatex.sty))))
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/hyperref.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/auxhook.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/latexconfig/hyperref.cfg)
(/usr/local/texlive/2018/texmf-dist/tex/latex/url/url.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/hxetex.def
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/puenc.def)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/stringenc.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/tools/longtable.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/booktabs/booktabs.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/enumitem/enumitem.sty)
(/usr/local/texlive/2018/texmf-dist/tex/generic/ulem/ulem.sty)
No file notebook.aux.
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/ts1cmr.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/t1ppl.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/ltcaption.sty)
*geometry* driver: auto-detecting
*geometry* detected driver: xetex
*geometry* verbose mode - [ preamble ] result:
* driver: xetex
* paper: <default>
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes:
* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt)
* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt)
* \paperwidth=614.295pt
* \paperheight=794.96999pt
* \textwidth=469.75502pt
* \textheight=650.43001pt
* \oddsidemargin=0.0pt
* \evensidemargin=0.0pt
* \topmargin=-37.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)

(/usr/local/texlive/2018/texmf-dist/tex/latex/ucs/ucsencs.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/nameref.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))

Package hyperref Warning: Rerun to get /PageLabels entry.

(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/ot1ppl.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/omlzplm.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/omszplm.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/omxzplm.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/psnfss/ot1zplm.fd)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/se-ascii-print.def)
(/usr/local/texlive/2018/texmf-dist/tex/latex/lm/t1lmtt.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/lm/ts1lmtt.fd) [1]
! Text line contains an invalid character.
l.431 ^^[
[0;31mDocstring:^^[[0m
?
! Emergency stop.
l.431 ^^[
[0;31mDocstring:^^[[0m
Output written on notebook.pdf (1 page).
Transcript written on notebook.log.

[NbConvertApp] PDF successfully created
[NbConvertApp] Writing 17066 bytes to ch01-code-listing.pdf

!ipython nbconvert ch01-code-listing.ipynb --to python

[TerminalIPythonApp] WARNING | Subcommand ipython nbconvert is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use jupyter nbconvert in the future
[NbConvertApp] Converting notebook ch01-code-listing.ipynb to python
[NbConvertApp] Writing 5081 bytes to ch01-code-listing.py


# Versions

%reload_ext version_information
%version_information numpy