I've been writing a short series of articles about magic functions in IPython.
In the previous parts, I've explained how the line and cell magic works and how to create your own by decorating a function.
In the last part, I'm explaining:
* What are Magics classes?
* How are they different from magic functions and when you might want to use one or the other?
* How to create a type checker for Python type hints (that works on previous commands, similar to how %history works)?