Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book

#365: Inheritance, but not Inheritance!

Published Wed, Dec 20, 2023, recorded Tue, Dec 19, 2023
Watch this episode on YouTube
Play on YouTube
Watch the live stream replay

About the show

Sponsored by us! Support our work through:

Connect with the hosts

Join us on YouTube at to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too.

Michael #1: Hatch v1.8

  • Hatch now manages installing Python for you.
  • Hatch can build .app and .exe stand-alone binaries for you
  • The macOS ones are signed (signed!)
  • Discussion here

Brian #2: svcs : A Flexible Service Locator for Python

  • Hynek
  • A library to help structure and test Python web applications.
  • svcs (pronounced services) is a dependency container* for Python. It gives you a central place to register factories for types/interfaces and then imperatively acquire instances of those types with automatic cleanup* and **health checks.”
  • “Benefits:
    • Eliminates tons of repetitive boilerplate code,
    • unifies acquisition* and cleanups of services,
    • provides full static type safety for them,
    • simplifies testing through loose coupling,
    • improves live introspection and monitoring* with **health checks.”
  • Hynek has started a YouTube channel, and is starting with an explanation of svcs.
  • Yes, Hynek, we want more videos. I like that it’s not a beginner level.
  • My request for future videos: just past beginner, and also intermediate level.
  • There are plenty of basics videos out there, not as many filling the gaps between beginner and production.

Michael #3: Steering Council 2024 Term Election Results

  • The 2024 Term Python Steering Council is:
    • Pablo Galindo Salgado
    • Gregory P. Smith
    • Emily Morehouse
    • Barry Warsaw
    • Thomas Wouters
  • Full results are available in PEP 8105 .
  • How do you become a candidate?
    • Candidates must be nominated by a core team member. If the candidate is a core team member, they may nominate themselves.

Brian #4: Python protocols. When to use them in your projects to abstract and decoupling

  • Carlos Vecina
  • “Protocols are an alternative (or a complement) to inheritance, abstract classes and Mixins.”
  • Understanding interactions between ABC, MixIns and Protocols in Python
  • With examples




  • Mastodon guidelines (mine):
    • If you have a picture and description, I’ll probably follow you back
    • If you have posts that seem relevant +1
    • If you have a verified webpage +1
    • If your account is private, won’t. I don’t understand really since private group messages already exist and the profile itself is public.
  • Speaking of Mastodon. I had a productive conversation with the PSF and others around masks and conferences.
  • Dropbox spooks users by sending data to OpenAI for AI search features
  • Beyond privacy, this got me thinking, just how many hours of dev time have been diverted to add mediocre-at-best AI features to everything?
  • I’m doing a big digital decluttering and have lots to say on that soon.
  • Not submitting my talks to PyCascades this year.
  • But I did submit 3 talks to PyCon US. 🤞
  • I will be giving the keynote at PyCon Philippines.

Joke: The dream is dead?

Want to go deeper? Check our projects