scikit-build-core 1.0

Scikit-build-core 1.0, the culmination of a four year project to build the best compiled code backend for Python, is out. It’s a huge release, with over 90 bugs fixed, over 40 new features, accounting for over a hundred closed issues. This is the completion of my original vision, and I’m really happy with it. I’d like to show off some of the new features, and also discuss some of the last four months of development that made this possible. This is all in time for SIMPLE-Py, the workshop I’m hosting next week over Python packaging alongside SciPy 2026.

[Read More]
Categories: Python  Tags: programming python cmake scikit-build ai 

Claude Code Reviews with Fable

Fable came out and then disappeared a couple of days later. In that short time, I managed to run a lot of repository reviews with it, and was really happy with the results. I’ve found and fixed around 400 bugs and 400+ other issues (performance, simplifications, modernizations) across dozens of my projects, making several hundred PRs with a nearly 100% merge rate on decided PRs.

[Read More]
Categories: Python  Tags: programming python ai 

Starting With Agentic AI

AI suddenly passed the “more time saved than spent” point around December 2025. A little late, I’ve finally started using agentic AI in various places over the last 2-3 months, and wanted to jot down my thoughts on what works, what doesn’t (yet?), and what the future might look like. If you are curious about AI for programming, or have been skeptical in the past, if “AI slop” is the first thing that comes to mind, this post will show you some ways that AI can be really helpful. Certain tasks have been completely transformed. Notice, I said “some”, not “all”! But it is a lot.

[Read More]
Categories: Python  Tags: programming python ai 

Working to make Python lazy

Python 3.15a7, which is now just a uv python install 3.15 away on all major platforms, has lazy imports! This exciting feature, proposed in PEP 810, promises to make CLI applications faster (especially when using flags like --help), and could make a lot of large code with lots of imports that don’t always get used faster too. Unlike the earlier, failed attempt, this requires libraries to put in some work. I’ve developed a helper tool to make it easy; I’d like to cover what lazy imports are and how to use my tool. Since this is the first library that I used AI heavily in developing, the second half of the post will cover how my experience with AI for a task like this went.

TL;DR: run uvx flake8-lazy --apply=list to make your code magically faster on Python 3.15!

[Read More]
Categories: Python  Tags: programming python ai