#336: We found one of your batteries
Published Tue, May 16, 2023,
recorded Tue, May 16, 2023
About the show
Sponsored by InfluxDB from Influxdata.
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: 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
, anditerutils
- sh : conveniently call shell funcitons
- boltons : iterate through json and dates, quickly grab data out of nested structures, and convert nested data with
- 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 Chromeoptions.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:
- Mobile apps are finally out
- Take the git course for free for a limited time.
- Michael's blog post announcing the apps
Joke: It’s practice