Python Bytes

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.

https://pythonbytes.fm/

subscribe
share






episode 368: #368: That episode where we just ship open source


Topics covered in this episode:

  • Syntax Error #11: Debugging Python
  • umami and umami-analytics
  • pytest-suite-timeout
  • Listmonk and (py) listmonk
  • Extras
  • Joke
Watch on YouTube

About the show

Sponsored by us! Support our work through:

  • Our courses at Talk Python Training
  • The Complete pytest Course
  • Patreon Supporters

Connect with the hosts

  • Michael: @mkennedy@fosstodon.org
  • Brian: @brianokken@fosstodon.org
  • Show: @pythonbytes@fosstodon.org

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:

  • Every github repo that has “releases” has a releases RSS feed, e.g. Umami
  • Kolo Django + VS Code
  • Warp Terminal on linux
  • bpytop and btop - live server monitoring

Joke: The cloud, visualized


fyyd: Podcast Search Engine
share








 January 23, 2024  32m