~/talk

"A Confession of My Python Sins"

Talkat PyOhio 2024 · 2024-07-27..07-28· [python]
slides:none on file

Thirty percent of a catalog of real hacks: operator overloading used for pathlike and dictset APIs, decorators that turn functions into registration or component factories for Pulumi-style components, dynamic classes and class keyword args plus __init_subclass__ for protocol message registration, custom property descriptors and bound/unbound event descriptors, weakref‑backed sidecar object storage, and import hooks that parse .gql files into Python by AST generation and module import machinery; examples compile, run, and improve developer ergonomics while often breaking static typing and tooling expectations.

AI-written summary · about

  1. 0:00Python sins introduction
  2. 3:14Operator abuse and special methods
  3. 6:05Dynamic classes and decorators
  4. 7:09Everything is an object
  5. 9:17Class subass and registration tricks
  6. 10:22Class keywords and quirks
  7. 12:10Property descriptors and DI
  8. 15:27Typing challenges
  9. 16:36Q&A
  10. 17:19Custom GraphQL importers
  11. 19:48Weak references and sidecar data
  12. 21:11Python typing opinions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.