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.

#336 We found one of your batteries

May 16, 2023 00:28:28 28.06 MB Downloads: 0
Watch on YouTube

About the show

Sponsored by InfluxDB from Influxdata.

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: Python's Missing Batteries: Essential Libraries You're Missing Out On

  • Martin Heinz
  • Fun collection of a bunch of libraries you may not know about (or forgot about), with code examples.
  • Utilities
    • boltons : iterate through json and dates, quickly grab data out of nested structures, and convert nested data with jsonutils, timeutils, and iterutils
    • sh : conveniently call shell funcitons
  • Data Validation
    • validators : validate email addresses, credit cars, IP addresses, and more.
    • the fuzz : fuzzy string comparisons
  • Debugging
    • stackprinter : nice stack traces with exception messages higlighted
  • Testing
    • freezegun : stop time, change dates, …
    • dirty_equals : comparing things that are kinda equal
  • CLI
    • tqdm : add a progress bar to command line apps

Michael #2: awesome-polars

  • A curated list of Polars talks, tools, examples & articles.
  • Mostly articles and tutorials however.

Brian #3: Running Headless Selenium in Python (2023)

  • Siddiqi
  • First off, if you are doing automated testing with Selenium, I hope you already know about headless. It’s awesome and speeds up testing.
  • Next, there’s changes to how you code headless, as of Selenium 4.8.0 (Jan. 2023).
  • Old:
    • options.headless` `**=**` `True
  • New:
    • options.add_argument('--headless=new') for Chrome
    • options.add_argument('--headless') for Firefox
  • Reasons: Read Headless is Going Away! post on Selenium blog.
    • Subtitle: “Now that we got your attention, headless is not actually going away, just the convenience method to set it in Selenium”

Michael #4: Gracy

  • Gracy helps you handle failures, logging, retries, throttling, and tracking for all your HTTP interactions.
  • Has support for

    • Parsing per status code
    • Throttling
    • Retries
    • Custom validation
    • Record/replay for testing
  • A bit non-pythonic but perhaps inspriation for some out there

Extras

Michael:

Joke: It’s practice