414 avsnitt • Längd: 30 min • Veckovis: Tisdag
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.
The podcast Python Bytes is created by Michael Kennedy and Brian Okken. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
About the show
Sponsored by us! Support our work through:
Connect with the hosts
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: New project to shorten django-admin to django because we are not monsters
Michael #2: django-unicorn: The magical reactive component framework for Django
Brian #3: Testing some tidbits
Michael #4: The State of Python 2024 article
Extras
Brian:
Michael:
Joke:
About the show
Sponsored by us! Support our work through:
Connect with the hosts
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: jiter
Brian #2: A new home for python-build-standalone
Michael #3: moka-py
Brian #4: uv: An In-Depth Guide
Extras
Brian:
Michael:
Joke: Inf
About the show
Sponsored by us! Support our work through:
Connect with the hosts
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: Loop targets
Here’s the snippet:
params = {
"query": QUERY,
"page_size": 100,
}
*# Get page=0, page=1, page=2, ...*
**for** params["page"] in itertools.count():
data = requests.get(SEARCH_URL, params).json()
**if** not data["results"]:
**break**
...
Ned is utilizing the assignment in the for loop to use the value of count() and store it into the params["page"].
Michael #2: asyncstdlib
Brian #3: Bagels: TUI Expense Tracker
“Bagels expense tracker is a TUI application where you can track and analyse your money flow, with convenience oriented features and a complete interface.
Why an expense tracker in the terminal? I found it easier to build a habit and keep an accurate track of my expenses if I do it at the end of the day, instead of on the go. So why not in the terminal where it's fast, and I can keep all my data locally?”
Who hasn’t wanted to write their own expense tracker?
Michael #4: rloop: An AsyncIO event loop implemented in Rust
Extras
Brian:
Michael:
Joke: CTRL + X onion
About the show
Sponsored by us! Support our work through:
Connect with the hosts
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: Talk Python rewritten in Quart
Brian #2: PyPI now supports digital attestations
Michael #3: Django Rusty Templates
Brian #4: PEP 639 is now supported by PYPI
Examples license field
[project]
license = "MIT"
[project]
license = "MIT AND (Apache-2.0 OR BSD-2-clause)"
[project]
license = "MIT OR GPL-2.0-or-later OR (FSFUL AND BSD-2-Clause)"
[project]
license = "LicenseRef-Proprietary"
Examples of license-files
:
[project]
license-files = ["LICEN[CS]E*", "AUTHORS*"]
[project]
license-files = ["licenses/LICENSE.MIT", "licenses/LICENSE.CC0"]
[project]
license-files = ["LICENSE.txt", "licenses/*"]
[project]
license-files = []
Extras
Brian:
Michael:
Joke: curl - heavy metal style!
About the show
Sponsored by us! Support our work through:
Connect with the hosts
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
Michael #2: futurepool
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.
Brian #3: Don't return named tuples in new APIs
Michael #4: Ziglang: Migrating from AWS to Self-Hosting
Extras
Brian:
Michael:
Joke: Breaking: JavaScript Developer Commits to Framework for Record-Breaking 3 Weeks
About the show
Sponsored by:
Connect with the hosts
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
Brian #2: posting: The API client that lives in your terminal
Michael #3: Extra, extra, extra
Brian #4: UV does everything or enough that I'm not sure what else it needs to do
Extras
Brian:
Joke: How programmers sleep
About the show
Sponsored by:
Connect with the hosts
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
Michael #2: Python is now the top language on GitHub
Brian #3: Python 3.13, what didn't make the headlines
Michael #4: PyCon US 2025
Extras
Brian:
Michael:
uv self update
uv python install --python-preference only-managed 3.13t
Joke: Debugging char
About the show
Sponsored by us! Support our work through:
Connect with the hosts
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: Python 3.14.0 alpha 1 is now available
Brian #2: uv supports dependency groups
$ uv init # create a pyproject.toml
$ uv add --group foo pytest
$ uv venv # create venv
$ uv sync --group foo # will install all dependencies, including group "foo"
Michael #3: dive: A tool for exploring each layer in a docker image
Brian #4: pytest-metadata
Extras
Brian:
Michael:
Joke: Dog names
About the show
Sponsored by ScoutAPM: pythonbytes.fm/scout
Connect with the hosts
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: Open Source Pledge
Michael #2: Jeff Triplet's DjangoTV
Brian #3: PEP 735 – Dependency Groups in pyproject.toml
ex:
[dependency-groups]
test = ["pytest", "coverage"]
docs = ["sphinx", "sphinx-rtd-theme"]
typing = ["mypy", "types-requests"]
typing-test = [{include-group = "typing"}, {include-group = "test"}, "useful-types"]
“might” work like this: pip install --dependency-groups=test,typing
Michael #4: livereload
Extras
Brian:
Michael:
Joke:
About the show
Sponsored by ScoutAPM: pythonbytes.fm/scout
Connect with the hosts
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: Briefer: Dashboards and notebooks in a single place
Brian #2: Introduction to programming with Python
Michael #3: setup-uv
Brian #4: HTML for people
Extras
Michael:
Joke: So much O’Really
About the show
Sponsored by ScoutAPM: pythonbytes.fm/scout
Connect with the hosts
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: Python 3.13.0 released Oct 7
Michael #2: PEP 759 – External Wheel Hosting
Brian #3: pytest-freethreaded
Michael #4: pytest-edit
pytest --edit
to open the failing test code Extras
Michael:
Joke: Funny 404 pages
.env
files?python -m pip
changedir
to avoid the need for src
flupy
and asq
)***pip thank**
else
in Python LoopsEn liten tjänst av I'm With Friends. Finns även på engelska.