Python Bytes

By: Michael Kennedy and Brian Okken
  • Summary

  • 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.
    Copyright 2016-2024
    Show more Show less
activate_Holiday_promo_in_buybox_DT_T2
Episodes
  • #410 Entering the Django core
    Nov 18 2024
    Topics covered in this episode: Thoughts on Django’s CorefuturepoolDon't return named tuples in new APIsZiglang: Migrating from AWS to Self-HostingExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codesBrian: @brianokken@fosstodon.org / @brianokken.bsky.socialShow: @pythonbytes@fosstodon.org / @pythonbytes.bsky.social Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday 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: Thoughts on Django’s Core Carlton GibsonGreat discussion on Django and Core vs PluginsSustainability with limited peopleKeeping core smallThe release cycleeembrace plugins vs endorsing plugins. Michael #2: futurepool via Pat DeckerTakes the concept of multiprocessing Pool to the async/await world.Create a pool then delegate the work: async with FuturePool(2) as fp: result = await fp.map(async_pool_fn, range(10)) I would LOVE to see something like this in a broader background asyncio worker pool concept.But that concept doesn’t exist in asyncio in Python and that’s a failing of the framework IMO. Brian #3: Don't return named tuples in new APIs Brett CannonFirst off, I’m grateful for any post that talks about APIs and the API is a module, class, or package API and not a Web/REST API. The term API existed long before the internet.“e.g., get_mouse_position() very likely has a two-item tuple of X and Y coordinates of the screen”“it actually makes your API more complex for both you and your users to use. For you, it doubles the data access API surface for your return type as you have to now support index-based and attribute-based data access forever (or until you choose to break your users and change your return type so it doesn't support both approaches)”“… you probably don't want people doing with your return type, like slicing, iterating over all the items …”Alternatives classdataclassdictionaryTypedDictSimpleNamespace“My key point in all of this is to prefer readability and ergonomics over brevity in your code. That means avoiding named tuples except where you are expanding to tweaking an existing API where the named tuple improves over the plain tuple that's already being used.” Michael #4: Ziglang: Migrating from AWS to Self-Hosting The Rust Foundation for example, reports that they spent $404,400 on infrastructure costs in 2023.Zig lang has decided to use a single big cloud machine + mirrors Extras Brian: Changing the Python Test community Was started to answer questions for Test & Code listeners years ago. Primarily pytest questionsUsed to be Slack. Then moved to Podia forum. Now I’m trying to work out a Discord solution that is both sustainable and usable. Michael: PWang Bsky essayBuilding A Business From Python Expertise - Michael Kennedy on Work Item PodcastSubscribe to package releases, just put .atom on the end of their releases URL, for example: github.com/mikeckennedy/jinja_partials/releases ← add .atom for RSSpytest-bdd 8.0.0 was just released via Jamie Thomson The big feature (in Jamie’s opinion) is the addition of data tables https://github.com/pytest-dev/pytest-bdd/blob/master/CHANGES.rst#800---2024-11-14 Joke: Breaking: JavaScript Developer Commits to Framework for Record-Breaking 3 Weeks
    Show more Show less
    31 mins
  • #409 We've moved to Hetzner write-up
    Nov 14 2024
    Topics covered in this episode: terminal-treeposting: The API client that lives in your terminalExtra, extra, extraUV does everything or enough that I'm not sure what else it needs to doExtrasJokeWatch on YouTube About the show Sponsored by: ScoutAPM - Django Application Performance MonitoringCodeium - Free AI Code Completion & Chat Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday 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. Michael #1: terminal-tree An experimental filesystem navigator for the terminal, built with TextualTested in macOS only at this point. Chances are very high it works on Linux. Slightly lower chance (but non-zero) that it works on Windows. Can confirm it works on Linux Brian #2: posting: The API client that lives in your terminal Also uses TextualFrom Darren BurnsInteresting that the installation instructions recommends using uv: uv tool install --python 3.12 postingVery cool. Great docs. Beautiful. keyboard centric, but also usable with a mouse.“Fly through your API workflow with an approachable yet powerful keyboard-centric interface. Run it locally or over SSH on remote machines and containers. Save your requests in a readable and version-control friendly format.”Able to save multiple environmentsGreat colorsAllows scripting to run Python code before and after requests to prepare headers, set variables, etc. Michael #3: Extra, extra, extra spaCy course swag give-away, enter for freeNew essay: Opposite of Cloud Native is?News: We've moved to HetznerNew package: Introducing chameleon-flask packageNew release: Listmonk Python clientTIOBE UpdatePEP 750 – Template StringsCanary emailLeft Omnivore, for Pocket, left Pocket for, …, landed on Instapaper Supports direct import from Omnivore and PocketThough Hoarder is compellingTrying out Zen Browser Wasn’t a fan of Arc (especially now) but the news turned me on to Zen Brian #4: UV does everything or enough that I'm not sure what else it needs to do Jeff Triplett“UV feels like one of those old infomercials where it solves everything, which is where we have landed in the Python world.”“My favorite feature is that UV can now bootstrap a project to run on a machine that does not previously have Python installed, along with installing any packages your application might require.”Partial list (see Jeff’s post for his complete list) uv pip install replaces pip installuv venv replaces python -m venvuv run, uv tool run, and uv tool install replaces pipxuv build - Build your Python package for pypiuv publish - Upload your Python package to pypi, replacing twine and flit publish Extras Brian: Coverage.py originally was just one fileTrying out BlueSky brianokken.bsky.social Not because of Taylor Swift, but nice. There are a lot of Python people there. Joke: How programmers sleep
    Show more Show less
    35 mins
  • #408 python-preference only-managed 3.13t
    Nov 4 2024
    Topics covered in this episode: GitHub action security: zizmorPython is now the top language on GitHubPython 3.13, what didn't make the headlinesPyCon US 2025ExtrasJokeWatch on YouTube About the show Sponsored by: ScoutAPM - Django Application Performance MonitoringCodeium - Free AI Code Completion & Chat Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday 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: GitHub action security: zizmor Article: Ned Batchelder zizmor: William Woodruff & others“a new tool to check your GitHub action workflows for security concerns.”Install with cargo or brew, then point it at workflow yml files.It reports security concerns. Michael #2: Python is now the top language on GitHub Thanks to Pat Decker for the heads up.A rapidly growing number of developers worldwide This suggests AI isn’t just helping more people learn to write code or build software faster—it’s also attracting and helping more people become developers. First-time open source contributors continue to show wide-scale interest in AI projects. But we aren’t seeing signs that AI has hurt open source with low-quality contributions.Python is now the most used language on GitHub as global open source activity continues to extend beyond traditional software development. The rise in Python usage correlates with large communities of people joining the open source community from across the STEM world rather than the traditional community of software developers.There’s a continued increase in first-time contributors to open source projects. 1.4 million new developers globally joined open source with a majority contributing to commercially backed and generative AI projects. Notably, we did not see a rise in rejected pull requests. This could indicate that quality remains high despite the influx of new contributors. Brian #3: Python 3.13, what didn't make the headlines Some pretty cool updates to pdb : the command line Python debugger multiline editingcode completion pathlib has a bunch of performance updatespython -m venv adds a .gitignore file that auto ignores the venv. Michael #4: PyCon US 2025 Site is live with CFP and datesHealth code is finally reasonable: “Masks are Encouraged but not Required”PyCon US 2025 Dates Tutorials - May 14-15, 2025Sponsor Presentations - May 15, 2025Opening Reception - May 15, 2025Main Conference and Online - May 16-18, 2025Job Fair - May 18, 2025Sprints - May 19-May 22, 2025 Extras Brian: Please publish and share more - Jeff Triplett Michael: pre-commit-uv Just spoke with Sefanie Molin about pre-commit hooks on Talk PythonCurse you Omnivore!We have moved to hetzner Typora markdown appfree-threaded Python is now available via uv uv self update uv python install --python-preference only-managed 3.13t Joke: Debugging char
    Show more Show less
    31 mins

What listeners say about Python Bytes

Average customer ratings
Overall
  • 5 out of 5 stars
  • 5 Stars
    1
  • 4 Stars
    0
  • 3 Stars
    0
  • 2 Stars
    0
  • 1 Stars
    0
Performance
  • 5 out of 5 stars
  • 5 Stars
    1
  • 4 Stars
    0
  • 3 Stars
    0
  • 2 Stars
    0
  • 1 Stars
    0
Story
  • 5 out of 5 stars
  • 5 Stars
    1
  • 4 Stars
    0
  • 3 Stars
    0
  • 2 Stars
    0
  • 1 Stars
    0

Reviews - Please select the tabs below to change the source of reviews.

Sort by:
Filter by:
  • Overall
    5 out of 5 stars
  • Performance
    5 out of 5 stars
  • Story
    5 out of 5 stars

Great content for Python programmers

I've listened for years and am grateful for its content. If you listen, you'll learn much about Python, its ecosystem. and its contributors.

Something went wrong. Please try again in a few minutes.

You voted on this review!

You reported this review!