Topics covered in this episode:
PSF Elections coming up * Cloud engineer gets 2 years for wiping ex-employer’s code repos * Python: Import by string with pkgutil.resolve_name() * DuckDB goes 1.0 * Extras * Joke*

Watch on YouTube
About the show

Sponsored by ScoutAPM: pythonbytes.fm/scout

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 10am PT. Older video versions available there too.

Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.

Brian #1: PSF Elections coming up

  • This is elections for the PSF Board and for 3 bylaw changes.
  • To vote in the PSF election, you need to be a Supporting, Managing, Contributing, or Fellow member of the PSF, …
  • And affirm your voting status by June 25.
  • See Affirm your PSF Membership Voting Status for more details.
  • Timeline
    • Board Nominations open: Tuesday, June 11th, 2:00 pm UTC
    • Board Nominations close: Tuesday, June 25th, 2:00 pm UTC
    • Voter application cut-off date: Tuesday, June 25th, 2:00 pm UTC
      • same date is also for voter affirmation.
    • Announce candidates: Thursday, June 27th
    • Voting start date: Tuesday, July 2nd, 2:00 pm UTC
    • Voting end date: Tuesday, July 16th, 2:00 pm UTC
  • See also Thinking about running for the Python Software Foundation Board of Directors? Let’s talk!
    • There’s still one upcoming office hours session on June 18th, 12 PM UTC
  • And For your consideration: Proposed bylaws changes to improve our membership experience
    • 3 proposed bylaws changes

Michael #2: Cloud engineer gets 2 years for wiping ex-employer’s code repos

  • Miklos Daniel Brody, a cloud engineer, was sentenced to two years in prison and a restitution of $529,000 for wiping the code repositories of his former employer in retaliation for being fired.
  • The court documents state that Brody's employment was terminated after he violated company policies by connecting a USB drive.

Brian #3: Python: Import by string with pkgutil.resolve_name()

  • Adam Johnson
  • You can use pkgutil.resolve_name("[HTML_REMOVED]:[HTML_REMOVED]")to import classes, functions or modules using strings.
  • You can also use importlib.import_module("[HTML_REMOVED]")
  • Both of these techniques are so that you have an object imported, but the end thing isn’t imported into the local namespace.

Michael #4: DuckDB goes 1.0

  • via Alex Monahan
  • The cloud hosted product @MotherDuck also opened up General Availability
  • Codenamed "Snow Duck"
  • The core theme of the 1.0.0 release is stability.

Extras

Brian:

  • Sending us topics. Please send before Tuesday. But any time is welcome.
  • NumPy 2.0
  • htmx 2.0.0

Michael:

  • Get 6 months of PyCharm Pro for free. Just take a course (even a free one) at Talk Python Training. Then visit your account page > details tab and have fun.
  • Coming soon at Talk Python: Shiny for Python

Joke: .gitignore thoughts won't let me sleep