Dive into the complete episode list for Python Bytes. Each episode is cataloged with detailed descriptions, making it easy to find and explore specific topics. Keep track of all episodes from your favorite podcast and never miss a moment of insightful content.
Rows per page:
50
1–50 of 428
Pub. Date
Title
Duration
26 Aug 2024
#398 Open source makes you rich? (and other myths)
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:Git Town solves the problem that using the Git CLI correctly
Git Town is a reusable implementation of Git workflows for common usage scenarios like contributing to a centralized code repository on platforms like GitHub, GitLab, or Gitea.
Think of Git Town as your Bash scripts for Git, but fully engineered with rock-solid support for many use cases, edge cases, and error conditions.
Keep using Git the way you do now, but with extra commands to create various branch types, keep them in sync, compress, review, and ship them efficiently.
This means Python now has a lock file standard that can act as an export target for tools that can create some sort of lock file. And for some tools the format can act as their primary lock file format as well instead of some proprietary format.”
File name: pylock.toml or at least something that starts with pylock and ends with .toml
It’s exciting to see the start of a standardized lock file
git-who is a command-line tool for answering that eternal question: Who wrote this code?!
Unlike git blame, which can tell you who wrote a line of code, git-who tells you the people responsible for entire components or subsystems in a codebase.
You can think of git-who sort of like git blame but for file trees rather than individual files.
And watchgha- Live display of current GitHub action runs by Ned Batchelder
Been using mdformat on some upcoming projects including the almost done Talk Python in Production book. Command I like is mdformat --number --wrap no ./
uv tool install --with is indeed the pipx inject equivalent, but requires multiple --with's:
As a fellow uv enthusiast, I was still holding out for a use case that uv hasn't solved. However, after last week's episode, you guys finally convinced me to switch over fully, so I figured I'd explain the use case and how I'm working around uv's limitations.
I maintain a python library supported across multiple python versions and occasionally need to deal with bugs specific to a python version. Because of that, I have multiple virtualenvs for one project. E.g., mylib38 (for python 3.8), mylib313 (for python 3.13), etc. I don't want a bunch of .venv directories littering my project dir.
For this, pyenv was fantastic. You could create the venv with pyenv virtualenv 3.13.2 mylib313, then either activate the venv with pyenv activate mylib313 and create a .python-version file containing mylib313 so I never had to manually activate the env I want to use by default on that project.
uv doesn't have a great solution for this use case, but I switched to a workflow that works well enough for me:
Define my own central location for venvs. For me that's ~/v
Create venvs with something like uv venv --python 3.13 ~/v/mylib313
Add a simple function to my bashrc:
`workon() { source ~/v/$1/bin/activate } \ so now I can run \workon mylib313orworkon mylib38when I need to work in a specific environment. uv's.python-version` support works much differently than pyenv's, and that lack of support is my biggest frustration with this approach, but I am willing to live without it.
Do you Firefox but not Zen? You can now make pure Firefox more like Zen’s / Arc’s layout.
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.
I get it replaces pip/pyenv, but should I also use it instead of the built in 'python -m venv .venv'?
But I need python installed to make python programs?
Because it places the venv in the project folder and I can't run executables from there due to corporate policy. Many such cases. No idea why astral doesn't address this with more urgency.
Sounds like a bad corporate policy :)
i’m too lazy to switch from pyenv and pip
trust issues, what if they do a bait and switch …
Because everyone said that about poetry and I'm not sure I'm really ready to get hurt again.
Masochism
Many times I tried a lot of similar tools and always come back to pip and pip-tools. Them are just work, why should I spend my time for something "cool" that will bring more problems?
I tried this week but I was expecting a "uv install requests" instead of "uv add". Switched back to pipenv.
we partially use it. will transition when Dependabot support is available.
I’ll leave it with → Jared Scheel: Seeing a whole lotta Stockholm Syndrome in the replies to this question.
“This is not a book about programming Python. Instead, the goal of this book is to help you understand the ecosystem of tools used to make Python development easier and more productive”
Covers tools related to packaging, linting, formatting, and managing dependencies.
marimo allows you to store notebooks as plaintext Python files
properties
Git-friendly: small code change => small diff
easy for both humans and computers to read
importable as a Python module, without executing notebook cells
executable as a Python script
editable with a text editor
Also, … testing with pytest
“Because marimo notebooks are just Python files, they are interoperable with other tools for Python — including pytest. “
“Testing cells. Any cell named as test_* is automatically discoverable and testable by pytest. The same goes for any cell that contains only test_ functions and Test classes.”
“Importantly, because cells are wrapped in functions, running pytest test_notebook.py doesn’t execute the entire notebook — just its tests.”
I'm sure some other Hacker News reader has already given you the feedback, but in the unlikely case that they haven't, You read those headlines in this segment exactly wrong.
“Ask HN: Who is hiring?" is a monthly post that asks employers to post
about jobs they have available
“Ask HN: Who wants to be hired?” is a monthly topic where they ask
people who are looking for jobs to post about themselves in the hope
that their skillset it is a good match (and not an LLM generated resume)
So unfortunately your rosy analysis might need a less rosy
interpretation.
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.
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.
A tool for Python developers to easily debug the HTTP(S) client requests in a Python program.
To use it, execute your program using the pyhttpdbg command instead of python and that's it. Open a browser to http://localhost:4909 to view the requests
“the Python Packaging Index (PyPI) has officially begun accepting and distributing pre-compiled binary packages, known as "wheels," for both iOS and Android platforms. “
Next up, “cibuildwheel Updates Are in Progress to Simplify iOS and Android Wheel Creation”
And apparently me being wrong was a great to get at least one person to blog more.
Cheers Filip Łajszczak
Michael:
Tea pot follow up
While you're right that some software actually had this implemented, Python does not. It's not an officially accepted HTTP status code, it was proposed in a 'joke' RFC. I guess Python - even though its name comes from the funny TV series Monty Python - is not so funny. httpx, your (or at least -my-) favorite HTTP module for python, does have the I_AM_A_TEAPOT constant.
By the way, there are some HTTP status codes that changed their names in RFC 9110, for instance, http.HTTPStatus.UNPROCESSABLE_CONTENT (422, previously UNPROCESSABLE_ENTITY)
See the full show notes for this episode on the website at pythonbytes.fm/66
Enhance your understanding of Python Bytes with My Podcast Data
At My Podcast Data, we strive to provide in-depth, data-driven insights into the world of podcasts. Whether you're an avid listener, a podcast creator, or a researcher, the detailed statistics and analyses we offer can help you better understand the performance and trends of Python Bytes. From episode frequency and shared links to RSS feed health, our goal is to empower you with the knowledge you need to stay informed and make the most of your podcasting experience. Explore more shows and discover the data that drives the podcast industry.