Python Bytes 143
Special guest: Kelly Schuster-Paredes

Sponsored by DigitalOcean:

  • Enabling Python on new platforms is important.
  • Python needs to expand further than just CPython.
  • Web, 3D games, system orchestration, mobile, all have other languages that are more used. Perhaps it’s because the full Python language, like CPython in full is more than is needed, and a limited language is necessary.
  • MicroPython and CircuitPython are successful.
  • They are limited implementations of Python
  • Łukasz talks about many parts of Python that could probably be trimmed to make targeted platforms very usable without losing too much. 
  • It’d be great if more projects tried to implement Python versions for other platforms, even if the Python implementation is limited.

Kelly #2: 
Lots of updates happening to the Code with Mu software
  • Mu is a Python code editor for beginner programmers
  • Code with Mu presented at EuroPython and shared a lot of interesting updates and things in the alpha version of Mu, available on code with Mu website.
  •  Mu is a modal editor:
  • BBC Microbit
  • Circuit Python
  • ESP Micropython
  • Pygame Zero
  • Python 3
  • Tiago Monte’s recorded presentation at EuroPython
  • Game with Turtle
  • It is a “PyperCard is a HyperCard inspired Pythonic and deliberately constrained GUI framework for beginner programmers.
  • module re-uses the JSON specification used to create HyperCard
  • The concept allows user to “create Hypercard like stacks of states” to allow beginner coders to create choose their own adventure games. 

  • The Python traceback has a wealth of information that can help you diagnose and fix the reason for the exception being raised in your code.
  • What do we learn right away?
  • The type of error
  • A description of the error (hopefully, sometimes)
  • The line of code the error occurred on
  • The call stack (filenames, line numbers, and module names)
  • If the error happened while handling another error
  • Read from bottom to top — that was weird to me
  • Most common error?  AttributeError: 'NoneType' object has no attribute 'an_attribute'
  • Article talks about other common errors
  • Are you creating custom exceptions to make your packages more useful?