Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.

#368 That episode where we just ship open source

January 23, 2024 00:32:18 23.39 MB Downloads: 0
Topics covered in this episode:
Watch on YouTube

About the show

Sponsored by us! Support our work through:

Connect with the hosts

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

Brian #1: Syntax Error #11: Debugging Python

  • Juhis
  • Issue 11 of a fun debugging newsletter from Juhis
  • Debugging advice
    • mindeset
      • take a break
      • adopt a process
      • talk to a duck
    • tools & techniques
      • print
      • snoop
      • debuggers
      • Django debug toolbar & Kolo for VS Code

Michael #2: umami and umami-analytics

  • Umami makes it easy to collect, analyze, and understand your web data โ€” while maintaining visitor privacy and data ownership.
  • umami-analytics is a client for privacy-preserving, open source Umami analytics platform based on httpx and pydantic.
  • Core features
  • โž• Add a custom event to your Umami analytics dashboard.
  • ๐ŸŒ List all websites with details that you have registered at Umami.
  • ๐Ÿ”€ Both sync and async programming models.
  • โš’๏ธ Structured data with Pydantic models for API responses.
  • ๐Ÿ‘ฉโ€๐Ÿ’ป Login / authenticate for either a self-hosted or SaaS hosted instance of Umami.
  • ๐Ÿฅ‡Set a default website for a simplified API going forward.

Brian #3: pytest-suite-timeout

  • While recording Python Test 213 : Repeating Tests
    • I noted that pytest-repeat doesnโ€™t have a timeout, but pytest-flakefinder does.
    • And perhaps I should add a timeout to pytest-repeat
  • But also, maybe thereโ€™s other places Iโ€™d like a timeout, not just with repeat, but often with other parametrizations and even parametrize matrices.
  • So, pytest-suite-timeout is born
  • But Why not pytest-timeout? asks Mike Felder
    • timeout is only timeouts per test, and it isnโ€™t always graceful
    • suite-timeout is for the full suite, and only times out between tests.
    • so, you could use both

Michael #4: Listmonk and (py) listmonk

  • Listmonk
    • Self-hosted newsletter and mailing list manager (think mailchimp)
    • Built on Go and Vue
    • Backed by a company charing for this service as SaaS
    • Still requires a mail infrastructure backend (Iโ€™m using Sendgrid)
  • listmonk (on PyPI)
    • API Client for Python
    • Created by Yours Truly
    • I tried 4 other options first, they were all bad in their own way.
    • Features:
    • โž•Add a subscriber to your subscribed users.
    • ๐Ÿ™Ž Get subscriber details by email, ID, UUID, and more.
    • ๐Ÿ“ Modify subscriber details (including custom attribute collection).
    • ๐Ÿ” Search your users based on app and custom attributes.
    • ๐Ÿฅ Check the health and connectivity of your instance.
    • ๐Ÿ‘ฅ Retrieve your segmentation lists, list details, and subscribers.
    • ๐Ÿ™… Unsubscribe and block users who don't want to be contacted further.
    • ๐Ÿ’ฅ Completely delete a subscriber from your instance.
    • ๐Ÿ“ง Send transactional email with template data (e.g. password reset emails).
  • These pair well in my new docker cluster infrastructure
    • Calls to the API from a client app (e.g. Talk Python Training) are basically loopback on the local docker bridge network.

Extras

Michael:

Joke: The cloud, visualized