Raymond Hettinger

Unit Test From Scratch

8/16/2019 | 9:15 AM-12:45 PM | Workshop Room A


Build-up your Python skills by working on a short, focused project.

This fun workshop is a hands-on class teaching many core Python skills.

We practice test driven development to create and apply a unittest module.

Skills covered:

  • Logging module

  • Named tuples

  • Classes and special methods

  • Writing and using context managers

  • Exception handling

  • Conditional expressions

  • main sections

  • Assertions

  • getattr() and hasattr()

  • F-strings

  • Test driven development

  • The doctest, unittest and py.test modules

  • Code organization and documentation


Micro web framework from scratch

8/16/2019 | 1:45 PM-5:15 PM | Workshop Room A


Beef-up your Python skills by working on a small, focused project.

This fun workshop is a hands-on class teaching foundational Python skills.

We'll create a working web framework from scratch.

Skills covered:

  • Function attributes
  • dict.get() and getattr()
  • Batch function runners with filtering
  • Function based decorators
  • The @-notation
  • Dispatch dictionaries
  • input() and interactive function runners
  • Exception handling
  • Class based decorators with arguments
  • global variables
  • Formatting with F-strings
  • HTTP headers and status codes

  • The dataclasses module and type declarations

  • Joining lists of strings

  • JSON encoding and decoding

  • Query string parsing

  • Dictionary comprehensions

  • How WSGI works (web standards gateway interface)

  • String encoding and decoding

  • Making apps for the wsgiref module


  • Modules: logging, wsgiref, http, urllib.parse, wsgiref

  • Briefly show Flask and Bottle


Lessons learned from 8 years of teaching Python and answering questions on StackOverflow

8/18/2019 | 9:15 AM-10:15 AM | Robertson


What causes people to get stuck.