Ned Batchelder
banner
nedbat.com
Ned Batchelder
@nedbat.com
Python, Boston, mathy fun, juggling, autism parenting. https://nedbat.com
Forget about supporting the PSF, too abstract.

Pip installs from PyPI. It would be bad if `pip install` stopped working. Support the org that runs PyPI.

Surprise, it's the PSF! Your company depends on #Python. You want it to keep working and keep being good.

python.org/psf/sponsors/
Python Software Foundation Sponsors
The official home of the Python Programming Language
python.org
November 5, 2025 at 6:49 PM
Boston Python is a good place to connect with people and even have have non-technical discussions:
nedbatchelder.com/blog/202510/...
Side project advice
A chat about side projects from a Boston Python project night: choose your paths and forgive yourself.
nedbatchelder.com
October 30, 2025 at 12:21 PM
Nice! My coverage dropped from 94.370% to 94.366%!
(I deleted code that had been covered, but was no longer needed)

github.com/nedbat/cover...

github.com/nedbat/cover...
test: no longer need to support multiple 'lines' · nedbat/coveragepy@f8f3edc
Since 3.10 is our minimum, and it conforms to PEP 626, we know what lines will be reported, and don't need multiple options.
github.com
October 29, 2025 at 12:08 PM
Reposted by Ned Batchelder
TLDR; The PSF has made the decision to put our community and our shared diversity, equity, and inclusion values ahead of seeking $1.5M in new revenue. Please read and share. pyfound.blogspot.com/2025/10/NSF-...
🧵
The official home of the Python Programming Language
www.python.org
October 27, 2025 at 2:47 PM
I'm writing letters to defend democracy, how are you spending your day? votefwd.org
October 25, 2025 at 5:13 PM
If you can go out to a march, you can spend an hour writing letters to encourage voters. votefwd.org
Vote Forward
Vote Forward volunteers send heartfelt handwritten letters to unregistered and low-propensity voters encouraging them to participate in our democracy. The letters have been shown to significantly boos...
votefwd.org
October 22, 2025 at 10:14 AM
Vote Forward is running letter-writing campaigns to US voters. votefwd.org
Does it help? Not sure. Doom-scrolling doesn't!
Vote Forward
Vote Forward volunteers send heartfelt handwritten letters to unregistered and low-propensity voters encouraging them to participate in our democracy. The letters have been shown to significantly boos...
votefwd.org
October 14, 2025 at 3:53 PM
I learned a few algorithms for generative art, you can too:
nedbatchelder.com/blog/202509/...
Hobby Hilbert Simplex
An exploration and explanation of how to generate interesting swoopy art
nedbatchelder.com
September 26, 2025 at 12:19 PM
People should spend less time learning DSA, more time learning testing.

nedbatchelder.com/blog/202509/...
Testing is better than DSA
People should spend less time learning DSA, more time learning testing.
nedbatchelder.com
September 22, 2025 at 4:13 PM
Vote Forward is running letter-writing campaigns to US voters. votefwd.org
Does it help? Not sure. Doom-scrolling doesn't!
Vote Forward
Vote Forward volunteers send heartfelt handwritten letters to unregistered and low-propensity voters encouraging them to participate in our democracy. The letters have been shown to significantly boos...
votefwd.org
September 19, 2025 at 12:07 PM
My wife's latest for Psychology Today. That's me in the pic, about 22 years ago..

www.psychologytoday.com/us/blog/all-...
A Lifetime of Autism and Summer Vacations
Personal Perspective: As empty-nesters, we can go anywhere, do anything. But in the summer, we don't. We go to that same rental, even though it is way too big for just the two of us.
www.psychologytoday.com
August 25, 2025 at 2:23 PM
Thanks to an amazing contribution by Alex Gaynor, `coverage combine` is now twice as fast! Not released yet, but give it a try and report back.
python3 -m pip install git+https://github.com/nedbat/coveragepy
August 19, 2025 at 2:07 PM
Reposted by Ned Batchelder
Love it! And stacking parametrize for combinations is cool, too!
August 13, 2025 at 12:12 PM
The pytest.mark.parametrize feature is amazing, and more people should use it, especially people new to writing #Python tests. But it looks scary. I wrote an explainer: nedbatchelder.com/blog/202508/...
Starting with pytest’s parametrize
Pytest’s parametrize feature is powerful but it looks scary. I hope this step-by-step explanation helps people use it more.
nedbatchelder.com
August 13, 2025 at 11:09 AM
I fixed a handful of issues with the new `patch = subprocess` feature in coverage․py. Try 7.10.3 and let me know how it goes!

coverage.readthedocs.io/en/7.10.3/ch...
Change history for coverage.py — Coverage.py 7.10.3 documentation
coverage.readthedocs.io
August 11, 2025 at 1:16 PM
Every puzzle contains another puzzle: how was it constructed? The game Flow Free asks you to find the paths to connect same-colored dots on a grid. How are these layouts created?
August 7, 2025 at 5:08 PM
You are a treasure, and I hope you have someone who treasures you.
July 31, 2025 at 2:03 PM
"Coverage is one of those tools that's just silently awesome."

news.ycombinator.com/item?id=4472...
Coverage.py Regex Pragmas | Hacker News
news.ycombinator.com
July 29, 2025 at 5:51 PM
Did you know you can write your own regexes to exclude code from coverage.py measurement?

nedbatchelder.com/blog/202507/...
coverage.py
July 28, 2025 at 11:21 PM
A few more words about the new `patch` option in coverage․py 7.10:
"The latest release of Coverage feels like a Christmas present!"

nedbatchelder.com/blog/202507/...
Coverage 7.10.0: patch
Coverage 7.10 has some significant new features that have solved some long-standing problems.
nedbatchelder.com
July 25, 2025 at 11:16 AM
Reposted by Ned Batchelder
@nedbat.com The latest release of Coverage feels like a Christmas present! The native support for Python subprocesses is so good! Thank you for all of it 🙏🏻
July 24, 2025 at 8:40 PM
In #Python, why is `reversed(range(...))` different than `range(...)`?
nedbatchelder.com/blog/202507/...
2048: iterators and iterables
Making a simple game, I waded into a classic iterator/iterable confusion.
nedbatchelder.com
July 15, 2025 at 12:20 PM
What's the best way these days to get nightly builds of #Python versions? I have deadsnakes in the coverage․py nightly action, but some of the builds are over two weeks old and I don't know why. Would pyenv be better? uv?

Anyone have an example working well for me to copy^H^H^H^H be inspired by?
June 30, 2025 at 2:28 PM
Reposted by Ned Batchelder
For Open Path № 2, I talked to @simonwillison.net, @nedbat.com, and five other maintainers to understand the Open Source burnout crisis from their point of view. The dream? Financial support w/o hoops!

Full episode: www.youtube.com/watch?v=VTY-...
June 27, 2025 at 4:17 PM
Are you in Boston and want to hang with #Python people? Boston Python's project & collaboration night is June 24th. It's an informal gathering to talk together, work together, learn from each other, network, whatever. Tell your friends :)

www.meetup.com/bostonpython...
Project & Collaboration Night, Tue, Jun 24, 2025, 6:00 PM | Meetup
Bring a laptop. Bring ideas. Bring questions. Bring enthusiasm. Bring friends. The Boston Python Project & Collaboration Night is a time to find others with compatible inte
www.meetup.com
June 17, 2025 at 3:33 PM