Topics covered in this episode:
- Free-threaded Python: past, present, and future
- django-admin-site-search
- Qwen 3.6 27B is the sweet spot for local development
- A large batch of PEPs are finalized
- Extras
- Joke
Show Intro
Sponsored by us! Support our work through:
- Our courses at Talk Python
- Consulting from Six Feet Up Connect with the hosts
- Michael: Mastodon / BlueSky / X / LinkedIn
- Calvin: Mastodon / BlueSky / X / LinkedIn
- Show: Mastodon / BlueSky / X Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesday at 7am 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.
Calvin #1: Free-threaded Python: past, present, and future
- The GIL has prevented true multi-threaded parallelism in CPython since the beginning — multiple past attempts to remove it failed on performance grounds
- Sam Gross at Meta finally solved it; his work became PEP 703 and ships as free-threaded CPython today
- Python 3.13 was experimental with 20–40% single-threaded slowdown; 3.14 brought that to 0–10%
- Python 3.15 (October 2026) delivers a unified ABI — one extension binary works on both GIL and free-threaded builds
- Already >50% of the top PyPI binary wheels support free threading
- Wouters predicts free-threaded becomes the default between 3.16–3.20 (2027–2031), with the GIL eventually disappearing next decade
Michael #2: django-admin-site-search
- via Adam Parkin
- A global/site search modal for the Django admin, by Ahmed Aljawahiry. Hit cmd+k anywhere in the admin and you get a command-palette-style search window, kind of like the one in VS Code.
- It doesn't just search one model's list page. It searches your entire site in one box:
- App labels
- Model labels and field attributes
- Actual model instances (your data)
- Two ways to search the instances:
- model_char_fields (the default): runs an __icontains across every CharField (and subclasses) on the model. Zero config, works out of the box.
- admin_search_fields: defers to each ModelAdmin's existing get_search_results(), so it respects the search_fields you've already set up.
- The part I like: it's permission-aware out of the box. Users only see results for the apps and models they actually have view permission on, so you're not leaking anything through search.
- Results appear as you type, with throttling/debouncing so you're not hammering the server on every keystroke, and it's full keyboard nav: cmd+k to open, up/down to move, enter to go.
- It's responsive, does dark and light mode, and it pulls Django's built-in admin CSS variables so it just matches whatever admin theme you're running.
- Under the hood it's Alpine.js, but bundled into static so there's no external CDN dependency.
- Setup is about what you'd expect: pip install django-admin-site-search, add it to INSTALLED_APPS, mix the AdminSiteSearchView into your AdminSite, and drop a few template includes into base_site.html.
- Supports Python 3.8 through 3.14 and Django 3.2 through 6.0, MIT licensed, and everything is overridable if you want to skip certain models, add TextField matching, etc.
Calvin #3: Qwen 3.6 27B is the sweet spot for local development
- Qwen 3.6 27B is being called the first local model that genuinely competes as a general-purpose intelligence — benchmarks put it at roughly mid-2025 frontier level (comparable to GPT-5 / Claude Sonnet 4.5)
- Runs locally via llama.cpp; on an M5 MacBook Max with 8-bit quantization + multi-token prediction, it hits ~32 tokens/sec using ~42GB RAM
- 4-bit quantization gets it under 18GB, runnable on 32GB devices; Nvidia RTX cards run it even faster
- The dense 27B is recommended over the faster MoE 35B A3B — author prefers higher quality output over raw speed
- Privacy and reliability are the pitch: fine-tunable, can't be taken down, suitable for sensitive/proprietary data
- Author sees this as a stepping stone — frontier open-weight models like GLM 5.2 are now locally runnable with company-grade hardware, and smarter-still local models are coming
Michael #4: A large batch of PEPs are finalized
- A bunch of PEPs went from accepted to final.
- 668, 687, 691, 699, 701, 703, 728, 770, 773, 829
- But this wasn’t them making their way into CPython. It’s an admin sorta thing. (Thanks PyCoders)
- See the commit.
Extras
Calvin:
- More fun bling for your terminal this time - https://charm.land/
Michael:
- Follow up from pls, What the pls? Thanks Pito.
Joke: BEMoji
- A production-grade utility and component framework built entirely on emoji class names
- via Jeff Triplett
Information
- Show
- FrequencyUpdated weekly
- Published30 June 2026 at 08:00 UTC
- Length30 min
- Episode486
- RatingClean
