This is a record of all past PLYMI releases and what went into them, in reverse chronological order.


Removed the “is palindrome” problem from Module 2.


  • Added a section to Module 3 about drop-in automatic differentiation for NumPy, via the library MyGrad

  • Removed instructions for downgrading jedi (upstream bug fixed).

  • Fixed typos.


Fixes a syntax error (missing colons) in a code snippet in a subsection about conditional expressions.


Upgrades the tools used to build PLYMI:

  • sphinx 3.4.3

  • nbsphinx 0.8.1

  • jupytext 1.9.1

  • sphinx-rtd-theme 0.5.1

Adds a reading comprehension problem in the section on type-hinting to show that jedi provides annotation-informed autocompletion abilities in notebooks.


Updated the discussion of computing pairwise differences to account for potential floating-point edge cases that can produce “NaNs” as a result.

There is currently an incompatibility between jedi 0.18.0 and IPython, which breaks autocompletion. See here for more details. Added temporary callout boxes to the informal introduction to Python and to the introduction to Jupyter notebooks, which instruct readers to remedy this by downgrading jedi.

Fixed a missing plot in the introduction to Jupyter section.

Reformatted the section on IDEs and added a description of PyLance.

Add link to PLYMI’s discussion board.


Added a brief discussion of Python versions. Thanks @samaocarpenter!

Fixed typos #160 #158 #155


Various typo fixes. Thanks to Darshan and David!


Various typo fixes. Thanks to Patrick O’Shea and David Mascharka!


Updated some of the “backend” technologies behind PLYMI: upgraded sphinx and nbsphinx.

Fixed a broken subsection header: “Converting a Boolean Index-Array to Integer Index-Arrays: numpy.where” will now appear in the navigation bar under Module 3, Advanced Indexing.


Fixed a mistake in Working with Files where the reported syntax for invoking Path.mkdir() was incorrect.


Several various typo/grammar fixes. Thank you to the readers who reported these and to @davidmascharka


We’re finally keeping a formal changelog! This update includes our first discussion of features that were introduced in Python 3.8. Also includes various typo/grammar fixes.

New Content