Hi all,
I’m going to join in the AMA for packaging council nomination too. You can see my statement here: Nominee for 2026 Python Packaging Council Election | Python.org. It’s pretty light-weight, though, so hopefully this will be a chance to cover anything you’d like to ask me about.
If we haven’t met (either digitally or at PyCon/SciPy, etc), I’m a Princeton Research Software Engineer (RSE) and maintainer on lots of packages (see https://iscinumpy.dev) for PyPA (packaging, cibuildwheel, build, etc.), scikit-build (scikit-build-core, cmake, ninja, dynamic-metadata), pybind (pybind11 and it’s examples), scikit-hep (High Energy Physics, if you are curious; my focus there is on histogramming and supporting the ecosystem, especially compiled packages), and a smattering of other packages, like nox, flake8-lazy, and plumbum. I also wrote most of the Scientific-Python development guide, the current iteration of the packaging tutorial (with the tabs), PEP 808, and quite a bit of other course / workshop material. I also maintain quite a few conda-forge packages.
My interests are, roughly sorted:
- Security: I’m very interested in securing and protecting our maintainers. See the work in sp-repo-review, and I’ve got more plans too!
- Ease of use: I’ve worked extensively to make getting things that are hard (compiled extensions for Python) easy to approach for newcomers (pybind11 + scikit-build-core + cibuildwheel, for example). I also teach extensively. Getting started should be easy.
- Scaling up: Making sure tools (like cibuildwheel and scikit-build-core) that start simple are able to handle the demands of large packages like PyTorch via thoughtful configuration
- Enabling power users: We should enable the hardest use cases without punishing beginners. I’m very excited about wheel variants (experimental support is in scikit-build-core 1.0), default extras, etc. People should be able to choose and not be forced.
- Performance: Faster is better. uv is great, but if we can speed up the native tools too, everyone benefits regardless of the tool they pick. See my performance post on packaging, for example.
- Minimal churn: Things that work should continue to work unless there isn’t any other way to go forward. See scikit-build-core’s minimum version setting, which when set keeps a package building identically on future versions of scikit-build-core. If we break stuff, there should be a deprecation period and warnings.
Feel free to ask me anything! (though I’m about to travel a bit, so be patient for answers after Monday.
)
Handy link: Announcing the Packaging Council Election Candidates for 2026! | Python Insider